Тёмный
Hello Interview - SWE Interview Preparation
Hello Interview - SWE Interview Preparation
Hello Interview - SWE Interview Preparation
Подписаться
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.
Kafka Deep Dive w/ a Ex-Meta Staff Engineer
43:31
2 месяца назад
Redis Deep Dive w/ a Ex-Meta Senior Manager
31:00
3 месяца назад
Design FB Live Comments: Hello Interview Mock
59:50
7 месяцев назад
Комментарии
@ElHassaneBoushib
@ElHassaneBoushib 2 часа назад
Awesome content as usual! Keep up the great work!
@michaelgreco2326
@michaelgreco2326 5 часов назад
Love the content! Watched so many videos and they have really helped me in interviews. I had one questions. Instead of dumbing data from Kinesis to S3 to be read by spark. Why not just have spark batch processing read right off of Kinesis? If you are doing reconciliation every hour, day, or whatever. If is is smaller than the retention policy on Kinesis, I thought you could just do it from there. What am I missing?
@fernieqin90903
@fernieqin90903 6 часов назад
Very very nice video.
@tuskiomisham
@tuskiomisham 8 часов назад
Q: I've never heard a systems design question about a write-heavy application. why even specify a system is 'read heavy' anyway?
@hello_interview
@hello_interview 7 часов назад
There are lots of write heavy systems. Ad click aggregator and tinder and two we even have videos for
@troyfischer6786
@troyfischer6786 8 часов назад
Echoing the existing sentiment in that this content is incredibly informative and well put together. Really appreciate your work
@saber3112
@saber3112 9 часов назад
Great video , is it necessary to have the back of calculations for storage or just throughput and bandwidth..
@mse312
@mse312 9 часов назад
I have 2 questions and would be most grateful if you could answer them? 1) Is there a reason in TicketMaster example you drew the API Gateway component but not here? 2) Is there a reason you mentioned CRUD Service in TIcketMaster example but not in this one?
@MrCSFTW
@MrCSFTW 10 часов назад
Maybe a nit or I'm not in the know. But SQS doesn't have built in exponential retry right? You'd need to implement with approxRecieveCount and modify visibility timeout?
@MrCSFTW
@MrCSFTW 10 часов назад
God my RU-vid handle is unbearable I apologize
@DilipKumar-ij3cf
@DilipKumar-ij3cf 15 часов назад
Can you please explain why we need kinesis in the middle and not directly write to Flink? Just a suggestion, when you introduce a particular technology please explain why. You do at time for DB but sometime you miss.
@hello_interview
@hello_interview 13 часов назад
Write throughout. Pretty sure this is covered as it’s the crux.
@thomaskim5742
@thomaskim5742 18 часов назад
This is the best system design study resource I've came across that has depth and feedback (pass/no pass for mid/sr/staff) on design choices. Question: How can we use DynamoDB for Driver Lock? I thought DDB is eventually consistent for writes, so it doesn't offer strong consistency. It offers strong consistency for reads. Is that sufficient?
@jagrit07
@jagrit07 18 часов назад
As always the content is awesome, I had a QQ on the cron job thing to fix the stale reserved tickets. In the video you mentioned, There could be a scenario that ticket remains unreserved for 19 minutes when the cron job runs every 10 mins or so. I didn't understood that. If at all anyone is reading and has time, Can you please explain? Thanks in advance!
@IshaZaka
@IshaZaka День назад
Hi It is so good, plz add back of envelope estimation in the session
@anthonytafoya3451
@anthonytafoya3451 День назад
You are a beast
@eshw23
@eshw23 День назад
PLEASE start using the dark mode for excalidraw, i watch these at night to prep haha.
@TedMosby-fk5gj
@TedMosby-fk5gj День назад
Thank you your explanations are the best, please also do one for Netflix I got asked that recently and its the most interesting.
@hello_interview
@hello_interview День назад
Check our RU-vid write up. Pretty similar.
@IshaZaka
@IshaZaka День назад
plz make live streaming app or twitch type of system
@IshaZaka
@IshaZaka День назад
Its so helpful, plz make more
@CS-eh8eo
@CS-eh8eo День назад
BTW, really enjoying the content! I think if you made a statement like "kafka never goes down" in an interview it would be a bit of an odd thing to hear as an interviewer... of course kafka could go down even if running a managed service. Your application should surely handle this scenario in such a way that the system can recover when Kafka comes back online, hopefully due to its durability and persistent storage of events, your application should be able to resume where it left off. Wdyt? Edit - I need to add precision to my statement here, so am I correct in saying Kafka is only as durable as how you configure it, specifically how you configure replicas and how producers set replica acknowledgement before marking commit transactions as complete. If acks=1 is set, the producer only waits for acknowledgement from the leader broker, which could fail before writing to replicas, and data could be lost. acks=all is called Leader and In-Sync Replica Acknowledgement. So in summary, Kafka can certainly fail, I think a good answer to this question would be detailing how to configure it for durability, how that will impact performance, whether the operation needs such data consistency vs availability, and how your application reacts to unavailability of the kafka broker, and how it recovers when Kafka comes back online.
@8610803eternal
@8610803eternal День назад
Thanks for the video! When implementing the Redis solution, wouldn’t availability of cache resources be an issue? Now every swipe event will cause a check in the cache for the inverse swipe. If redis is single-threaded, wouldn’t that overload the cache?
@hello_interview
@hello_interview День назад
In memory! Redis clusters can handle hundreds of millions of reads a second
@jagrit07
@jagrit07 День назад
I want to take a moment to explain why Evan is actually the King and it's not just his last name. Around 55 min into the video, When we are handling the consistency to only send 1 request to a driver at one time, He gave 2-3 solutions starting from adding a driver status like request_sent. He explained it properly and even said it's good enough for mid level with the cron job etc. Then he removed all that and brought it Redis into picture with it's TTL thing. Now this is where the whole thing becomes beautiful because he gave multiple approaches and then choose the best. Just like any DSA problem doing 2 loops and then using some dsa/algo to make it linear. And also he co-related it by saying it is just like a HashMap. I think this is how it will stay with one instead of just saying from starting - Okay use Redis bye. I have read tons of tutorials and some do say that. So yeah, Evan is the King! Thanks Evan. This might be the first time I have commented on each video of the channel I have gone through. You deserve it! Thanks
@jagrit07
@jagrit07 День назад
Watched first 30 minutes of the video and I have to say this is by far the best tutorial of Uber because you haven't used Websockets and all other jargons yet. We must understand the basics first. Like The system should atleast work for 1 user and me being mid-level candidate, It is important to build what you did in first 30 mins to actually understand things. All the other tutorials out there first talk about Websockets etc etc. Those are good but I think your method is a better. Amazing. Time to watch the remaining 30 mins! Thank you, You are doing awesome job to the community.
@furrygoldennuts
@furrygoldennuts День назад
FWIU, Redis is crazy fast because it is in memory database. There's a possibility of data loss during which we're likely to miss matches altogether. Adding Redis is 1 step closer to getting a better experience of instant matches. However, we still need a cron job to look back and look for matches. Unless of course we use persistence like append only log but then we lose on performance -- it is equivalent to a memtable + append only log same as Cassandra. Or am I wrong here ?
@CS-eh8eo
@CS-eh8eo День назад
Where do we draw the line between handling of mega users vs normal users? To me this suggests an issue with the design, is this actually the way big social media companies handle this?
@CS-eh8eo
@CS-eh8eo День назад
How can you rate limit from stateless API gateway, are you suggesting a) using IP hash based load balancing and storing state on the gateway workers? b) using distributed state storage cache and reading from this upon every http request?
@jagrit07
@jagrit07 День назад
Hey Evan, This is truly awesome content. I had one question, In each of your video, You end up telling lot of amazing things like in this, One of thing you mentioned was FileSystemWatcher to tell the local changes. Now my question is more on How did you learn all this stuff? Like You have 10-12 videos on different designs so it's not likely that you practically built those systems in your career. So How do we basically learn these unknown of unknown things? Do you read some books etc etc? I hope my question made some sense, Thanks in advance.
@jagrit07
@jagrit07 День назад
Watched 20 minutes of the video so far and This is the 3rd resource I am watching regarding Dropbox design, I have read Alex's book, read Grokking book and now watching this just for fun and I think Evan King is actually the King lol. Amazing video, Please keep on adding more content. Yesterday, I commented on Tinder's Design video and now here. I think I might have to comment on all the videos once I watch those because this is really good stuff and we viewers should appreciate it and hence I will keep adding comments lol :D
@brwv
@brwv День назад
This is the best HLD content available on youtube. The way you explain complex things so elegantly is just amazing!!!
@Harry-p3d
@Harry-p3d 2 дня назад
Hi Evan, great video! A quick question for the consistency definition. In CAP, the consistency is defined as "every single read of the system needs to read the latest write or else it will fail". Based on this definition, how can you derive the definition of matching consistency in this video? (i.e. <1> we don't send more than one request at a time for a given ride; <2> we don't send any driver more than one request at a time). I am looking forward to your reply. Thank you!
@hello_interview
@hello_interview 2 дня назад
Yes! Driver matching in this system needs to be consistent. Specifically for the driver lock.
@Harry-p3d
@Harry-p3d День назад
@@hello_interview My actual question is "Why is the driver lock related to the consistency in CAP?". Sorry for not describing the question clearly...
@jagrit07
@jagrit07 2 дня назад
Lol you are great, I stopped the video half way to comment this. The way you explained the eventually consistency problem where two users swiped each other at the same but Cassandra being eventually consistent will prevent them to ever know and they will not be able to find the love they are seeking lol. Amazing Stuff. Requesting you to create more and more content. You are a legend!
@hello_interview
@hello_interview 2 дня назад
😂 ♥️
@ranganathg
@ranganathg 2 дня назад
As i watch this again, why do you say checkpointing is not required at 45:30 ish time? How does a job keep track of which time interval to process the click rate? Does flink internally maintain a state of the processed timestamp? (im not familiar with flink! )
@derekxu9476
@derekxu9476 2 дня назад
phenomenal
@sumitgadi7633
@sumitgadi7633 2 дня назад
Please keep some free mock interviews on your Hello Interview website.
@hello_interview
@hello_interview 2 дня назад
How would the coaches get paid? :)
@yaoyao8180
@yaoyao8180 2 дня назад
below are not clear to me, appreciate some explaination: 1. is the database in seralization isolation lvl, will a weaker lvl work? 2.say both user A and B try to book on same 3tickets. userA's whole process went through well and booked all three ticket. UserB's network is laggy, the request reached booking service 10min late, how will the system prevent double booking for userB? if we use select and update for ticket table, then we must use seralization isolation lvl right? will this isolation lvl good enough for large write traffics?
@Richard-yw9if
@Richard-yw9if 2 дня назад
Why not talking about cache invalidation when using as a cache?
@IshaZaka
@IshaZaka 3 дня назад
Its so helpful plz make more,
@eshw23
@eshw23 3 дня назад
Nice video! I would love it if you can do a design Netflix video as well, recently I got asked that.
@eshw23
@eshw23 3 дня назад
This dudes explanations are so perfect, well organized and easy to understand for people like me who are more around the mid level, thank you!
@jaymiller3757
@jaymiller3757 3 дня назад
Aah thank you for this!! I'm just learning system design for the first time really. This is the first walkthrough I've watched and it is SO helpful to see your process and how all the building blocks fit together! 🤩
@Harry-p3d
@Harry-p3d 3 дня назад
Hi Evan, thank you for sharing the high-quality video! One quick question: in the step of drawing the design diagram, when do you use one-directional arrows between boxes? When do you use the bidirectional arrows? I am looking forward to your reply. Thank you!
@hello_interview
@hello_interview 3 дня назад
Tbh I don’t focus on it much. I’m sure I have inaccuracies there. Yo be correct it would be whether the flow of data is bi- or uni-directional
@ahmed.kamals
@ahmed.kamals 3 дня назад
Thank you man, very wonderful, should you also mention observability?
@hello_interview
@hello_interview 3 дня назад
You can. The fact is there are a million things you *could* mention. CI/CD, monitoring, GDPR, all things you need in any system. Mention them if you like, but to me as an interviewer I don’t learn anything about the candidate when they say these things so it just wastes some of the valuable (and very limited) time we have
@clee6030
@clee6030 3 дня назад
can you make a video or blog post on flink/spark deep dive?
@Richard-yw9if
@Richard-yw9if 3 дня назад
@sparrow2068
@sparrow2068 3 дня назад
Why do we use nosql for the write heavy db? Since the data is very structured and you might want complex queries…
@mailtokvvn
@mailtokvvn 3 дня назад
Thanks for great video, one question on swipe db, what is the partition key based on as two users are required to form the key.
@RajU-mb7oq
@RajU-mb7oq 3 дня назад
Genius to explain the system design making it look easy. Fantastic job
@Hangar1318
@Hangar1318 4 дня назад
Hey Evan. I am a former FAANG staff engineer and I am interviewing actively now. Your content is the best out there. The deep dives are the best. They've helped me a lot. Please continue creating content. And if there is a Patreon or something I can contribute to then please let us know.
@hello_interview
@hello_interview 3 дня назад
Awww man you rock! No need re-patreon. Tell a couple friends about hello interview and we’re more than even. Cheers
@Hangar1318
@Hangar1318 3 дня назад
​@@hello_interviewI have already told a few friends and will continue telling more people :)
@smkhan007
@smkhan007 4 дня назад
What if I login through a web app and upload a file? Who will do the chunking in that case?
@remipan4604
@remipan4604 4 дня назад
Hi i just want to say your work is truly fantastic and you are an excellent educator! I started watching your videos to prepare for system design interviews and your explanations and examples are top notch. I'm motivated to continue watching not just to prep but also to expand my knowledge and improve my craft. Eagerly awaiting the great work you'll do next!
@theyayaa
@theyayaa 4 дня назад
I have my amazon interviews coming up and your videos have been an amazing resource. Thank you!