Пікірлер

  • @waliiut08
    @waliiut083 сағат бұрын

    @hello_interview hats off! You guys are the best. I feel privileged to watch your videos. I have learned a lot and cannot thank you more. By any chance, do you guys have any plan to make a similar kind of video on Database? I have dedicated hours to learn about different kinds of Databases. Nonetheless, I don't feel confident and deep in my heart I have been waiting for you guys to make a video on that topic which will blow our mind!

  • @aforty1
    @aforty18 сағат бұрын

    Thank you for this. For what candidate target level would you ask this question in a Meta interview?

  • @aforty1
    @aforty19 сағат бұрын

    Thank you!

  • @MyAeroMove
    @MyAeroMove12 сағат бұрын

    Very well structured!

  • @ai-engineer-scientist
    @ai-engineer-scientist13 сағат бұрын

    Hi, thanks for these advices. Can you make a video to talk about Senior and Staff MLE interviews at Meta? Specially, talk about how to prepare for General SD for MLE. I am facing this problem, I am staff MLE applied scientist and I a have never designed systems at scale. I am good at designing MLE systems but not classical SD.

  • @mohamedessammorsy967
    @mohamedessammorsy96713 сағат бұрын

    Really amazing, You explanied it really well, Thanks for the great effort :)

  • @hello_interview
    @hello_interview13 сағат бұрын

    Cheers!

  • @anchalsharma0843
    @anchalsharma084323 сағат бұрын

    I have been watching too many system design videos, and most of them throw boxes and tools at the canvas just for the sake of it. But your videos follow an interesting and pragmatic approach that someone could actually use to design a real system. Above all, I truly appreciate the framework that you are infusing in viewers mind to tackle problems. Thanks for your efforts 🚀

  • @hello_interview
    @hello_interview23 сағат бұрын

    Glad you find it valuable!

  • @PiyushZambad
    @PiyushZambadКүн бұрын

    Thank you for making these videos so engaging! Your eloquent and logical style of explaining the concepts makes watching these videos so much fun.

  • @hello_interview
    @hello_interview23 сағат бұрын

    High praise! Right on :)

  • @perfectalgos9641
    @perfectalgos9641Күн бұрын

    Thanks for this video. This video is one of the best in the internet for crawler system design. With a full preparation you are going to an hour, how to manage it in 35mins of 45mins interview.

  • @hello_interview
    @hello_interview23 сағат бұрын

    Yah the hour here because of all the fluff and teaching. This is reasonably 35 without that.

  • @VyasaVaniGranth
    @VyasaVaniGranthКүн бұрын

    Thank you for the video! Isn't this exactly what Lambda architecture is and not a "hybrid between lambda and kappa"?

  • @wanningwei831
    @wanningwei831Күн бұрын

    We can definitely go deep on the CDC part, we have normalized data in our main db, but ES is denormalized, how do we handle fanout, shall the CDC consumer call back etc

  • @schan263
    @schan263Күн бұрын

    What is this "Premium AI System Design Mocks" on your website?

  • @hello_interview
    @hello_interviewКүн бұрын

    Still a work in progress, but we're building AI-powered mock interviews that (a) actually give you good feedback, and (b) are reflective of what you'd expect to see in FAANG interviews. Launching once we feel confident they're good enough - feel free to join the waitlist of you want to hear from us when that happens or be part of alpha testing.

  • @rahulbm
    @rahulbmКүн бұрын

    Great content. Really liking it. Can you please do a deep dive on TiDB, Rocks DB and Cassandra too

  • @hello_interview
    @hello_interviewКүн бұрын

    Cassandra is soon!

  • @shrishtigupta6902
    @shrishtigupta6902Күн бұрын

    Thank you for this detailed video. But a quick question here - I'm still confused when to use RabbitMQ and when to use Kafka? Because both of them can be helpful for all the use cases

  • @htm332
    @htm332Күн бұрын

    re: the ticketmaster example. Partitioning a single event across multiple partitions would break fairness no?

  • @hello_interview
    @hello_interviewКүн бұрын

    You’d partition by eventId

  • @prashantsalgaocar
    @prashantsalgaocarКүн бұрын

    amazing discussions and pointers as always.. Evan... always look forward to your videos..

  • @hello_interview
    @hello_interviewКүн бұрын

    Glad you liked it!

  • @user-vq5md3eu8v
    @user-vq5md3eu8vКүн бұрын

    How is delayed kafka solution different from the aggregation windows? If we keep the kafka queue alive for 7 days to enable delayed reads internally it is the same thing, only divided not by minute, but by each kafka message. Moreover, there is kafka message overhead. Large memory usage is stated as the main problem of the first approach, but how is it solved with kafka?

  • @hello_interview
    @hello_interviewКүн бұрын

    Great question. If we take for granted that the infrastructure already has view events in Kafka, the space costs there can be spread across other subsystems in the infra. Beyond this, the aggregation approach has worse performance since you need to sum across many windows to create aggregations (somewhat mitigated by exploiting their hierarchy) and more complexity. But if you happened to bring it up in the interview and solve those issues I think it's viable.

  • @dmytroopria867
    @dmytroopria867Күн бұрын

    Thank you for making such videos, it helps a lot Have you thought about making postgres sharding based on location? I think Uber doesn't support all cities, just a predefined list of locations

  • @hello_interview
    @hello_interviewКүн бұрын

    Sharding by location/region is a great idea and makes the scaling challenges of this problem much more bearable. The volume in a city (even a big one) is going to be dramatically lower than globally.

  • @ItsMeIshir
    @ItsMeIshirКүн бұрын

    Thanks for the video, Stefan.

  • @hello_interview
    @hello_interviewКүн бұрын

    Glad you liked it!

  • @ItsMeIshir
    @ItsMeIshir2 күн бұрын

    Good video. Thanks for making it.

  • @hello_interview
    @hello_interview2 күн бұрын

    🫡

  • @randymujica136
    @randymujica1362 күн бұрын

    Great explanation as always! I keep watching your videos over and over. As a previous commenter mentioned, it would be great a deep dive on ZooKeeper, it’s mentioned many times in Orchestration/Coordination scenarios along with Consistent Hashing and I think it would be valuable to understand how it works.

  • @hello_interview
    @hello_interview2 күн бұрын

    Feel free to vote for what you want to see next here! www.hellointerview.com/learn/system-design/answer-keys/vote

  • @WyattsDeBestDad
    @WyattsDeBestDad2 күн бұрын

    In terms of Horizontal Scaling, from the accompanying article: "Horizontal Scaling With More Brokers: The simplest way to scale Kafka is by adding more brokers to the cluster. This helps distribute the load and offers greater fault tolerance. Each broker can handle a portion of the traffic, increasing the overall capacity of the system. It's really important that when adding brokers you ensure that your topics have sufficient partitions to take advantage of the additional brokers. More partitions allow more parallelism and better load distribution. If you are under partitioned, you won't be able to take advantage of these newly added brokers." My understanding is that Kafka can be scaled horizontally dynamically, perhaps as a system sees an unanticipated increase in volume. If thats correct, does the above imply that partitions can be added dynamically too? In the example cited, LeBron James campaign, I took that to mean that you'd add extra partitions for that campaign in anticipation of the additional traffic. In the case of hot partitions, can one of the prescribed techniques ( say random salting or compound keys ) be added on the fly? If this is non trivial can you maybe link to how this is achieved? Thanks so much!

  • @hello_interview
    @hello_interview2 күн бұрын

    In general, these are things handled by managed versions of Kafka, such as AWS MSK or Confluent Cloud. How they dynamically scale depends on each managed service. Typically, handling hot partitions is still not managed dynamically and requires conscious effort on the part of the developer.

  • @danielryu6527
    @danielryu65272 күн бұрын

    I have a system design tomorrow and this is a perfect timing to watch!

  • @hello_interview
    @hello_interview2 күн бұрын

    Good luck! You got this 💪

  • @ediancomachio2783
    @ediancomachio27832 күн бұрын

    You have amazing teaching skills! The World Cup example was incredibly good and entertaining to watch. I’ve paused my interview journey for now, but I always watch your videos for the pure knowledge they provide. Thank you so much!

  • @hello_interview
    @hello_interview2 күн бұрын

    Who doesn't love the world cup! 😍

  • @YoungY2-uu9rj
    @YoungY2-uu9rj2 күн бұрын

    Thank you. Love every video published so far.

  • @Nick-lw7rj
    @Nick-lw7rj2 күн бұрын

    First off, thank you for these videos and resources, they are very valuable to anyone studying for interviews. I'm curious though, how would you improve the interview process as someone who's been on both sides of it for a number of years? I question the value of these interviews given that people are being asked to design massive systems, for billions of users, engineered by hundreds/thousands of people over a number of years, which were iteratively improved over time. They're expected to have a pretty ideal solution by having researched the problem or similar ones ahead of time, or much less often, having faced similar problems themselves. If someone was asked to actually design a system in a real production environment, they would spend ample time researching it ahead of time anyway, so I don't necessarily understand the value of them knowing it up front in an interview. I'm also curious how you would react if you were still interviewing people, and a candidate proposed a solution that's an identical or near-identical copy of yours. Would you pass them as long as they understood why each component is needed, and why certain technologies should be used over others? Would you have time to properly gauge that in a 45 minute interview once they've finished their design?

  • @hello_interview
    @hello_interview2 күн бұрын

    That's a big topic! One that likely requires a full blog post. I will say that, in general, we agree. The interview process within big tech is stuck in a local minima and is in need of a facelift. But as long as the supply of engineers exceeds demand, there isn't much incentive for companies. Their hiring process may have poor recall, but if precision stays high, they don't really care.

  • @Nick-lw7rj
    @Nick-lw7rj2 күн бұрын

    @@hello_interview agreed about a needed facelift, until then, the grind continues :) thanks again for these

  • @SaurinShah1
    @SaurinShah12 күн бұрын

    Thank you for all you guys do!

  • @muhamadgafar273
    @muhamadgafar2732 күн бұрын

    @hello_interview I'm confused about the way the distributed lock works. User 1 calls reserve and acquires the lock for a ticket to Eminem's concert. User 2 calls reserve but the system responds saying that ticket has now been reserved User 2 is a malicious user and calls confirm_ticket before User 1 calls it How does the reservation system in this design prevent User 2 from stealing the ticket from User 1?

  • @hello_interview
    @hello_interview2 күн бұрын

    It does not let you book a ticket that you did not reserve. The key here is actually knowing who reserved the ticket, so the lock should really be a key value pair of: ticketId:userId

  • @muhamadgafar273
    @muhamadgafar2732 күн бұрын

    @@hello_interview ah okay, that makes more sense now. Thank you.

  • @patrickshepherd1341
    @patrickshepherd13412 күн бұрын

    I don't know if you'll see this, but please read if you do. I've been having a lot of trouble lately, and I would really value even just some very brief advice. I've been watching your videos a lot to prepare for an upcoming interview. I'm a PhD computer scientist, but I left professorship about a year ago to work in industry. I've been REALLY unsuccessful in landing anything, but there's never any feedback, so I don't know what I'm doing wrong. Just a lot of anonymous rejections. I'm literally facing bankruptcy. I have an interview on Wednesday, and so I'm learning all I can about modern system design. I'm hopeful, but trying not to get too excited. I'm really thankful for your videos and all the information you provide, though. It's really helping. Hypothetical question: if you became a single parent with no education at 24, but buckled down and raised your kid and took care of your sick mom and made it through an undergrad and a phd over the course of 10 years, and maybe don't have a huge professional footprint because your grad work + all the course materials you made don't add up to a very impressive github profile, what can you do to stand out more? Keeping a house running and raising a kid and taking care of a sick parent doesn't get many stars on your repos, but I think it speaks a lot to adaptability, perseverance, problem solving acumen, etc. But those aren't things you can typically bring up in a cover letter or resume, and you're not supposed to talk about it in interviews, so it just looks like I haven't done anything serious outside of my grad software. It feels like a catch 22. Can you give me any advice? I could wallpaper a house with all the rejects/ignores I've gotten. Thank you again for your great videos!

  • @hello_interview
    @hello_interview2 күн бұрын

    Really sorry to hear what you've been going through; it's not easy. We work with so many candidates lately who are similarly struggling to land a job in this market. I wish I had a silver bullet, but unfortunately not many novel insights I can offer here. Referrals help. I'd try to leverage connections as best you can if the main challenge is getting through the door to the first interview. Beyond that, look for companies with take-home assessments as the first round. This widens the number of candidates that get a shot and puts things back in your control; just need to crush the take-home.

  • @karvinus
    @karvinus2 күн бұрын

    I always struggled to choose between queues, stream and pub-sub but this video makes it super easy to understand what to use and when to use.

  • @fatemehrezaei3727
    @fatemehrezaei37272 күн бұрын

    Thank you so much. Love your channel. Please provide a deep dive on Redis too. 🙏

  • @hello_interview
    @hello_interview2 күн бұрын

    Already got one! kzread.info/dash/bejne/mKGIl9Cldc7SY7g.html

  • @kamalsmusic
    @kamalsmusic2 күн бұрын

    They did earlier

  • @fatemehrezaei3727
    @fatemehrezaei37272 күн бұрын

    @@hello_interview Thanks a lot.

  • @fatemehrezaei3727
    @fatemehrezaei37272 күн бұрын

    @@kamalsmusic Thanks a lot.

  • @abhilashbandi3866
    @abhilashbandi38662 күн бұрын

    Superb. Someone who has just theoretical knowledge on Kafka helped me understand this "topic" little better. Request for a video on ZooKeeper (I think Kafka moved away from ZooKeeper to kRaft)

  • @hello_interview
    @hello_interview2 күн бұрын

    Yah exactly right re-kRaft. Consensus something I maybe should have mentioned but, while key to internals, not really necessary to know about in an interview.

  • @abhilashbandi3866
    @abhilashbandi38662 күн бұрын

    @@hello_interview Thank you for the videos. Do interviews at staff/ principal level focus on consensus? At least, glance them?

  • @rjl-s5p
    @rjl-s5p2 күн бұрын

    In the section about using Kafka for messenger, how would the topics and partitions for a messaging application like Messenger be structured to achieve low latency and high throughput? For example, if there are 1 billion users on the platform, would there be one billion topics, or a single topic with a billion partitions, one for each user (which I don't think is possible since the recommendation is 4k partitions per broker and max of 200K per cluster)? Is there a different approach that could be considered? What are the tradeoffs for each option? And great video. Thank you for doing this.

  • @hello_interview
    @hello_interview2 күн бұрын

    Some alternatives discussed here: www.hellointerview.com/learn/system-design/answer-keys/whatsapp

  • @3rd_iimpact
    @3rd_iimpact2 күн бұрын

    Listening via AUX while I’m driving. Love it. Curious to see it visually later.

  • @hello_interview
    @hello_interview2 күн бұрын

    Hello interview podcast lol

  • @trueinviso1
    @trueinviso12 күн бұрын

    Love these deep dives, thanks!

  • @hello_interview
    @hello_interview2 күн бұрын

    ♥️

  • @rupeshjha4717
    @rupeshjha47172 күн бұрын

    Good going, please keep continuing this series! I had a question regarding consumer concurrency, which is not discussed in this video. Let's say I have 1 consumer group with 2 consumers running and topic having partition of 8, then each consumer will be assigned with 4 partitions when concurrency = 1, how the consumer gets affected if consumer concurrency is changed to 2 now ?

  • @yiannig7347
    @yiannig73472 күн бұрын

    Are you asking what happens if consumer threads are increased from 1 to 2 for a single consumer instance in a group? If so, the consumer is still a single client of the broker, like kafka-client-01 and kafka-client-02. With more threads, the consumer can process messages from its assigned partitions concurrently, improving throughput. However, it still handles the same number of partitions overall.

  • @hello_interview
    @hello_interview2 күн бұрын

    Thanks for the assist!

  • @akshayjhamb1022
    @akshayjhamb10222 күн бұрын

    For handling kafka consumer down we could turn manual commit offset on, There's option of AutoCommit Offset and a timer limit also when we should autocommit. Though Great video for revision for kafka. Also it would have been great if you had mentioned number of kafka consumer application limitations based on number of partitions.

  • @hello_interview
    @hello_interview2 күн бұрын

    Great thing to mention!

  • @anuragtiwari3032
    @anuragtiwari30322 күн бұрын

    Liked even though I haven't watched the video. I know it will be a banger !

  • @hello_interview
    @hello_interview2 күн бұрын

    Don’t speak to soon haha

  • @getmanfg78
    @getmanfg782 күн бұрын

    You are the best at what you do, after listening to your videos I cannot now like and tolerate other system design videos, please make more content for system design

  • @hello_interview
    @hello_interview2 күн бұрын

    Coming soon! 🫡

  • @benie871
    @benie8712 күн бұрын

    Thanks so much for these deep dive videos 🙌. Also your system design videos are very helpful in my learning journey.

  • @hello_interview
    @hello_interview2 күн бұрын

    🤝

  • @SantoshKumar2
    @SantoshKumar22 күн бұрын

    Most awaited topic. Thank you for the detailed and insightful video on Kafka. Your every video is a gold mine. 🙏🏻 ❤

  • @hello_interview
    @hello_interview2 күн бұрын

    Got you 🫡

  • @elbee189
    @elbee1892 күн бұрын

    First! Shoutout to this channel! It really prepared me for all my system design interviews this cycle

  • @hello_interview
    @hello_interview2 күн бұрын

    Fast! 💨

  • @yottalynn776
    @yottalynn7762 күн бұрын

    Very nice explanation! When actually crawling the pages, it could be blocked by the website owner. Do you think we need to mention this in the interview and provide some solutions like using rotating proxies?

  • @hello_interview
    @hello_interview2 күн бұрын

    Good place for depth! Ask your interviewer :)

  • @brvenkat1
    @brvenkat12 күн бұрын

    The best system design video i have come across, main thing i did not realize 1 hour went by

  • @hello_interview
    @hello_interview2 күн бұрын

    Time flies when you’re having fun! 😛