Design Reddit: System Design Mock Interview

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

In this interview, Kevin (fmr Google, Tesla Engineer) answers a system design interview question of designing Reddit, commonly asked in engineering management, software engineering and technical program management (TPM) interviews.

Chapters -
00:00:00 - Introduction
00:00:36 - Question
00:00:45 - Clarifying questions
00:05:21 - Answer
00:17:18 - Design
00:28:58 - Follow-up questions
00:39:41 - Tips

ABOUT US:
Did you enjoy this video? Want to land your dream career? Exponent is an online community, course, and coaching platform to help you ace your upcoming interview. Exponent has helped people land their dream careers at companies like Google, Microsoft, Amazon, and high-growth startups. Exponent is currently licensed by Stanford, Yale, UW, and others.

Our courses include interview lessons, questions, and complete answers with video walkthroughs. Access hours of real interview videos, where we analyze what went right or wrong, and our 1000+ community of expert coaches and industry professionals, to help you get your dream job and more!

#softwareengineer #systemdesign #mockinterview #technicalprogrammanagement #tpminterview #tech #technicalprogrammanager #coding #programming #systemdesign #entrepreneurship #exponent #softwareengineering #reddit
Рекомендации по теме
Комментарии
Автор

Don't leave your career to chance. Sign up for Exponent's system design interview course today:

Liked this video and want to see more? Click "Subscribe" to let us know!

tryexponent
Автор

can a review be added at the end of each mock interview. such as what was done well and what was not and how to improve it.

storm
Автор

One thing I like about what the interviewee did is that before drawing out the high-level architecture, he made a list of services that were needed and types of storage for each. I think that’s a great way to transition from requirements gathering to HLD as it acts like a checklist.

CameronFlint
Автор

1. Spent way 2 much time on calculation (15min), when you have 45 min interview you want to spend a max of 5min on that! use rough estimates and ask the interviewer to help with assumptions. Would have been better to say, I assume a post will be ~10-20K assuming the type of data, no more :)
2. Then He started to actually draw his system 25min in! you want to be able to spend the majority of your time drawing your solution, going back and forth with the interviewer.
3. The solution makes "saving a post" extra complicated.
4. The main question was not answered, how to display the feed. That feed should be optimized, cached and you should explain how can you make that load as fast as possible without
hitting the DB for every request.

jerems
Автор

to everyone shitting on him, he was still in college at the time he did this interview. Realistically, a very small percentage of college students can answer these questions well.

Shingorani
Автор

"Can you cut that part out?" but they leave that request in 🤣

archdukeofbuda
Автор

Quick useful tips: jump to 18:00 to avoid a very long discussion on estimations and play at 1.25x speed.

rajendrauppal
Автор

Cool to see this type of interview from someone who's just had internship experience and still in school. I would have to say Kevin is years ahead of me in terms of knowledge even though i've been working full time for almost 3+ years now. Definitely have to practice more myself! Thanks for these videos Exponent!

DoJoStan
Автор

12 minutes spent on some pretty random calculations…

tsaregrad
Автор

I was told to manage time in SD.
reqts + estimation done in first 5 minutes
HlD - 20 min
deep dive - 15 min
roundup - 5 min

He could have asked "what does a top post mean? Is it the l# of upvotes, or replies, or views the post has got in last hour?"

aaronbcj
Автор

Dude said "like" 50 million times that is more than DAU

subodhwandile
Автор

Good design but I think the feed generation part was the key need of the ask and somehow he missed it and she had to remind it. I believe that part of the solution needed some more details on how we can keep generating it every time. maybe the subredditid and userid mapping need to be there in the DB design as well

ravishenoyx
Автор

what are the app servers in this case? why cant the web serveres talk to the microservices directly?

snakeb
Автор

What’s the point of asking SDE 1 systems design

sierraanderson
Автор

Decent design but i felt a few things missing from this, felt that we went at a too high level. There are a few challenges specific to reddit and would have loved to hear them being discussed, reddit has an infinite level of comments nesting, so how do we handle that, they have relations but given the massive amounts of comments we couldnt have gone relational, so would have been fair to discuss the tradeoffs.
2nd thing were the votes, as Software Engineers we know how difficult counters are, to avoid race conditions you need a lock on the entry and you can not do that for every vote given how frequent they are. So again tradeoffs....

shashankshekhar
Автор

I do not think people should spend so much time on estimating the amount of bytes, it's not embedded and a quick guesstimate would suffice.
It might seem like you could make a better decision like that, but that's false. What if your estimates for an image are wrong? Then the whole thing is going to be exponentially wrong based on the error in the image estimation.
By the way, the images wont be served by Reddit's network bandwidth per se. An object storage would be used like S3 and a CDN would be used too.
That's another argument of not going deeply into estimation before thinking about the architecture.

ValeriCFBG
Автор

what is the point of these estimations at the start if they dont affect the end system design whatsoever

hristianiliev
Автор

Good content! I think the interviewer did a pretty good job at specifying each microservices, and provided a very clear and logical thought process on how they interact with each other in the service flow. One thing I think can improve is that it would be better to set aside a section to talk about the data model and data base choices ~

zifannie
Автор

what software you are using for wireframing?

gothboi
Автор

hi ..thanks much for the nice playlist..do we have system design for bookmyshow app?

pavanim