Interviews have more to do with signaling than actual ability to do the job, in all the dimensions that are necessary.
Doing well on CS puzzles is and probably still be required for a long time to come. More of a hazing ritual. What I think should be allowed is for the interviewee to pose the same kind of ridiculous question to the interviewer, if the interviewer fails, the candidate takes their job.
This doesn't align with my experience. I just interviewed with Amazon a few days ago, just testing the waters to see what's going on in the rest of the world, and it was very 'leetcode'-ish. So much so that I ended up just telling the recruiter I wasn't interested in the position anymore. One question more or less required me to code up a BST from scratch and traverse it. I felt like I was back in my undergraduate algorithms class.
If I ever really needed another job, I guess I'd have to suck it up and refresh myself on that stuff. That's a shame.
Is coding a BST and traversing it that big a deal?
I routinely code tree traversals at my work, so my judgement may be clouded here, so I am genuinely curious here to know if most people here think that it is unreasonable to expect someone to code a BST from scratch.
In my opinion, BSTs are one of the easier things in programming, with a complexity that is maybe only a little above a for-loop. Most often, in real world, the more complex stuff happens in the business logic, or API contracts, or that sort of thing outside tree traversals.
Yes, I think you're lucky to be in a somewhat unusual position that let's you regularly work with problems like that.
I'm merely a junior level developer working on database engines. Most of my day-to-day involves maintenance of decades old code where the 'hard problems' have long been solved. I imagine my codebase ancestors might have needed thorough knowledge of trees at some point :)
Exactly. That's the name of the game today: You need to spend a week refreshing your algorithms and data structures and you can certainly "crack" those interviews.
I never got the point of it, but I see it as a ritual...
The grass is always greener. I switched to software dev from academia. There, instead of whiteboard tests, it was all about networking, letters of recommendation, having the right advisor, etc. I'll take the whiteboard any day!
Good point. Someone was making an argument the other day that a whiteboard algorithm interview is still relevant as it proves that you are able to sit down and learn your algorithms again. (Basically it proves that you are able to learn when needed).
Doing well on CS puzzles is and probably still be required for a long time to come. More of a hazing ritual. What I think should be allowed is for the interviewee to pose the same kind of ridiculous question to the interviewer, if the interviewer fails, the candidate takes their job.