System Design Flashcards

1
Q

Primary step or Step 1 for System Design Interview - Requirements Clarification?

A

There is no ONE correct answer. Ask questions and clarify the ambiguities and the scope of problem. So spend enough time defining end goals of system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Step 2 for system design interview - System interface design?

A

System interface design.

Define what APIs are expected fromt the system. This will help to ensure if we haven’t got any requirements wrong.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Step 3 of system design interview - Back of the envelop estimation or rough estimation of scale?

A

Back of envelop estimation. Estimate the scale that we will be seeing.

  • No of tweets per second
  • No of tweet views
  • No of timeline generations per second
  • Storage requirements (if only text tweet or photos and videos too)
  • Network bandwidth usage (this will be useful for deciding how traffic management and load balancing will be done)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define Step 4 of System Design interview - Define data model?

A

Defining data model. It will clarify how data will flow among components. Later will be useful for data partitioning. Identify various entities of system and how they will interact with each other.
Which database to use, will NoSQL like Cassandra work? What block storage should be used for photos and videos?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define Step 5 - High Level Design?

A

High Level Design. Block diagrams representing core components of system. We should identify enough components that are needed to solve the actual problem end to end.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define Step 6 - Detailed Design or Low level design?

A

Dig deeper in some components based on interviewer’s feedback. We should be able to present different approaches, with pros and cons, and provide why we chose one approach over other. No single answer, consider tradeoffs and constraints in mind.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define Step 7 - Identify and resolve bottlenecks

A

Discuss as many bottlenecks and different approaches to solve them. Is there a single point of failure? Are there enough replicas of data? Are there enough copies of services? Are we monitoring serviecs and getting alerts if performance suffers?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly