Taro Logo
4

How to improve at system design interviews while practicing solo?

Profile picture
Mid-Level Software Engineer at Taro Community4 months ago

I have been practicing for system design interviews by reading through books like System Design Interview book by Alex Xu and Grokking the System Design Interview, however I sometimes struggle to internalize the knowledge and demonstrate it in an interview setting. I have done a few mock interviews which have been helpful, however the number of mocks I can do is somewhat constrained by other people's availability. Is there a way where I can improve at system design interviews quicker/more effectively while practicing on my own?

147
2

Discussion

(2 comments)
  • 1
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    4 months ago

    System design is incredibly hard to practice solo given the open-ended nature of it. Edbert Chan hits it on the head by describing system design as a behavioral interview disguised as a technical one.

    That being said, I would do something like this:

    1. Take a well-defined system design problem
    2. Write out your approach to it in Google Jamboard or Notion
    3. Compare it to how other people built it through engineering blog posts, sharing it with the Taro community, and looking at GitHub/StackOverflow discussions

    If you have more time, the real way to practice system design is to just build side projects and fine-tune them (i.e. actually design systems). I talk about this in-depth here: "How to Learn/Practice Clean Code, particularly by oneself?"

    On a side note, we're working on solving the first approach by building formal courses where you can answer tough, ambiguous problems (like system design prompts) and see what other engineers did. Stay tuned!

  • 3
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    4 months ago

    I forgot to mention: ChatGPT is actually an excellent tool to practice system design interviews! I tried a prompt like this:

    You are a principal engineer reviewing system design proposals.

    The project is XYZ.

    The submitted system design proposal is ABC.

    Give a score from 1 to 10 for ABC and explain why.

    I tried this prompt with generic prompts like "Design Netflix at a high-level", and I had decent results with it. Of course, they're still way worse than a mock with a solid interviewer but pretty good for something solo and free!