Design Twitter - System Design Interview

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


0:00 - Intro
0:49 - 1. Background
1:55 - 2. Functional Requirements
3:30 - 3. Non-functional Requirements
7:40 - 4. High-Level Design
11:39 - 5. Design Details
13:25 - DB Schema
15:30 - Scaling DB
19:48 - News Feed Generation

#system #design #twitter

system design interview
design twitter
design instagram
design facebook
design news feed
Рекомендации по теме
Комментарии
Автор

So are you guys interested in working at Twitter? 😅Btw, don't forget to "Batch" click the like & subscribe buttons.

NeetCode
Автор

Being an SWE these days is just insane. Any other job, you'd get hired then learn the system over time and by working with people at the company. As a SWE you have to already know how Twitter works just to get through one of the six or so interviews to get a job fixing bugs or writing new features. Does every other SWE know this shit just from going to school or working in the field for a few years? Ive been a SWE for 10 years and these are all semi-new concepts to me. Ive never once had to design a system like this but I guess now companies want you to be an expert on day one. I thought I could avoid cramming algorithims and system design stuff if I didnt try to get a job at FAANG but now every little startup expects you to be a senior level engineer just to make 140k. I feel like my 10 years of experience count for literally nothing.

Lintlikr
Автор

I would love to see more System Design content !! nice video man

damaroro
Автор

wow !!! from algorithms to system design, love to see more on system design videos

nettemsarath
Автор

Love your content, your video help me land a position at Twitter one year ago. but I just got laid from Twitter and will start checking your video again 😅

kaixuanhu
Автор

This is a fantastic example of a realistic architecture screen. I would note for viewers that you will almost certainly not be able to think of and describe everything that was covered here and as someone who conducts 3 or 4 of these every week, I don't expect candidates to cover everything here in the 20-30 minutes I have with them. But as you go through this video, the issues presented scale really well with the expectations that go along with the seniority of the candidate and position. We actually skip a lot of the preliminary setup so that we can delve into the more complex issues for more senior candidates. If you're a mid level, I'm not expecting you to come at me talking about batching out feeds and dynamically updating them based on high popularity tweets.

tiskahar
Автор

I can't help but find it slightly hilarious that you released this video during the ongoing controversies happening at Twitter.

But in all seriousness, amazing content!

dukekong
Автор

I guess twitter will be a case study in “does talent matter” and “how interchangeable/disposable are sw engineers”.

jti
Автор

Once I had an interview explaining how to design something. I totally missed the point. This definitely give us a clear idea.

It's not about writing a user story, and not even building the actual application, but identifying the most critical points and possible components and to come up with how to solve it.

Thanks again.

gmanonDominicana
Автор

the biggest thing about sharding is that we could potentially lose the joins, and it adds a huge layer of complexity on the application.

RandomShowerThoughts
Автор

There shouldn't be any userId in the POST /v1/tweet/create endpoint. This is because we will get the id of the user initiating the request from the authentication token in the request header. Putting sensitive information like authentication tokens in the request body is a security risk

gazijarin
Автор

Loved it!
The only issue I see is sharding having all the people who follow each other in the same shard. That's just not possible, as a friend of yours will follow someone in another shard group at some point.
I haven't got a good answer for that yet, apart from saying we should use a GraphDB here that hopefully is optimised for sharding this kind of data...

eldavimost
Автор

This level of quality content is available for free, it blows my mind! Also, I am churning through your Blind 75 list of questions and I am loving your solution videos.

karanbhatia
Автор

I can't believe that I just found this channel now. Great content

roycechua
Автор

Great video! One question (or perhaps a mistake), in 18:20, you say all the people this guy follows should be on one shard but I don't think that's possible. If person A follows B and C, then B and C should be on one shard. if person E follows C and D, C and D should be on one shard, but its already on a different shard. Maybe B, C, D are all one shard, but as long as each person follows another different person, we will only have one shard.

randysong
Автор

Your content is way, WAY better than the others on Youtube! Great work!

GeorgeHFonseca
Автор

I just got asked this question in an interview, but with the added feature to follow interests too, and I am surprised I answered pretty much the same thing that is stated here and I passed the interview!, one thing to mention is that some companies/interviewers want to see SQL queries written in order to see how you make joins to the tables, so be prepared on that I would say

rewrite__
Автор

Very much enjoyed the video, the explanation, the simplicity and the clarity it brought out. Thank you

respondo
Автор

First time Kim Kardashian has come up in any tech video I've watched

tzadiko
Автор

If user A follows B and C and B follows back to A then all three should be on same shard and same way if B follows 10 more people and even one person follows back then all those 10 should be on same shard and it goes on with all data on single shard . looks like very abstract way, i am not sure why people not think little more rather thn explaining that abstract way

ankitsheoran