I've been doing this for 16+ years and I have never asked the type of questions you encounter in these books. Not even once.
I've been doing this for 16+ years and I have never asked the type of questions you encounter in these books. Not even once.
At many companies, successfully recognizing the pattern isn't going to be enough to pass the interview. You have to implement a working solution.
I try to avoid those sorts of questions, but it's hard for me to come up with better alternatives.
I try to work on soft skills during the interview, I found those to be way more important than knowing to invert a tree.
How does one converse through a problem? How would you go about solving this bug.
I usually do something really simple like
logMessage(from, to, content) {} searchMessageBySender(senderName) {} getMessages() {}
Have the candidate fill in the interface and walk through what the choices are and what are the ups/downs of their solution.
- it's not too short or too long
- there's no trick, it's just a matter of being thorough
- it's pretty concrete (modern languages have that in their standard lib) and/or might actually come up someday in your day-to-day job
And in my opinion, what matters even more is that your full round of interviews shouldn't be just 5 slots of algo questions. One or two should be enough. I like combinations of a take-home challenge (keep it short!), pair programming sessions and architecture / systems design discussions.
They are a ( maybe unintentional ) dog-whistle for coming a wealthy background which means you will fit right into the cultures at these sorts of places.
Learning to program takes a lot of privilege. Look up the stats for how many google SWE's do not have degrees / where they come from.
Whaa? It takes a computer. Beyond that hurdle, I dunno what privilege is involved. It'd say it takes persistence more than privilege. I grew up quite poor, bad family, dropped out of college (due to bad family), learned cs on the internet, now work at a FANG corp.
Thinking there's some wealthy background bias is bizarre to me. When you've got 300k+ people in an organization, you acquire people from all walks of life / countries / backgrounds.
To me this reads that the questions are intended to narrow the candidate pool down to people with an abundance of time to devote to studying, which is certainly one type of privilege, but is not necessarily the same as a wealthy background.