4 ms·
I've failed system design interview where they repeatedly asked me to design "for scale" but all the volume and latency requirements I could get from them could
by ddimitrov 1y ago
I've failed system design interview where they repeatedly asked me to design "for scale" but all the volume and latency requirements I could get from them could be handled by a single HA pair running a monolithic server+ external managed data store.
They also seemed annoyed that I am asking them questions that are not part of the problem statement instead of getting down to drawing a fancy diagram.
I'm sure they hired someone who drew a lot of boxes with cute logos because webscale.
- motorest 1y ago> I've failed system design interview where they repeatedly asked me to design "for scale" but all the volume and latency requirements I could get from them could be handled by a single HA pair running a monolithic server+ external managed data store. It's nice that you estimated throughputs and provided your assessment. Odds are that's not the problem you were tasked to solve? I mean, arguing your way out of proposing a design for scale reads as if you're at a test and you're claiming you shouldn't be asked some questions. > They also seemed annoyed that I am asking them questions that are not part of the problem statement instead of getting down to drawing a fancy diagram. Clarifying questions are an expected part of the process, but by it's own nature the design process is iterative and has a initial design on where to iterate over. If you do not show forward progress or present any tangible design, your own system design skills are immediately called into question as, in the very least, it shows you're succumbing to analysis paralysis. Think about it: you're presented with a problem, and your contribution is to complain about the problem instead of actually offering a solution? What do you think is the output valued by interviewers?
- weq 1y agoRegurgitation what amounts to ai slop these days paints a clear picture of your Company to the market. Companies that use l33tcode are filtering out pools of talent, in exchange for monocultures of echo chambers. Makes it easier swing the layoff ax when they need to posture to the market differently. The fact that this ^^^ is run by AI shows just how irrelevant technical interviews like this are these days. Why take a closed book test for a job that you never have to work a day in your life with the book closed? If you are an experienced dev, u can rank other devs pretty quickly with a general conversation about any technology.
- motorest 1y ago> Companies that use l33tcode are filtering out pools of talent, in exchange for monocultures of echo chambers. Please explain why do you believe that not moving forward with a candidate who fails basic coding challenges leads to "monocultures of echo chambers". > The fact that this ^^^ is run by AI shows just how irrelevant technical interviews like this are these days. Why take a closed book test for a job that you never have to work a day in your life with the book closed? You're trying to fabricate scenarios that never applied. There are no "book closed" exams, and no company hires developers on hard skills alone. > If you are an experienced dev, u can rank other devs pretty quickly with a general conversation about any technology. No. No, you don't. You think you can, but you're just deluding yourself. You have no idea if your personal biases got your best candidate rejected, or if your pick just is a top of the barrel candidate who enchanted you with buzzword lingo? This is a fact, and I've seen this play out in real life. I've seen team leads succumb to this sort of delusion and ehen they realize they hired smooth-talking scrubs that need constant help from junior devs to unblock themselves, you start to hear excuses such as "he was given an opportunity but squandered it". This is something that negatively impacts everyone involved.
- danpalmer 1y agoLatency and volume aren't the only requirements, perhaps you failed to discover the other requirements of the system? - In a fast system most of the latency will come from geographical distance, an HA pair can't serve the whole world with low latency. - How do you handle new releases? You can do HA with 2 machines, or you can do safe rollouts with blue/green machines, but you can't do HA and safe rollouts with just 2 machines. - What if you want to test a new release with 1% of traffic? 100 small machines might be preferable to 1 big machine, or 10 medium machines each running 10 instances, or whatever. - What does the failover look like? - You use an "external managed data store", but often the tricky bit is the data store. Externalising this may be the most practical option, but it doesn't communicate that you know how it needs to function. Alternatively this might have just been a bad interview. Many are.
- eunos 1y agoFrom reading your response it suggest me the riddridiculousness of the System Design interviews. Are folks are supposed to design a planetary scale system in <1 hours?
- motorest 1y ago> From reading your response it suggest me the riddridiculousness of the System Design interviews. Are folks are supposed to design a planetary scale system in <1 hours? No, they are expected to be presented with a set of requirements and present a solution that loosely meets them. That is used as a backdrop to ask technical questions and see how a person collaborates.
- danpalmer 1y agoYes, I would expect people to be able to discuss all of this and more, with trade-offs, in 1 hour. I'm not expecting any code, I'm only expecting a box diagram at best, and it won't be a finished design, but the whole point of system design is being able to come up with designs to meet exactly this sort of thing.
- ddimitrov 1y ago