To the people who say spending "4 hours is more like 6-8 hours and it is unreasonable":
- How is this any different than spending an unreasonable amount of time studying balancing binary trees and similar trivial whiteboarding problems?
I'm of the opinion that studying all these variations of the algorithm problems is a bigger time-sink and waste of time than getting into the habit of problem solving a take-home project.