System Design: How to design Twitter? Interview question at Facebook, Google, Microsoft

preview_player
Показать описание
Designing the architecture of Twitter and similar social networks is a popular engineering interview question asked at companies like LinkedIn, Microsoft, Google, Snapchat, NVidia and others. This interview question is extremely broad but gives you the opportunity to talk about technologies like in-memory databases, replication, sharding etc. It's important to give a clear high level overview of the problem, ask clarifying questions and talking confidently about strengths and weaknesses of the proposed solution. Every architecture has trade-offs and interviewers want to hear you talk about them.

Follow SuccessInTech on Twitter:

Рекомендации по теме
Комментарии
Автор

man i cant express my happiness. you are the only one on youtube(infact the internet) concentrating on high level systen design. many companies are shifting their focus from algorithms to system design now a days. it was so hard to figure out how to come up with answers to these. Your videos are a life saver sir. You people are literally changing lives. the minimum i can do is say a big thank you to you for making these vids.

biswajitsingh
Автор

I used the caching strategy described in this video in my system design interview. You are part of the reason why I received an offer from one of my dream company. Thank you!

xA
Автор

Hi Ramon. Thanks for making these SDI videos. There are quite a few important things missing from this video to be considered a complete and correct answer in a real interview: the list of different micro/services that makes the platform run. Full database design/schemas. API commands from client to server and in between important micro services. And most importantly - “back of the envelope” estimations I.e. number of users DAU, QPS, storage requirements, throughout requirements etc.
I hope you’ll continue making SDI videos that contain this info too in the future. Many thanks and best of luck

IdoKleinman
Автор

I'm halfway there and just overwhelmed with the kind of explanation this guy has put into the videos. Probably will complete this and come back again for more such videos. Thank you!

knlsha
Автор

Thanks for doing this! One suggestion: You should have separate playlist for system design and algo related questions.

Venkat
Автор

Very few people explain as well as you do and cover these topics. As a software engineer, I am very interested in these topics, and the community needs more videos like this! Keep up the good work!

ognjengatalo
Автор

NEW: Check out my brand new website www.successintech.com

SuccessinTech
Автор

Hello Mr. Lopez! I loved this video. But it is always very likely to face a system design question totally out of what you had prepared for an interview. So a video on all possible system design components and how they are used for specific use cases in real life products can be very useful. So once building blocks are available, its easier from there. For example, REDIS database with its in-memory function is a good takeaway from this video which I can use in different scenarios.

manos
Автор

Thanks for this insight with great simplicity. Hope to see detailed videos on followup topics as well.
Thanks!

atulkumar-bbvi
Автор

This was amazing! Thank you so much, as a beginner on System design, you explained it beautifully.

sharatvyas
Автор

Time flew, amazing stuff man. Crazy ideas are being implemented when it comes to huge systems.

Byblius
Автор

Awesome video. Thank you. It gives me a basic idea about how to approach system design questions. This design covers a lot of things which is used in real-world huge systems. It includes relational databases, In-memory databses, hashing, load balancers and most important how to design system based on actual requirements, like eventual read consistency in case of twitter.

macsimmy
Автор

Great video :) really happy to see someone explaining overall system design in depth. Waiting for more exiting videos on system design.

niravpurohit
Автор

8:06 great breakdown by system traits to design improvement. Network access availability > consistency

9:27 I like how you go into higher lvl overview with actual scenario/api for when tweets made

deathbombs
Автор

I'm committed to watching your design video once a day till i finish them... then repeat. Thank you.

ogookafor
Автор

It was a very good head start into how I can approach a problem. Thanks a lot.

akkineniajay
Автор

Your content is amazing. You should create Udemy course on System Design Interview Questions.

tonidezman
Автор

today I was asked this question during an interview which makes me wonder what is the gain in asking something that pretty much can be memorized from videos just like typical common algorithms questions, I really don't see too much gain in companies expecting you to play to 'design the internet' I came up with something similar to this but replacing redis with temp tables 🌬️🔥 thanks for the info

FrederickAlvarez_
Автор

Your videos have been amazing. They are a great complement to other videos that are more algorithm focused.

danielgent
Автор

Fantastic video. You can also optimise ram needed and computational load by having a redis cluster per region and by tracking where reads come from per user to only rebuild their timeline in regional clusters they are likely to read it from. (Dont worry about rebuilding my timeline in the UK if I only ever read from Australia). Of course you can divide the computation that way too with at least a worker per region. Also you can optimise the read requests themselves by only loading the most recent slice of the timeline and loading in the next slice when you scroll to the very bottom.

mannion