1

Grouping System Design questions

Profile picture
Senior Software Engineer at Taro Community8 months ago

I am starting to prepare for system design questions. I would like to know if anyone has thought of grouping/categories when it comes to similarity among those problems?

For example, ecommerce (amazon) and service delivery platform (doordash) based problems has common trait of search, one can easily use the same solution across both the systems (to search for the products on amazon and to search for restaurants in doordash)

Also is there any list of must know system design problems for interviews at senior/staff level?

146
3

Discussion

(3 comments)
  • 1
    Profile picture
    Senior Software Engineer [OP]
    Taro Community
    8 months ago

    Thanks Alex. I will check that playlist. I was asking common patterns from backend perspective.

  • 1
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    8 months ago

    From what I've seen, back-end and front-end system design questions are the same except the focus and expectation are different.

    For example, let's take "Build Uber". As the front-end engineer, I need to figure out how to animate the car driving to you on the MapView in real-time. As the back-end engineer, you have to create the API I call to figure out the coordinates of the car, propagating the information from the driver, to the Uber servers, to the relevant customer device(s). The fun part is that we both need to think about client-server protocol (polling vs. web socket vs. other methods).

    I found this article, and patterns/question types made sense to me (there's linked videos as well): https://igotanoffer.com/blogs/tech/system-design-interviews

  • 0
    Profile picture
    Tech Lead @ Robinhood, Meta, Course Hero
    8 months ago

    System design varies a lot based on what stack you're on. There are the 2 big groupings of front-end and back-end, and I know that more specialized folks on the infra side (like MLE) have their own question types.

    For front-end engineers like myself (Android, iOS, web), it's very product focused. The classic archetype of system design question I have gotten so, so many times is the standard "Build a content list". Sure, Messenger and Twitter are 2 very different apps with very different purposes, but they're content lists at the end of the day. Front-end engineers mostly design the UI layer, but they do need to understand middleware (API) and database as well (schema, indexes, etc).

    For back-end engineers, I know they need to dig far deeper into API and data layer. Metrics like cache hit/miss rate, query load, response latency, and data footprint all need to be deeply understood.

    When it comes to leveling, I don't think system design questions vary that much (if at all). The leveling comes entirely from the quality and depth of the answer, not the question type. At Meta, we asked the same system design questions across mid-level, senior, and staff. There might have been different questions of larger scale at principal, but I don't remember.

    To help with system design interviews, check this out as well: [Masterclass] How To Ace Your Big Tech Interview - System Design