Are System Design Interviews Flawed?
Key Takeaways
The video discusses the flaws in system design interviews, highlighting the difference between theoretical system design and real-world implementation, and emphasizes the importance of understanding the details and nuances of system design.
Full Transcript
are DSA rounds getting replaced with system design rounds what's your thought as far as I know I don't know any companies where that is the case there's always going to be some type of coding round whether it's DSA or something else because at the lower level positions that's primarily your job anyway doing a lot of coding system design is very vague you have boxes and you have servers talking to databases you know you can draw a box and say I'm adding a load balancer who I said the key word I said the two words the magic word load balancer now that's going to automatically scale my application it's very shallow it's what I don't like about system design in a real system design interview it's not about putting the boxes in the correct place because it's really a template the best example that I could give with this and I'm not even trying to plug at this point I made a course and I made a design dock which is free I'm genuinely not trying to plug a short design dock right you're trying to solve a problem right like design YouTube I focused on a pretty specific part of it video processing part in Theory this design should work right it's just very basic you transcode a video and then you consume a video there's missing parts to this there's no CDN there's no blah blah blah there's not all that stuff in a real system design you you won't be able to go in depth to all those components because even in this thing I wrote this three or four page design talk and there were so many damn problems with it and I think that's what a system design interview should be about you have something that feeds into some workers that transcode videos well where are the bottlenecks what happens when it fails what's it going to do is is it going to retry I think that's what a system design interview is about and I think in many cases at many companies that is what they do they dig into those details for example you have a message CU a pub sub that feeds into a fleet of workers that can kind of Auto scale but is it going to be pole based or push based and why in this design do when I implemented the project I went with push based just because it was more simple but 100% poll based is better and I literally talked about why that is it's not about like drawing the boxes it's about actually understanding the boxes the details the differences the best way to understand that is to implement certain things if you watch system design video try to implement that application because it it doesn't take as long as you would think this YouTube clone it probably took me like 60 hours of coding to implement this try that and you'll improve your coding skills and your system design skills at the same time you'll improve your ability to read documentation at the same time I had used a lot of those Google Cloud tools before but if you can't like quickly code up like a basic clone of something then you should probably improve your coding skills cuz I'm not even that good at coding I didn't even write that much code at Google even I was able to do it did you follow a guide or write it on your own I pretty much wrote it on my own technically I kind of in a sense I followed a guide I made a system design video about designing YouTube and I more or less used this architecture I didn't include certain components I did not include a CDN just to keep it simple if you look at this system design video and I had people in the comments tell me hey this system design is overly simplistic it won't work well I pretty much implemented a basic clone with it in theory they're right it is in some ways overs simplistic but in a real interview do you really think somebody can design the entire YouTube clone and optimize every single component I mean do you have any idea how complicated that would be even in a system design interview you end up focusing on one component I read the docs at Google which tell you how to conduct a system design interview and they specifically said do not ask overly vague questions like how do you design YouTube how do you design this massive service and they say if you do end up asking that at some point you have to narrow the scope of the interview the reason I title it this way is That's The Meta of system design content on social media and YouTube and stuff it's never that simple in a real interview you always narrow down into one part in that personal project I very specifically focused on the transcoding I didn't imp implement the user interface very much at all even this I kind of touched on it in the video video streaming pretty complicated you're telling me that if you're preparing for system design interviews not only do you got to know in detail all these hundred ass components but you also got to be an expert on video playback how many people can say they are I worked with several senior Engineers they were very good and I can tell you of course they don't know how to build the entire YouTube system of course they don't know everything about video streaming most people don't and most people don't have to but it's not about that like in a system design interview you can demonstrate your skills in other ways senior Engineers write a lot of design docs do you think the design dock that they write is we're designing this massive system for the first time one senior engineer is just going to tell me exactly how to do it no they design very small systems and even that is really hard system design interviews are really misleading nobody's designing this massive stuff they are designing small things and doing it really really well whereas in system design interviews people are designing big things very very poorly
Original Description
🚀 https://neetcode.io/ - A better way to prepare for Coding Interviews
🧑💼 LinkedIn: https://www.linkedin.com/in/navdeep-singh-3aaa14161/
🥷 Discord: https://discord.gg/ddjKRXPqtk
🐦 Twitter: https://twitter.com/neetcode1
🐮 Support the channel: https://www.patreon.com/NEETcode
⭐ BLIND-75 PLAYLIST: https://www.youtube.com/watch?v=KLlXCFG5TnA&list=PLot-Xpze53ldVwtstag2TL4HQhAnC8ATf
💡 DYNAMIC PROGRAMMING PLAYLIST: https://www.youtube.com/watch?v=73r3KWiEvyk&list=PLot-Xpze53lcvx_tjrr_m2lgD2NsRHlNO&index=1
#neetcode #leetcode #python
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from NeetCodeIO · NeetCodeIO · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
Leetcode 149 - Maximum Points on a Line - Python
NeetCodeIO
Design Linked List - Leetcode 707 - Python
NeetCodeIO
Minimum Time to Collect All Apples in a Tree - Leetcode 1443 - Python
NeetCodeIO
Design Browser History - Leetcode 1472 - Python
NeetCodeIO
Number of Good Paths - Leetcode 2421 - Python
NeetCodeIO
Flip String to Monotone Increasing - Leetcode 926 - Python
NeetCodeIO
Maximum Sum Circular Subarray - Leetcode 918 - Python
NeetCodeIO
Find Closest Node to Given Two Nodes - Leetcode 2359 - Python
NeetCodeIO
Concatenated Words - Leetcode 472 - Python
NeetCodeIO
Data Stream as Disjoint Intervals - Leetcode 352 - Python
NeetCodeIO
LFU Cache - Leetcode 460 - Python
NeetCodeIO
N-th Tribonacci Number - Leetcode 1137
NeetCodeIO
Best Team with no Conflicts - Leetcode 1626 - Python
NeetCodeIO
Greatest Common Divisor of Strings - Leetcode 1071 - Python
NeetCodeIO
Shortest Path in a Binary Matrix - Leetcode 1091 - Python
NeetCodeIO
Insert into a Binary Search Tree - Leetcode 701 - Python
NeetCodeIO
Delete Node in a BST - Leetcode 450 - Python
NeetCodeIO
Shuffle the Array (Constant Space) - Leetcode 1470 - Python
NeetCodeIO
Fruits into Basket - Leetcode 904 - Python
NeetCodeIO
Number of Subarrays of size K and Average Greater than or Equal to Threshold - Leetcode 1343 Python
NeetCodeIO
Naming a Company - Leetcode 2306 - Python
NeetCodeIO
As Far from Land as Possible - Leetcode 1162 - Python
NeetCodeIO
Shortest Path with Alternating Colors - Leetcode 1129 - Python
NeetCodeIO
Minimum Fuel Cost to Report to the Capital - Leetcode 2477 - Python
NeetCodeIO
Count Odd Numbers in an Interval Range - Leetcode 1523 - Python
NeetCodeIO
Contains Duplicate II - Leetcode 219 - Python
NeetCodeIO
Path with Maximum Probability - Leetcode 1514 - Python
NeetCodeIO
Add to Array-Form of Integer - Leetcode 989 - Python
NeetCodeIO
Unique Paths II - Leetcode 63 - Python
NeetCodeIO
Minimum Distance between BST Nodes - Leetcode 783 - Python
NeetCodeIO
Design Hashmap - Leetcode 706 - Python
NeetCodeIO
Range Sum Query Immutable - Leetcode 303 - Python
NeetCodeIO
Binary Tree Zigzag Level Order Traversal - Leetcode 103 - Python
NeetCodeIO
Middle of the Linked List - Leetcode 876 - Python
NeetCodeIO
Course Schedule IV - Leetcode 1462 - Python
NeetCodeIO
Single Element in a Sorted Array - Leetcode 540 - Python
NeetCodeIO
Capacity to Ship Packages - Leetcode 1011 - Python
NeetCodeIO
IPO - Leetcode 502 - Python
NeetCodeIO
Minimize Deviation in Array - Leetcode 1675 - Python
NeetCodeIO
Longest Turbulent Array - Leetcode 978 - Python
NeetCodeIO
Last Stone Weight II - Leetcode 1049 - Python
NeetCodeIO
Construct Quad Tree - Leetcode 427 - Python
NeetCodeIO
Find Duplicate Subtrees - Leetcode 652 - Python
NeetCodeIO
Sort an Array - Leetcode 912 - Python
NeetCodeIO
Ones and Zeroes - Leetcode 474 - Python
NeetCodeIO
Remove Duplicates from Sorted Array II - Leetcode 80 - Python
NeetCodeIO
Maximum Twin Sum of a Linked List - Leetcode 2130 - Python
NeetCodeIO
Concatenation of Array - Leetcode 1929 - Python
NeetCodeIO
Symmetric Tree - Leetcode 101 - Python
NeetCodeIO
Check Completeness of a Binary Tree - Leetcode 958 - Python
NeetCodeIO
Construct Binary Tree from Inorder and Postorder Traversal - Leetcode 106 - Python
NeetCodeIO
Find Peak Element - Leetcode 162 - Python
NeetCodeIO
Accounts Merge - Leetcode 721 - Python
NeetCodeIO
Binary Tree Preorder Traversal (Iterative) - Leetcode 144 - Python
NeetCodeIO
Binary Tree Postorder Traversal (Iterative) - Leetcode 145 - Python
NeetCodeIO
Number of Zero-Filled Subarrays - Leetcode 2348 - Python
NeetCodeIO
Minimum Score of a Path Between Two Cities - Leetcode 2492 - Python
NeetCodeIO
Sqrt(x) - Leetcode 69 - Python
NeetCodeIO
Successful Pairs of Spells and Potions - Leetcode 2300 - Python
NeetCodeIO
Optimal Partition of String - Leetcode 2405 - Python
NeetCodeIO
More on: Systems Design Basics
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Distributed Transactions in System Design: Why Data Consistency Becomes Hard Once Your Application…
Medium · Programming
Monolith vs Microservices: A Real-World Architectural Autopsy
Dev.to · Erwin Wilson Ceniza2
FOV in FPS Games: The Math Behind Field of View Settings
Dev.to · Alex Carter
How I Structured My Next.js 14 App Router Project — And Why It Scales
Dev.to · Mbanefo Emmanuel Ifechukwu
🎓
Tutor Explanation
DeepCamp AI