An in-depth course that will prepare candidates for System Design Interviews at top-notch tech companies like Google, Amazon, Adobe, Uber etc. The course will be Mentored & Guided by Industry experts having first-hand experience with designing, developing and maintaining scalable systems.
The course will be taught with the help of real-world examples and hands-on lab sessions using AWS components.
What exactly is a System Design Interview?
Expectations from Interviewee
Breadth Vs Depth
Should you know everything about everything?
System Design Process ( Motivating Example: Design UBER.)
Trade-offs in a large scale system(Motivating Example: Design TWITTER.)
Performance Vs Scalability
Latency Vs Throughput
Availability Vs Consistency(CAP Theorem)
Patterns of Enterprise Application Architecture
MicroService Vs Monolith
Components of a large scale system
SQL vs NoSQL (Lab Session : RDS and DynamoDb)
Sharding or Data Partitioning
Caching Policies: Write - Through/Around/Back
Elasticache (Lab Session)
Kinesis (Lab Session)
SQS (Lab Session)
How to identify bottlenecks?
Some useful stuff that should be on tips of the interviewee
Common numbers to remember for the back of the envelope calculation