4 ms·
I know this is a super-unpopular opinion these days, but... Why can't you program the simple problems that interviewers use for whiteboard coding without Stack
by moron4hire 9y ago
I know this is a super-unpopular opinion these days, but...
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 https://twitter.com/mxcl/status/608682016205344768
- srdev 9y agoI'm with you on this one. I understand frustration at "trick" problems or problems that make use of little-known algorithms or approaches. But there seems to be this sentiment that doing basic traversal and manipulation on data structures like a tree is burdensome. I simply can't trust in your abilities as a software developer if you need Stack Overflow to traverse a tree. You do need some fluency with basic data structure and algorithms, along with the ability to adapt them, in order to do non-trivial software development.
- pjmlp 9y agoI fully agree with you, and that was my point. 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.
- moron4hire 9y ago> 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.
- pjmlp 9y agoEnterprise consulting for Fortune 500 companies, working with distributed teams that scale from a few developers up to a few hundreds. 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.
- moron4hire 9y agoWhat does any of that have to do with "not using algorithms"?
- pjmlp 9y agoDepends if the whiteboard questions are how to implement a hash table, or a B+ Tree sorting algorithm directly on hard disk minimizing read/writes per node, while constrained to a specific amount of RAM. 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.