I don't mind, though. I don't understand why people can't do whiteboard code. It's usually super simple stuff yet people get caught up on things like not remembering that for-loops take three parameters. I mean, yes, the compiler will stop you. But just how long have you been doing this job that you can't do THAT one in your sleep?
What I did mind about Amazon was that clearly they were lying to me about the expectations of overtime, as well as the compensation package was ludicrously bad.
Why can't you program the simple problems that interviewers use for whiteboard coding without Stack Overflow?
It's not even like interviewers are looking for syntax-perfect code (which you wouldn't need Stack Overflow for anyway, the compiler is what catches that for you). I've never had an interviewer that would quibble over a missed semi-colon here or there. Hell, most of the time I end up using "begin/end" style pseudo-code instead of curly-braces, because curly-braces are stupidly hard to draw well on a whiteboard.
And even if you don't know off the top of your head what "invert binary tree" means, every interviewer I've ever had has been more than willing to answer any questions I have about the problem. Ask questions about requirements and you should be able to figure it out. If, once you know what the inputs and outputs of "invert binary tree" should be and you still can't do it, I seriously gotta question what the hell you're doing interviewing for the job of programmer. I once passed an interview for a job I wasn't even applying for, even though I didn't know off the top of my head what "LRU cache" meant, by asking enough questions ("oh, LRU means least-recently used? Well then, something like this?")
I tend to think of whiteboard coding problems as being ineffective for interviewing because the problems are so simple. To me, anybody should be able to solve these problems. I know a lot of people can't, and this serves as a quick filter to winnow them out. But they are so ludicrously easy I just don't get how you can say you need Stack Overflow to solve these problems.
I'm with Jonathan Blow on this one: https://twitter.com/mxcl/status/608682016205344768
Current generation developers don't seem to be able to program without doing "Stack Overflow driven programming".
So when you put them in front of a whiteboard, it is like their knowledge just vanished.
Now, what I am fully against is the complete disregard for the work experience of what one might have and reduce it to Data Structures & Algorithm exercises that many haven't done in several years, eventually decades.
This is the part I don't understand. What is your job that you never do anything related to data structures or algorithms?
I'd like to know so I can stay away from such jobs. I just can't imagine being happy with such a dead-end job that doesn't require me to think of solutions to problems. If these jobs can be done by any monkey with a brute-force approach, then let any monkey do them. I've got better things to do.
Sometimes there are actually cool projects, no issues with licenses for the likes of Oracle servers or Visual Studio Ultimate.
Also I do get to enjoy life outside work with the people that actually matter to me.
Downsides, well there are lots of politics, social skills matter as much as coding skills, sometimes projects go really wrong.
Writing B+ Trees in such scenarios is not something that one does on daily enterprise coding.
Yes, I had that question done to me at Google, on a phone interview.
If you don't know math, you can't argue you don't need it. You obviously never learned to use the tools available to you, so you don't know what you're missing out on.
Just I don't need to use most of it for doing enterprise CRUD applications.
I am speaking in general for others and the current state of the industry, I seldom failed any whiteboard exercise.
Even spoofed on a recent Silicon Valley episode.
With all due credit to him, I am not too sure the enormous success of Java was due to language excellence or massive marketing expense by Sun and Oracle.