Cynical answer though — Google does not want people like you. They don't want to hire entrepreneurs or inventors. They want people who can churn out code when given specific instructions, and that is what their interview process optimizes for.
Before joining, I had endless enthusiasm for computer science and programming. Now I feel so unenthusiastic that I question my future in this industry.
Unless one takes extraordinary steps to examine what brings truly brings value, most people interview for clones of themselves. Or worse: their idealized self-image.
Google started off with very mathy people, and highly competitive people, and interviewing this way has always worked for them, so why change?
Some people have done internal studies showing how wildly counterproductive their interview process is, and yet it does not change.
I suspect psychological factors are the main reason why this process persists.
Honestly I don't think it's that cynical - it just makes sense. There are the people who can and will do that stuff - and do it happily - and they would presumably be the easiest to hire as junior devs. Google views it as a stepping stone towards their next product launch, and the programmers see it as a stepping stone to a more enjoyable job.
And then the inventors and entrepreneurs create their own projects, and typically both produce and earn more than they would've at the company.
It kind of works out in everyone's best interest (although I'm sure the Google hiring managers sometimes regret missing out on the guy who invented New Cool Thing, and the guy that invented New Cool Thing is probably still a bit miffed that he couldn't land or get through an interview for a job he/she was clearly qualified for).
I think the reason is a bit different.
Google is a search engine. It's a company whose success was due to one (or several) but very good algorithm.
That explains everything: why they are so obsessed with algorithms, why they hire so much olympics winners, why they don't care about anything else.
Their code is pretty bad most of the time, they've took beautiful Webkit and turned it into Blink mess. They are all about algorithms, they don't care about code.
And that's a pity that people are copying Google's methodology without understanding why Google is doing so. If you are developing an OS, you'd be better copying Microsoft, which had much of a different approach, nearly without any algorithm questions.
Somehow I doubt that. Can anyone who actually works at google comment on what it's like? Do people come to you with specific requirement and expect you to crank out code like the interview problems?
I've never worked somewhere where the software folks were actually just coding machines.
Brian Acton, rejected by Facebook in 2009. Then in 2014 FB acquired his company for $19B...
The reasoning for this is the commoditization of software hiring. The idea is to target the median of the bell curve, to lower risks and costs associated with hiring. This targets the greatest quantity of developers in a moment, but it also means the people who play it safe, follow popular trends, and don’t take any risks on product improvements.
To think about it another way the idea is to create mediocre software with mediocre developers because the software is thought to cost less than finding, hiring, and retaining top quality people.
Edit: it's unfair to single Google out. It's unfortunately the correct game theory and impossible to regulate.
It’s far from universal, but the incentives between managers, workers, and shareholders never really align that well.