How to master low level system design?

Flipkart / Eng
cookie51

Go to company page Flipkart Eng

PRE
Microsoft
cookie51
Jan 5, 2021 13 Comments

Been struggling in LLD interviews. Failed few senior level interviews only because I failed LLD rounds. How to master LLD?
Things tried:
Grookkking LLD
Few YouTube Videos
Few leetcode discussion threads

I'm going through above over and over again, to get a feel about designing these systems. Any other suggestions?

@Amazon and Uber guys, how do you do prepare for these interviews ?
Also how do you judge interviewee for SDE-3 level roles in LLD? What's a great LLD?

comments

Want to comment? LOG IN or SIGN UP
TOP 13 Comments
  • Microsoft / R&D
    chillwlb

    Go to company page Microsoft R&D

    chillwlb
    LLD is all about abstractions, just try to break a problem into a generic interfaces, and tie them together ... ofc. read all patterns and books and what not :)
    In my opinion LLD is something that comes with experience.
    Jan 5, 2021 1
    • Flipkart / Eng
      cookie51

      Go to company page Flipkart Eng

      PRE
      Microsoft
      cookie51
      OP
      Difficult to do so in a 30-45 mins interview, especially if you haven't worked on a similar problem before. Most of the time, defining the specs takes 10-15 mins itself. Largely the struggle is with time constraints more than anytht else.
      Jan 5, 2021
  • Apple
    crvp81

    Go to company page Apple

    crvp81
    That sounds high-level! Low-level IMO == Signal processing, firmware, kernel, OS drivers, maybe even assembly
    Jan 5, 2021 4
    • Google

      Go to company page Google

      I agree with Apple. Nothing literary about the definition
      Jan 5, 2021
    • New
      zvWH12

      New

      zvWH12
      Who asks you to design classes in a system design interview 😂
      Jan 5, 2021
  • Amazon
    gGKK13

    Go to company page Amazon

    gGKK13
    It's funny how object oriented design is now called low level design. I used to think it is more of a FW design which is low level.

    There are several excellent books on OO analysis and design. One by Grady Booch. I'd suggest read one of those. Then find examples online and try to create your design first, then compare with given solution and understand what was good what's was bad.

    Also read design patterns and understand how to apply them.

    At the interview stage you should be comfortable moving from a larger scope design (e.g. modules/packages) into specific modules where you talk about class diagram, inheritance vs composition, interaction between different classes/objects, design patterns etc. The effortless moving between layers of abstraction in a logical way shows depth and ability to decompose problems and synthesise solutions. It is a very good signal I look into when I interview.

    This does come with experience and is always challenging the only way is keep on learning and doing it.
    Jan 5, 2021 0
  • KeepTruckin / Eng
    PyQe48

    Go to company page KeepTruckin Eng

    PyQe48
    In every system, you have common building blocks. If you are good with at least one tool/software in each area, you can do a decent system design discussion e.g.

    - pub-sub
    - transactional system
    - cache
    - load balancer, rate limiting etc
    - streaming systems
    - security layer
    - authentication
    - crons

    When I get a problem, I think in terms of the building blocks, then suggest the tool to do that job. Rest discussions are typically around scaling, error reporting, debugging, maintenance etc
    Jan 5, 2021 1
  • Google
    nKzR00

    Go to company page Google

    nKzR00
    What is low level design?
    Jan 5, 2021 1
    • Flipkart / Eng
      cookie51

      Go to company page Flipkart Eng

      PRE
      Microsoft
      cookie51
      OP
      Implementation level details on a system design. Like design a notification system, design movie ticket booking system, design chess board, design snake ladder game etc.
      Jan 5, 2021