It's the standard Tam route that starts with some mileage in the city and then the Marin Headlands before hand.
http://www.bikely.com/maps/bike-path...am-with-warmup
Hills in the city include Arguello, Clayton, Twin Peaks Blvd, Dalewood Way. The route goes up the hill by the Cliff house but to get in some more steep hills it would be better to make a right at Balboa, left at 47th, right at Sutro Heights, left at 46th, then up to Clement where the route continues. 34th ave up to the Legion of Honor, a quick horseshoe up Pershing Dr, and ending with the climb up Lincoln Blvd. After Dalewood there is a lot of downhill and plenty of time to recover before climbing again by Ocean Beach.