System Design Interview – Step By Step Guide

preview_player
Показать описание

Topics mentioned in the video:
- Stages of a typical system design interview: functional requirements (API), non-functional requirements, high-level design, detailed design, bottlenecks and tradeoffs.
- Why requirements clarification is so important.
- What questions to ask the interviewer.
- How to design API.
- Non-functional requirements to consider: scalability, performance, availability, consistency, cost.
- How to define a data model.
- How to scale a SQL database.
- Apache Cassandra high-level architecture.
- Data processing concepts: checkpointing, partitioning, in-memory aggregation, deduplication cache, dead-letter queue, embedded database, state management.
- Data ingestion pipeline concepts: blocking vs non-blocking I/O, buffering and batching, timeouts, retries, exponential backoff and jitter, circuit breaker pattern, software vs hardware load balancing, load balancing algorithms, DNS, health checking and high availability of load balancers, partition strategy, hot partitions, client-side and server-side service discovery, single leader replication and leaderless replication, textual vs binary data formats.
- Data retrieval pipeline concepts: time-series data, data rollup, hot storage, cold storage.
- Types of performance testing: load testing, stress testing, soak testing.
- Health monitoring.
- Audit systems.

Inspired by the following interview questions:
Рекомендации по теме
Комментарии
Автор

So you created a channel, made 6 videos, showed us how a system design interview video should really be like, then dropped the mic and left :-) I am really sad that there aren't any more videos, but at least I hope the reason is that you are in a very happy place, and you don't have time anymore, because you enjoy your life :-) In any case, thanks a lot for the videos that you did make! There are other decent videos on system design, but none matches the ones on your channel

avraamtolmidis
Автор

I recently interviewed at 2 top companies and I just nailed the system design interviews. In total, I had to go through 4 such 45 min interviews. I have around 10 years of engineering experience but my background is not strictly distributed systems. I am good at DS/algo but system design was my achilles' heel. Mikhail made it simpler for me to catch up. I did read a lot of books to understand how systems like Kafka, Zookeeper, Cassandra etc. are implemented. I had lots of bits and pieces of information from lots of sources. This channel helped me put all that understanding together in a coherent way. I also followed the structure described by Mikhail in the interviews and it helped me keep the discussion on point. The interviews were difficult, interviewers asked tough questions but listening to these videos multiple times helped me calm my nerves.
I haven't heard back from those companies yet but initial signs look positive. We will see how it pans out. Regardless of the result, I feel satisfied with my preparation and a big chunk of credit goes to Mikhail.
Why am I writing such a big comment here? Well, I want to obviously thank Mikhail but I want people to realize how valuable this channel can be for interview preparation. Please try to make it more popular by sharing it with your friends.

abbyin
Автор

Continued from someone's comment :

1:30 Why you need to ask your interviewer questions? Why requirements clarification is so important?
3:19 What we may want to ask about? Requirements clarification
7:14 Define functional requirements-API
9:19 Define non-functional requirements
10:32 High-level architecture
11:56 Define Data model (what we store)
16:09 Where we store: List of non-functional requirements
17:20 Where we store: How SQL database handle these requirements
20:40 Where to store: About NoSql: Cassandra
25:00 How we store: data modelling for sql v nosql
29:03 Data processing path
30:51 Data processing: Data aggregation basics
34:42 Data procesing : Processing service detailed design
41:08 Data Ingestion pipeline
1:03:00 Data Retrieval path
1:06:35 Data flow simulation
1:08:26 Technology stack
1:13:22 Bottleneck, tradeoffs and more
1:09:06 Summary

Kudos to the creator. Happy Learning.

arunmagar
Автор

It took me a few days to get through this video. As a software engineer with 8 years of experience, you have very clearly demonstrated to me that I know nothing.
Thanks
D:
Cram time...

austinkim
Автор

This is pure gold. I have slept several times, woke up, rewinded several times, made notes, still watching. You are a legend. Hats off to you, you spent 1.23 hours talking non stop on a serious and important topic, covering everything. You explained several topics in so simple language which was hard to grasp. One was data consistency and availability and other was Eventual consistency and many more. Thanks once again. May God Bless you.

Angelslo
Автор

By far the only person who talks about system design after mastering it in youtube!

balajipattabhiraman
Автор

don't look at it as a 83 min video, it contains enough contents to use a week to digest it :) it is absolutely fantastic, comprehensive, understandable, and maybe the best video in System Design Interview on YouTube and anywhere else. Thanks for all the efforts to providing these contents.

sabaamanollahi
Автор

1:30 Why you need to ask your interviewer questions? Why requirements clarification is so important?
3:19 What we may want to ask about? Requirements clarification (User/Scale/Performance/Cost)
7:14 Define functional requirements-API
9:19 Define non-functional requirements
10:32 High-level architecture
11:56 Define Data model (what we store/Where we store)

tommyli
Автор

Hey man, please continue releasing videos. It's the best material I've seen so far.

mralikkaz
Автор

Best System Design Interview Preps. Builds up the system slowly and explains in breadth and depth. I would pay for this

nooriddeen
Автор

Mikhail, you should win a Youtube Creator award for this channel. The content is just so exceptional.

TuanDang-pqmt
Автор

This is hands-down the best system design interview prep channel. I failed many system design rounds until I watched this video, and nailed the next one.

ImpactfulEASON
Автор

This is mind blowing. I didn't expected this kind of system design tutorial on Youtube. Your style to explain HLD and then deep dive into each component, Its awesome and hidden gem. Hats off to you. I know it takes lots of time to create such content but please try to upload more videos on system design.

DheerajKumarBarnwal
Автор

I'm so touched by your words when you said, "If you are still with me watching this video you should be proud of yourself. Seriously. (82:02)" because I felt really proud.

HoudiniSouth
Автор

I almost never comment on YouTube videos, but I just had to let you know how helpful this was. I can't even imagine how much time and effort was put into this. So detailed and explained beautifully with such clarity, thank you!

Nyquiiist
Автор

Yesterday I gave my first FAANG interview for Amazon, I watched all of your videos "at least" twice. It was a great help. THANK YOU!

komalbhalge
Автор

I just found this channel, I don't know why you stopped making videos but you are godsent. I learned more in these 5-6 videos than I have learnt in 100s of pages of books and hours of videos. This is just gold. If you find time please do make more!.

vineethsai
Автор

I have never designed a system before, but going through this video has made me feel like I am ready to design someone's system.
Thank you, Mikhail, this video is well put together.

kedikebba
Автор

This video is a complete overview book for any system design. It took me more than 5 hours to complete the whole video. Great content, Thank you so much sir for making this video. It is very helpful.

AnkitKumar-ywue
Автор

I think you are the only qualified person I've found to talk on this topic on YouTube. So many people draw boxes with zero justification, depth or discussion of tradeoffs. Thank you for the tremendous effort

lukeyd
join shbcf.ru