System Design Prep

0.0(0)
studied byStudied by 0 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/6

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

7 Terms

1
New cards

High Level Flow Of Interview

  1. Gather Requirements from Product/Leadership

    • “Can you give me an example of an existing solution or a usecase scenario”

    • During this time, you want to list features/requirements

    • You might come up with your own and ask interviewer to validate

    • Good questions to ask:

      • What features are we looking to focus on?

      • What is scale?

      • How consistent does the system need to be?

      • What do we need to support?

      • If there is some handling of money, what are the rates?

  2. Try to elaborate on specific features. For example, if the interview says they want inventory capabilities, ask yourself: “What does that mean?”. Then ask the interview

    • For example, Inventory might include listing and search

  3. Think as the end user first, NOT engineer. Bonus points for saying things like “Trying to think as the end user, I think…”

    • Use this to break down the main features into smaller features. For example, payments might include support for multiple currencies and gateways; delivery might be notifications and status updates

  4. Think: What is the most important features?

    • In eCommerce, this might be Inventory

  5. Next, ask the interviewer: Would you like for me to break these down further? Or would you prefer I discuss my thoughts on an initial MVP

  6. Begin high level. Usual involves some API, some interface, some DB.

  7. Go lower. What about x? What about y? What if we’re serving x millions of requests / day? This should be in the requirements

  8. Once you have the conceptual ideas, move to logical (structured formatting)

  9. Once you have logical, move to physical, tangible products that cloud providers offer

2
New cards

Platform Mapping - Storage

AWS: Simple Storage Service (S3)

Azure: Blob Storage

GCP: Cloud Storage

3
New cards

Platform Mapping - Workflow Orchestration (Serverless)

AWS: Step Functions

Azure: Logic Apps

GCP: Workflows

4
New cards

Platform Mapping - Functions as a Service (FaaS)

AWS: Lambda

Azure: Functions Serverless Compute

GCP: Cloud Functions

5
New cards

Platform Mapping - Load Balancing

AWS: Elastic Load Balancing, App Load Balancer

Azure: Load Balancer

GCP: Cloud Load Balancing

6
New cards

Platform Mapping - CDN

AWS: Amazon Cloudfront

Azure: Front Door

GCP: Cloud CDN (or Media CDN if delivering media)

7
New cards

Other important technologies

  • Kafka

  • K8s

  • Docker

  • Jenkins