- 29
- 1 175 754
Hello Interview - SWE Interview Preparation
เข้าร่วมเมื่อ 4 มี.ค. 2022
We help software engineering candidates prepare for upcoming FAANG and FAANG-adjacent interviews via mock interviews with FAANG senior+ engineers and managers, AI tools, and extensive free content created by experts.
DynamoDB Deep Dive w/ a Ex-Meta Staff Engineer
DynamoDB is a must-know technology for System Design interviews. This video, with a former Meta staff engineer, breaks down the essentials, starting at a high level and working our way down into more and more detail.
00:00 Intro
00:33 Data Model
02:44 Indexing
09:21 How to use it
12:35 Architecture
16:27 Advanced features
20:53 When to use it
22:22 Advanced features
Full writeup here:
www.hellointerview.com/learn/system-design/deep-dives/dynamoDB
Connect with me on LinkedIn:
www.linkedin.com/in/evan-king-40072280/
Preparing for your upcoming interviews and want to practice with top FAANG interviewers like Evan? Book a mock interview at:
www.hellointerview.com
Good luck with your upcoming interviews!
00:00 Intro
00:33 Data Model
02:44 Indexing
09:21 How to use it
12:35 Architecture
16:27 Advanced features
20:53 When to use it
22:22 Advanced features
Full writeup here:
www.hellointerview.com/learn/system-design/deep-dives/dynamoDB
Connect with me on LinkedIn:
www.linkedin.com/in/evan-king-40072280/
Preparing for your upcoming interviews and want to practice with top FAANG interviewers like Evan? Book a mock interview at:
www.hellointerview.com
Good luck with your upcoming interviews!
มุมมอง: 2 298
วีดีโอ
System Design Interview: Design Live Comments w/ a Ex-Meta Staff Engineer
มุมมอง 10Kวันที่ผ่านมา
00:00 - Intro 01:31 - The Approach 4:05 - Requirements 11:15 - API & Core Entities 17:16 - High Level Design 26:19- Deep Dives 55:45 - Conclusion A step-by-step breakdown of everyones first system design interview question, Design FB Live Comments. Evan, a former Meta Staff Engineer and current co-founder of Hello Interview, walks through the problem from the perspective of an interviewer. Conn...
System Design Interview: Design Whatsapp w/ a Ex-Meta Senior Manager
มุมมอง 21Kหลายเดือนก่อน
00:00 Intro 01:14 The Approach 02:10 Requirements 09:40 Core Entities 12:29 API 17:23 High-Level Design 31:53 Deep Dives 54:59 Conclusion A step-by-step breakdown of the popular FAANG system design interview question, Design Whatsapp, which is asked at top companies like Meta, Google, Amazon, Microsoft, and more. Stefan, a former Meta senior manager and current co-founder of Hello Interview, wa...
CAP Theorem in System Design Interviews
มุมมอง 22K2 หลายเดือนก่อน
Learn about CAP Theorem and how to use it in a System Design interview from the perspective of a Meta Staff Engineer and interviewer. Excalidraw from video: link.excalidraw.com/l/56zGeHiLyKZ/8ntWRaa0Q6K System Design In a Hurry: www.hellointerview.com/learn/system-design/in-a-hurry/introduction Connect with me on LinkedIn: / evan-king-40072280 Preparing for your upcoming interviews and want to ...
Beginner System Design Interview: Design Bitly w/ a Ex-Meta Staff Engineer
มุมมอง 36K2 หลายเดือนก่อน
00:00 - Intro 01:41 - The Approach 3:35 - Requirements 13:48 - API & Core Entities 18:38 - High Level Design 27:31- Deep Dives 59:00 - Conclusion A step-by-step breakdown of everyones first system design interview question, Design Bit.ly. Evan, a former Meta Staff Engineer and current co-founder of Hello Interview, walks through the problem from the perspective of an interviewer. Connect with m...
Interview with a Databricks Head of Applied AI: Industry Trends, How to Move Ahead, and Keeping Sane
มุมมอง 10K3 หลายเดือนก่อน
Stefan interviews Ritendra Datta who is the head of applied AI at Databricks and formerly Meta eng director and Google senior staff engineer, about the evolution of the industry, how to be effective, and how to position yourself for the future. Follow Ritendra on LinkedIn: www.linkedin.com/in/ritendradatta/ Got ideas for who you want to see us talk to next? Drop it in the comments. Preparing fo...
System Design Interview: Design Tinder w/ a Ex-Meta Staff Engineer
มุมมอง 39K4 หลายเดือนก่อน
00:00 - Intro 02:38 - The Approach 5:44 - Requirements 13:55 - Entities & API 20:13 - High Level Design 40:29 - Deep Dives 1:12:11 - Conclusion A step-by-step breakdown of the popular FAANG system design interview question, Design Tinder. Evan, a former Meta Staff Engineer and current co-founder of Hello Interview, walks through the problem from the perspective of an interviewer. Connect with u...
Coding Interview Fundamentals: Post-Order Traversal
มุมมอง 4.9K4 หลายเดือนก่อน
00:00 Intro 00:45 Diameter of a Binary Tree (Easy) 02:21 Brute-Force Approach 04:20 Optimal Approach (Bottom-up, Post-Order Traversal) 06:50 Visualizing Optimal Solution 10:30 When to use Post-Order Traversal 11:54 Practice Q1: Binary Tree Tilt (Easy) 14:58 Practice Q2: Longest Univalue Path (Medium) 21:33 Practice Q3: Binary Tree Maximum Path Sum (HARD) 24:29 Conclusion FREE interactive, visua...
Elasticsearch Deep Dive w/ a Ex-Meta Senior Manager
มุมมอง 39K4 หลายเดือนก่อน
Elasticsearch is a powerful, open-source, distributed search engine which is perfect for your system design interview with companies like Meta, Google, Amazon, and others. Walk through how to use Elasticsearch, pitfalls, how it works under the covers, and how you can use its design to inform your own. 00:50 Introduction 02:50 Search 04:24 Core Concepts 05:48 Ingesting Documents 10:49 Filtering ...
Coding Interview Fundamentals: Depth-First Search and Recursion (Binary Trees)
มุมมอง 6K4 หลายเดือนก่อน
Depth-First Search and Recursion are the two most important topics for the coding interview, as they can be used to solve a wide variety of problems. This video will give you a strong foundation in both topics by teaching you how to solve Binary Tree problems using recursion. 0:00 Introduction 1:44 Depth-First Search Basics 4:24 Thinking Recursively 7:04 Visualizing a Recursive Function 10:21 R...
Design Yelp, Meta Staff Product Architecture: Hello Interview Mock
มุมมอง 18K5 หลายเดือนก่อน
This is an anonymized recording of a real mock interview conducted on www.hellointerview.com. This is being shared in an anonymized fashion with the written consent of the candidate. In this session, the candidates was asked to design Yelp in a Staff, Meta Product Architecture interview. This candidate did 2 more mocks on the platform and was hired by Meta as a Staff, Product SWE! 🎉 Interested ...
System Design Interview: Design LeetCode (Online Judge) w/ a Ex-Meta Staff Engineer
มุมมอง 41K5 หลายเดือนก่อน
System Design Interview: Design LeetCode (Online Judge) w/ a Ex-Meta Staff Engineer
Kafka Deep Dive w/ a Ex-Meta Staff Engineer
มุมมอง 95K6 หลายเดือนก่อน
Kafka Deep Dive w/ a Ex-Meta Staff Engineer
System Design Interview: Design Top-K Youtube Videos w/ a Ex-Meta Senior Manager
มุมมอง 55K6 หลายเดือนก่อน
System Design Interview: Design Top-K TH-cam Videos w/ a Ex-Meta Senior Manager
Interview with a Meta EM: AI Impact on SWEs, Team Match, Ramp-Up, How to Learn
มุมมอง 14K6 หลายเดือนก่อน
Interview with a Meta EM: AI Impact on SWEs, Team Match, Ramp-Up, How to Learn
Redis Deep Dive w/ a Ex-Meta Senior Manager
มุมมอง 73K6 หลายเดือนก่อน
Redis Deep Dive w/ a Ex-Meta Senior Manager
System Design Interview: Design a Web Crawler w/ a Ex-Meta Staff Engineer
มุมมอง 57K7 หลายเดือนก่อน
System Design Interview: Design a Web Crawler w/ a Ex-Meta Staff Engineer
System Design Interview: Design an Ad Click Aggregator w/ a Ex-Meta Staff Engineer
มุมมอง 72K8 หลายเดือนก่อน
System Design Interview: Design an Ad Click Aggregator w/ a Ex-Meta Staff Engineer
System Design Interview: Design Dropbox or Google Drive w/ a Ex-Meta Staff Engineer
มุมมอง 93K8 หลายเดือนก่อน
System Design Interview: Design Dropbox or Google Drive w/ a Ex-Meta Staff Engineer
System Design Interview: Design Uber w/ a Ex-Meta Staff Engineer
มุมมอง 149K9 หลายเดือนก่อน
System Design Interview: Design Uber w/ a Ex-Meta Staff Engineer
System Design Interview: Design Ticketmaster w/ a Ex-Meta Staff Engineer
มุมมอง 186K10 หลายเดือนก่อน
System Design Interview: Design Ticketmaster w/ a Ex-Meta Staff Engineer
Design FB Live Comments: Hello Interview Mock
มุมมอง 34K10 หลายเดือนก่อน
Design FB Live Comments: Hello Interview Mock
System Design Interview Walkthrough: Design Twitter
มุมมอง 83Kปีที่แล้ว
System Design Interview Walkthrough: Design Twitter
Excellent. Thanks for the video. Looking forward to having more deep dive explanations like lambda which is most asked in the interview..Thanks in advance.
Just found your channel, currently studying for a system design interview for Meta. I've found your videos to be the best free resource BY far when preparing. You don't just go through the motions of designing the system but you actively teach the audience and explain each part of what you're doing and why. You tell us where candidates usually mess up, and how to avoid some of those pitfalls. I'm glad I found your channel
We’re glad you’re here :)
Checkout HelloInterview.com too for a lot more
Amazing, Evan! When did you realize you had a passion for teaching? During Meta?
I did a lot of teaching in college that I enjoyed
I enjoyed your livestream / interview / podcast recently with Stefan. Specifically your individual experiences you guys shared how you journeyed from grad school to workforce. You guys rock.
At 3:35 you mentioned b-tree is stored in memory, I think it is actually stored in the storage and not in memory.
Yah good call. The full tree is on disk, just hot paths may be cached in memory
This is awesome. thank you
I thought you two are one person i swear to God 😅
We get that a lot lol
Why would introduce a lock when you could just treat the `Available` status of a driver as DERIVED data obtained by a server side logic wrapped in a function, rather than FUNDAMENTAL data?
The image of a comments service screaming out into the ether is somehow very funny. Liked and subscribed :)
😂
Great content. Not clear on one thing about GSI... Which shard/partition is the GSI stored on? Is it replicated as well?
Great question. GSI has a different partition key and, thus, a different physical partition (and its own replicas). Whereas LSI exists on the same physical partition as the original table.
Great video. I love your content. I learnt so much from you guys 🙏❤️
Nice!
At 58:55, you mentioned that the queue would be partitioned by region which makes the assumption that we would have the Rider's location and could partition based on location. In an interview situation, we wouldn't necessarily have time to dive into it but it feels a bit hand wavey to say this. Do you recommend that we follow this example?
33:00 - Probably best save the userId on the lock as well as the database. Better security posture, so nobody can steal tickets (ofc we still need to protect all these actions with authorization, CSRF and such)
"Yeahhh, that's one fine lookin' barbeque pit. WHY DOESN'T MINE LOOK LIKE THAT?!" if you get this reference, you are a gentleman/gentlewoman and a scholar
woooow, more like this
Coming right up!
Excellent explanation
💙
TH-cam live comments use basic polling, so.. if it's good enough for them..
engineering.fb.com/2011/02/07/core-infra/live-commenting-behind-the-scenes/
Shoot, I forgot to say "like and subscribe again" lol. So, Like and Subscribe! n00b
Are you a gamer too Evan? Would love to know what you play :)
came because of Evan's handsomeness, stayed because of the content
😂
Great video! Love your work guys. I got Hello Interview premium and love the system design practice. Thank you so much!!
🔥 You rock! Glad to hear you’re finding Premium helpful.
Sorry! What level do we see these roles? Like senior SA or staff level? Suddenly feels so intimidating as a entry level
How Redis maintains this cached data internally? does it maintains in some kind of tables or files? If I want to store 10GB of some relational data tables data or query output, should we need approximately same out of RAM for REDIS setup? Could you please provide the details how to understand the internals
Redis is an in-memory datastore, if you want to store 10GB of data in Redis, you need 10+GB of RAM, there's no paging out to disk. When operations happen they are added to an AOF (append-only file), but that's the full extent the disk is involved for garden variety Redis.
So the question should be "When SQL or NoSQL"
hey, this is great. What tool are you using to write on?
Excalidraw
The best content for System Design!
💙
the informations in your videos are invaluable but why are they always blurry; i find it very difficult to see the texts in your video; Can you improve of that please.
watch this repeatedly to grasp the concepts and details of elasticsearch. Thank you so much!
Hello Sir, I wanted to know as a beginner, could you recommend any resources to get me started on System Design? I have bookmarked 2-3 good TH-cam tutorials but I wanted to know from a Senior. I also have "System Design: An Insider's Guide by Alex Yu" thanks !
Is this enough for sde2 roles?
For scaling the database, you mentioned having VideoID as shard (partition) key and createdAt as sort key. This means that you can only have one unique comment per videoID per timestamp. This doesn't really seem correct since you can have multiple comments coming in at the same time, as unlikely as that is, for a video. Should it be a multi-column partition key, like PRIMARY_KEY( (videoID, commentID), createdAt)? I think this would work since it'll partition based on the first part of the partition key, but also maintain uniqueness per videoID/commentID pair, and then it'll be sorted by timestamp for fast range queries? If my concern is valid, how would this be tackled in dynamoDB which doesn't support multi-column partition keys? I guess you could just use commentID as partition key and createdAt as sort key, but also have a secondary index on the videoID?
yah this was loose from me. sort key would be commentID which would need to be monotonically increasing id like cuid. Thus, allowing you to sort by time
thanks but I found this relatively confusing to understand
So clear and practical. Really enjoy this video! Thank you!
Introducing a checkpointing and bootstrap before actually explaining what exactly is getting checkpointed and why is confusing. Also handwaving out "consistency of counters across jobs and consistency of top k heap" seems undesirable, especially since we have gone out of our way of saying we want to be "precise" in the functional requirements.
Hey @hello_interview, thanks for the video, had a quick question around the Tinder matching being strongly consistent. Is that necessary ? If I get a match, it should be ok to see that information after a while, rather than seeing that information at the very next moment. Let me know if my understanding is wrong here.
Way to go. Couldn't have had a better start to the year 🎉
Hi The deep dive sessions are really amazing and precise. Please keep the playlist going. Thanks in advance!
Can Redis Pubsub handle the number of topics if the scale is 1B+ DAU? I guess only a fraction will be actively connected so maybe it’s more like 100 M topics at any given time and Redis cluster can scale to that without it being too costly? I am not sure what the memory overhead is for each topic. Would partitioning by hashing the user ID and taking modulo by number of target channels so that users share topics be viable? Chat servers can ignore broadcasted messages if the it has no relevant connection.
For Redis GeoHashing whats the key and value ?
So what was the answer to it ? Video is unclear about opting for multiple DB or not ?
"It depends". If you're interviewing for Amazon or a company that cares deeply about service separation, yes. If you're trying to deliver a service simply for a company (like a startup) which cares about solving the problem first and foremost, don't bother.
There are a lot of praises in the comment. However, I cannot justify using Redis with TTL instead of using reserved_at field. Yes it makes it clearer but with the price with using additional service (Redis cache)
What will be the changes if I am designing a system which can give Flash Sales for any Product. For Flash sales the reads and writes both will be extensive.
Great format! Looking forward to see more shorts from you! It‘s easier to consume information in such a way👍
The level of detail in this video is crazy
Have you seen use cases with retention periods set to infinite and what would be some examples of that? retention ms and retention bytes both set to -1
incredible video
Have a Meta E4 onsite coming up. Do you think it would be worth it to dig deep into Docker containers for mid level? or would it be fine to abstract it?
could you explain more into that celebrity accountsdo we store these accounts in some separate DB table
Thank you for this great system design ! As a feedback, I'd have liked to see more about the scaling part : "do we need sharding ?" "how many concurrent connections can handle the database ?" "Are read-replicas relevant ?" "how to effectively archive or prune the data without disturbing the main flow ? " Maybe these are not relevant questions, but it's hard for me to have a clear path to answer how the database will handle the load. Thank you !
The video gives a "plan" how to go through the design interviews and teaches the main idea -- go top to bottom, expand on the requirements, and avoid a trap of getting stuck on low-level details too early. However, this very approach results in that I would call a problem. Implementation of the "counter" idea is very questionable in the end. The original premise was that we needed a counter to avoid 1 extra read to the database to check uniqueness. But, in the end, the author creates a "global counter". Instead of an extra read to a database, we get an extra read to the cache. Ok, we reserve 1000 counts to avoid reading -- that solves the problem. But we can equally keep the counter in the database, not in Redis cache. What happens if a Redis instance dies? Yes, Redis can sync it's state to the disk in the background. But if Redis dies before syncing the last increment, then the "primary server" would issue 1000 short urls on a stale counter. And, on Redis restart, the primary server "reserves" the same 1000 urls. So we need a duplicate check to handle this -- back to square one.
Hey, thanks a lot for the video. This is of amazing quality. I just wanted to ask a couple of improvements and whether they make sense at all. I was thinking, since we already use GeoHashing and the lat long is mapped to some string with a certain granularity, we could calculate the hash on the client side and only send the update request when it changes? Then delete the row altogether when the driver picks up someone or turns off their availability. Would that make sense? Or since we could already use redis for the lock, we might also use it for other states where the driver is unavailable as well, like already in a ride or unavailable, without TTL this time, and avoid doing an extra db call. What would you think?