System Design Interviews are a SCAM
Key Takeaways
Critiques system design interviews and argues they are fundamentally broken
Full Transcript
so you have a system design interview coming up and you have spent countless hours listening to YouTube gurus talk about consistency availability Shing and whatnot and maybe you are feeling a little more confident about your preparation I hate to break it to you but system design interviews are a scam you see in Last 5 Years I did my fair share of tech interviews if there is one thing I'm more confident about than solving a twosome problem it's that system design interviews are nothing but an acting performance and I'm saying it despite cracking many of these interviews myself today I'll share how I reached this conclusion in the process I'll also give you three useful tips on how to deliver an Oscar worthy performance in system design interviews let's do this imagine you are in a system design interview you are asked to design a Facebook like Newsfeed the interviewer wants you to list out all the functional and non-functional requirements before they are finished asking the question then they expect you to talk about different Services needed to generate the news feed once that's done you're expected to talk about your choice of database database schema and how to Shard this database for scale and if you somehow get that far we are asked whether we should have have a pull mechanism or a push mechanism to generate the news feed by some miracle you able to argue for one of these the answer is always a hybrid approach all this happens in under 45 minutes let's be real here no real world systems are designed in 45 minutes unless of course it's Craigslist Facebook Newsfeed was launched in 2006 and it took them more than a year to come up with the like button it took them another 2 years to go from a reverse chronological news feed to a more personalized news feed hundreds of iterations and about 15 years later we have have this thing that we call Newsfeed the architecture of systems behind Newsfeed was designed by hundreds if not thousands of Engineers and it took them many many years to arrive at this optimized architecture that caters to millions of users and to expect an entry or a mid-level engineer to design a Facebook Newsfeed in 45 minutes is nothing but absurd whenever I make this point I'm often told that interviewers don't expect you to know everything and they just want you to talk about a certain aspect of the design well my answer to that is they do this one interviewer might want to talk about this one aspect of the problem but then there is this other one who expects me to be an expert in totally different domain to add to that in most cases being an expert in one specific thing is much harder than knowing a little bit about different things to prove that let me ask you to design a very simple highly available key value database in 45 minutes well good luck with that because it took a group of exceptional engineers at Amazon 15 years to design Dynamo DB which does exactly that so if you're expecting someone to build a news feed or Dynamo DB in 45 minutes all you are testing is whether the person has seen a similar problem before and this is where I want to give you the first very important tip and that is about where to find problems that are similar to interview questions in my opinion the best place to practice some system design interview questions is this course called grocking the system design interviews in this course you can learn some basic concepts like data partitioning consistent hashing and websockets this course will also walk you through design of some real world systems like Instagram you'll learn how to design different microservices which database to use how to Shard this data and how to make the system more available and resilient other than Instagram this course will also cover some other popular apps like Facebook Messenger YouTube and Uber since this is a paid course I also want to give you a free alternative for that I recommend this YouTube channel called code kle on top of covering Basics this channel also has videos explaining architecture of some popular apps like Twitter Amazon and WhatsApp another reason I think system design interviews are broken is the fact that most mid or senior level Engineers never get a chance to Design Systems like the ones that are asked in these interviews I have worked at multiple big companies now and I have never met a single senior engineer who ever got an opportunity to design a system that is similar to what's asked in the interviews don't get me wrong I'm sure there is a small percentage of Engineers who has done it but I can assure you that they are not the majority all the engineers I have worked with are really smart and I have no doubt that they are capable of Designing any kind of systems but the opportunities simply are not there so why in the world world would you test all these Engineers on the skills that they don't need for their job I understand why fangs or other big companies would do it they have so many people applying for a very small number of shobs so they can afford to be more selective hiring in these companies is fairly generic and people change their teams all the time so more the number of skills the better it is what I fail to understand is why these smaller companies follow suit by doing this these companies end up losing a lot of perfectly capable candidates so unless you're hiring for a green field project or a startup that is growing at a very fast pace doing system design interviews for entry to mid-level software engineer positions makes no sense another reason why system design interviews don't work is because system design interviews are very subjective like they tell you before the interview there is no right answer well they lie there's only one right answer to that question what is that answer you might ask well it's the one answer that the interviewer came prepared with I know this because I have given more than a dozen system design interviews myself and even after trying really hard I have never been able to steal and interviewer away from the solution they came prepared with except maybe one time your Solutions are crap you might say that's within the realm of possibilities I hear you in that case I would expect the interviewers to give me some logical reason for not picking my design but I hardly got any to be honest I don't think it's interviewer's fault as I already said designing highly scalable systems is very hard and most Engineers never get an opportunity to build systems like that so when forced to do these highly vague system design interviews it's my hunch that most interviews pick some known architecture memorize the solution and ask it in the interview I might be wrong about this one so if you're an interviewer and you came up with your own solution for the problem you ask in the interview let me know in the comments as I already said the only right solution is the one your interviewer knows that's why I want to give you this second very important tip and that is never design anything in the interview before checking in with your interviewer in a system design solution there are so many different aspects that you can discuss you can talk about capacity calculations API design database Choice database schema sharding and whatnot it's impossible to do everything in a short 45-minute interview but you want to make sure that you cover all the important things that are there in interviewer's solution so check in with your interviewer at every step to see what they're interested in and design those components for example most people advise you to do capacity estimates before starting on the solution that's the part where you do some calculations based on the number of daily active users and amount of data they upload using these numbers you estimate the amount of resources you'll need for the service in most cases you never end up using those numbers I always ask my interviewer if they want me to do the capacity estimates or should I just start designing different components and we can discuss how we would scale them more often than not the interviews are interested in the logical reasoning rather than the actual numbers so listen to your interviewer very carefully last major issue with system design interviews is that different people have their own interpretation of system design let me give you some examples from my own interview experiences in a system design interview at one of the most popular tech companies I was given a text file containing logs from their service and asked to write code to extract some information using these logs at another company I was asked to design a parking lot which is essentially an objectoriented design question lastly in a very popular startup I was asked to do an API design without ever talking about databases or anything related to scalability so when someone says system design interview don't just assume that it means the same thing as you think and that's why I want to give you this final tip which is the most important tip don't ever start working on the solution without clarifying every aspect of the problem statement even if you think you got the question repeat what you understood in detail to your interviewer and ask for their confirmation remember the interview I told you about where I was given a text file containing logs I only got to know about the log file at the 40 minute Mark in the interview at which point it was already too late so ask as many clarifying questions as needed before starting on your solution but this video would not be complete without telling you how to fix these interviews what if I tell you that there is a tech company which has already found a way to fix system design interviews that company is square for those of you who don't know square is a fintech company that provides services like point of sale payments and banking when I got invited to their on-site interview I received a surprising email from them they gave me the system design interview question a couple of weeks before the interview when I asked them why they did so their answer was very simple no systems can be designed in 45 minutes and we want to give you enough time to prepare they told me that in the actual interview they would like to discuss the design trade-off I made to arrive at the final solution and that's when I learned that system design interviews are not really broken it's the way we do them that needs to be fixed if you're having a hard time cracking coding interviews watch this video at the Top If you want to know how I became a software engineer at Google without a CS degree you can watch this one on the bottom I'll see you in the next one [Music]
Original Description
System Design Interview is an integral part of Software Engineer interviews and it takes a lot of time to prepare for System Design Interview questions. While there are people like Gaurav Sen who are doing a good job at teaching System Design concepts, I believe System Design Interviews are fundamentally broken. In this video, I'll explain Why.
Resources I talk about in this video:
1. Grokking the system interview: https://www.educative.io/courses/grokking-the-system-design-interview
2. Codekarle: https://www.youtube.com/c/codeKarle
NOTE: We are not paid by any of the above. Subscribe to our channel if you want to support us.
#systemdesign #systemdesigninterview #grokkingthesystemdesign
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Sahil & Sarra · Sahil & Sarra · 16 of 60
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
▶
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Product Management Internship - EASIEST Path to Become a PM
Sahil & Sarra
I Quit $200,000 Software Engineer Job at Amazon
Sahil & Sarra
What do I do as a Product Manager? - Product Manager Role
Sahil & Sarra
CHEAT SHEET that I Used to Crack Product Manager Interview at MICROSOFT
Sahil & Sarra
Why Tech Workers are Getting RICH💰💰 #shorts
Sahil & Sarra
Why Is Everyone Quitting Their Six Figure Tech Job?
Sahil & Sarra
5 Years of Coding - Everything I've Learned
Sahil & Sarra
5 Highest Paying Tech Companies 💸💸 #shorts
Sahil & Sarra
How I TRIPLED My Salary by Joining TECH
Sahil & Sarra
How I Became a Software Engineer Without a Computer Science Degree
Sahil & Sarra
Top 5 non-CODING Tech Jobs that Pay $100,000+
Sahil & Sarra
Top 5 Tech Jobs That Pay $100,000+ Without Coding
Sahil & Sarra
FASTEST Way to Learn Coding and ACTUALLY Get a Job
Sahil & Sarra
Coding Interviews Are Easier Than You Think
Sahil & Sarra
THIS is Why Software Engineers Make So Much Money
Sahil & Sarra
System Design Interviews are a SCAM
Sahil & Sarra
I got $50,000 more when I negotiated my tech salary
Sahil & Sarra
How I would learn to code in (If I could start over)
Sahil & Sarra
Google is not the best tech company
Sahil & Sarra
How YouTube is killing your programming career
Sahil & Sarra
This is Why Your Resume Gets Rejected
Sahil & Sarra
How I Hacked My Mind To Learn Coding
Sahil & Sarra
FASTEST Way to Learn Data Science and ACTUALLY Get a Job
Sahil & Sarra
FASTEST Way to Learn Web Development and ACTUALLY Get a Job
Sahil & Sarra
Why Most People FAIL to Learn Coding
Sahil & Sarra
Google Engineer reveals his darkest secrets
Sahil & Sarra
Become a better Programmer in 8 minutes
Sahil & Sarra
Start Behaving Like a Programmer
Sahil & Sarra
The Resume That Got Me Into Google
Sahil & Sarra
I solved 541 Leetcode problems. But you need only 150.
Sahil & Sarra
Why Good Programmers FAIL Coding Interviews
Sahil & Sarra
Can you solve this problem in one line?
Sahil & Sarra
Puzzles for Software Engineers - Microsoft #1
Sahil & Sarra
Puzzles for Software Engineers - Amazon #1
Sahil & Sarra
Layoffs = The END of Software Engineering?
Sahil & Sarra
Puzzles for Software Engineers - Apple #1
Sahil & Sarra
Puzzles for Software Engineers - Amazon #2
Sahil & Sarra
Puzzles for Software Engineers - Microsoft #2
Sahil & Sarra
Puzzles for Software Engineers - Apple #2
Sahil & Sarra
2-Minute Rule to Learn Coding - Atomic Habits
Sahil & Sarra
2 Minute Rule for Coding
Sahil & Sarra
5 Math Skills Every Programmer Needs
Sahil & Sarra
3 Developer Roadmaps That Actually Work
Sahil & Sarra
Cracked Google without a CS degree
Sahil & Sarra
Top 5 Coding Languages To Get a Job
Sahil & Sarra
4 Reasons Good Programmers FAIL Coding Interviews
Sahil & Sarra
Reality of Software Development
Sahil & Sarra
C is the grandmother of JavaScript
Sahil & Sarra
How to Hack Passwords
Sahil & Sarra
Learn Python with ChatGPT
Sahil & Sarra
Learn Web Development with ChatGPT
Sahil & Sarra
ChatGPT 2.0 aka GPT-4 is here!
Sahil & Sarra
7 things I wish I knew in my 20s
Sahil & Sarra
💸💸 $177,000,000 Coding Error
Sahil & Sarra
5 Google Search Secrets
Sahil & Sarra
QWERTY Keyboard Slows Your Typing 🤔
Sahil & Sarra
💰💰 Top 5 Highest Paying Jobs For Programmers
Sahil & Sarra
👩🏻💻 Top 5 Programming Languages
Sahil & Sarra
5 Steps to become a Full-Time Developer
Sahil & Sarra
Coding is NOT enough
Sahil & Sarra
Related Reads
📰
📰
📰
📰
Understanding Abstraction in C++: Abstract Classes, Pure Virtual Functions & Interview Questions
Medium · Programming
Building a Secure MCP Bridge for ArcGIS Pro and ArcPy
Dev.to · Muhammed Enes Duran
Why I Treat the Curriculum Like a Software Architecture
Dev.to · Mostafa Fathy
Hiring SREs: What I Look For After Interviewing 100+ Candidates
Dev.to · Samson Tanimawo
🎓
Tutor Explanation
DeepCamp AI