Hello, I'm currently actively interviewing and more than once, I found myself not progressing due to some knowledge gaps on things that companies seem to expect at my level.
I worked as a backend engineer for 3 years after a coding bootcamp, mostly in product features and APIs. Distributed systems is not something I did on a daily basis.
I have struggled with system design interview questions asking about databases, concurrency, search, among other things. How can I fill those gaps to the level I can pass these interviews?
Here's what I'm going to do, and I'm looking to get advice on whether I should do, stop doing, or do something else that I didn't list.
Thank you for your help!
I highly recommend you start attending the Book Club for "Designing Data-Intensive Applications" by Martin Kleppmann. Here's the next session: https://www.jointaro.com/event/taro-book-club-designing-data-intensive-applications-chapter-12-the-future-of-data-systems/
Your instinct about mocks is also correct. System design interviews are effectively behavioral interviews with a technical wrapper (it's less about getting the "right answers" and more about having an intelligent discussion about trade-offs). This sort of stuff is inherently hard to fully study for as a lot of the hiring signal comes from the flow of the conversation, not the content you gave within it.
Lastly, I have another piece of "meta-advice" here: Avoid over-indexing on failures:
I'm not saying this is happening to you right now - Just that you should keep an eye on it. Your strategy should be to keep track of all your interviews (I recommend having a spreadsheet) and looking for the most common areas where you're failing. If 3+ interviews got you on the same weakness, definitely shore it up.
I highly recommend these 2 as well:
Thank you Alex! Love the meta-advice. As someone new to these interviews, and without fully understanding what's a pass v. not, and given how the performance on this interview affects final results, it's been difficult to figure it out. I will join the book club if possible (still ok to join mid-book?)
I will join the book club if possible (still ok to join mid-book?)
Yep! We'll even be doing a rerun of "Designing Data-Intensive Applications" soon as the current run is winding down, so you can start back again at Chapter 1 🙂