> * take home assignments where they say "we recommend you to not spend more than x hours on this", but then, they expect a very sophisticated work and will reject you if you turn-in a "simple" implementation. Maybe they expect speed and quality?

I never finished a take-home assignment within the given time frame. Once I even spent a whole weekend working on a solution to something that was described as a 2h problem. I feel it's just a way for the companies to make it look like it's a small commitment and they are not wasting your time excessively. If you decide to spend 2 days instead of 2 hours then "it's on you" ... But if you don't you'll fail.