Skip to content
ArchDays logo
ArchDays 2022 · October 21, 2022

How to pass a System Design Interview

Preparation and candidate behavior

/ How to Pass a System Design Interview · ArchDays 2022

Slide contents

  1. 1. How to pass a System Design Interview

    Preparation and candidate behavior

  2. 2. Alexander Polomodov

    Role at the time · 2022

    Alexander Polomodov, CTO, mobile banking and acquisition, Tinkoff

    Focus — Oversaw architecture decisions

    Context — Oversaw System Design Interviews · Interviewed technical leaders

    Oversaw architecture decisions

    Oversaw System Design Interviews

    Interviewed technical leaders

  3. 3. From hiring to candidate behavior

    Map of the talk

    Hiring and seven steps

    Requirements, boundaries, flows

    Models, technology, scaling

    Behavior and study paths

  4. 4. System Design targets Senior and Senior+

    Junior and Middle skip this section

  5. 5. Architecture emerges one step at a time

    From the prompt to follow-up questions

  6. 6. 02. Formalization

    Before the first line is drawn

  7. 7. Clarify the problem first

    Scenarios, scale, priorities

    What is in and out

    Who uses it and why

    What volumes are expected

    What matters most

  8. 8. Priorities direct the architecture

    Sizing connects requirements to scale

  9. 9. Learn the language of requirements

    Functionality and architecture qualities

    UML Use Cases

    User Stories and JTBD

    ATAM for trade-offs

    Wiegers and Eyskens

  10. 10. 03. System boundaries

    The system inside its environment

  11. 11. A boundary starts with a scenario

    Files, DB, API, or Messaging

  12. 12. Understand every request path

    From context to load balancer

    C4 System Context

    REST, RPC, GraphQL, AsyncAPI

    OSI, TCP/IP, DNS

    HTTP/1.1–HTTP/3 and WebSockets

  13. 13. 04. Flows

    Components emerge from behavior

  14. 14. The happy path reveals exceptions

    Then load and failing parts

  15. 15. Trace reads and writes

    Against the architecture characteristics

    Trace the read path

    Trace the write path

    Apply the leading NFRs

    Balance the read/write path

  16. 16. Choose the diagram for the question

    What to study for flows

    C4 shows containers

    Sequence reveals interactions

    Activity captures branching

    IDEF0, DFD, and BPMN for flows

  17. 17. 05. Conceptual design

    Solution classes come first

  18. 18. Responsibility comes before product choice

    Stateful, stateless, data, and contexts

  19. 19. Connect models to storage

    Data determines access

    RDBMS and NoSQL classes

    ER and Class Diagrams

    DDD and bounded contexts

    Twelve-Factor App

  20. 20. 06. Real system design

    Technology, guarantees, operations

  21. 21. Technology must uphold the promise

    Guarantees, capacity, failure domains

  22. 22. Design continues after launch

    Operation and evolution

    Logs and monitoring

    Schema and data migrations

    Hands-on SRE tooling

    Google SRE books

  23. 23. 07. Under load

    Different state, different levers

  24. 24. State determines the scaling mechanism

    Orchestrators, replication, partitioning, sharding

  25. 25. Scale for real access patterns

    Topology changes guarantees

    Start with access patterns

    Name the consistency model

    Read DDIA and Database Internals

    Validate with load tests

  26. 26. Lead the conversation, do not guess

    Think aloud, respond to hints

  27. 27. Study along four paths

    All links are in a Book Cube post

    Requirements and trade-offs

    Networks and integration

    Data and distribution

    Reliability and operations

  28. 28. Meaning first, technology second

    Seven steps keep the conversation coherent

    polomodov.tech

    Clarify, trace flows, explain trade-offs

    Alexander Polomodov, Author and speaker, ArchDays 2022

    @book_cube