Hacker News new | past | comments | ask | show | jobs | submit login

My experience as a hiring manager disagrees with yours. Large system design interviews are par for the course - everyone knows how to do them and everyone has lots of experience. They don’t tell you really anything about a candidate, to the point that we should stop using them.



In my experience, this has been rather selective.

Some people have very little idea about load-balancing, DNS, database scaling (replication, sharding, etc), fault tolerance, graceful degradation, queues, throttling, caching, you name it.


If candidates take a course like this, does that mean they're self-starting go-getters trying to expand their knowledge to become good engineers, or people trying to game the section on the interview- or both?

https://www.educative.io/courses/grokking-the-system-design-...


I thought about this myself as I went through this exact course. For context I had been exposed to and even implemented some of the concepts (like db sharding) at work but much of it was still new to me.

An ideal interview should reflect the actual work you'll do during the job. And I think system design interviews accomplish that job pretty well (certainly much better than coding interviews). Will you ever have to design and build a system like you during the interview? Likely not - a startup, while does require building a lot things for scratch, rarely requires the scalability and intricacy outlined in these interviews. While large companies will have the components broken up by team, so you'll often be silo'd into just one part.

That said, knowing how your systems work at a high-level is much more useful than knowing something like shortest-path algorithms. Even if you are silo'd, understanding upstream/downstream interactions can be crucial.


If they actually understand the stuff they learn this way, I'm fine with that! It's strictly better than just doing nothing.


These topics are covered extensively in cookie-cutter interview prep materials like Hacking the Coding Interview. Every candidate is treating these things the same as leetcode trivia. There are whole YouTube channels devoted to how to rote memorize the path to answer open-ended system design questions like designing a fault tolerant Twitter feed, asynchronous video streaming, etc. The rote memorization even extends many layers deep into “nuanced” follow up questions that are supposed to distinguish mere rote memorization from real experience.

This is just every candidate, certainly at the senior level. It’s impossible to use these questions to discern anything. Even asking them to give these details about past real systems they designed you’re just getting the same 5-layer-deep inception rote memorization of everything they could be asked and every follow up contingency.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: