- They may not have formal education, you can't judge on that.
- They may not have active GitHub projects, you can't judge on that.
- They may not be active on social media or have any kind of fame, you can't judge on that.
- They may not have built anything they can show off like this `Find` app, you can't judge on that.
So what can you judge them on? LC makes that pretty simple: "can they answer some standardised questions about algorithms and data structures, showing that they have at least some basic knowledge of what's going on in computers?"
It's not without downsides, but I also struggle to see a better option that can scale to the armies of devs that Amazon, Google, etc, all hire.
As a grizzled veteran, I LOVE System Design interviews. I love giving them and I love taking them. At large companies, System Design is definitely part of the process. In the world of FAANG, multiple coding rounds with a System Design is common for more junior developers, where a senior interview would have multiple System Design rounds with a single coding round.
> They require knowledgeable interviewers of course. In my round of FAANG interviews, the best System Design rounds were at Google. One was a more typical "design service x" scenario, and the other was "improve and upgrade service y w/out any downtime". Both were related to technology there and were things the interviewers played major parts in designing. Awesome conversations all around and I'd probably do them again just for the fun of it.
The most awkward one was at Facebook. The first design interview was good. It was a little uncomfortable because it was related to technical area I knew little about, but I enjoyed boiling it down to goals & principals and working from there and having the conversation with the senior engineer giving the interview.
The second was given by someone far more junior who was both an inexperienced interviewer and who had clearly not ever designed a system. It was obvious that they were going from a script, so there was little to no discussion or feedback about anything not covered. As a result, I "succeeded" more through guessing what was on the script vs. having an actual system design discussion.
System design has a ton of bias in it and it's my least favorite type of interview because of it.
The crux of the evaluation often revolves around have you built something amazing before? For most new grad folks it is the work done as part of their PhD thesis, but for non PhDs it often boils to amazing past work. And it’s a similar process for more experience folks except the reliance on LC fades even more.
If this works well for cutting edge ML why shouldn't it work for everything else?