System design interview: Scale to 1 million users

2024 ж. 22 Мам.
19 183 Рет қаралды

► WATCH LIVE: twitch.com/johncodes
► Twitter: / johncodezzz
► Home page: johncodes.com
► Email me: hello@johncodes.com
Complex system design interviews are ambiguous, challenging parts of the software engineering interview process. There are no real clear cut answers and it's usually much more of a "conversation" than anything. This video is the beginning of a mini series I'll be doing on system design interviews and how you can prepare for them. We will cover the basics, how to approach a system design interview, and how to answer the "scale to 1 million users" question. Subscribe to catch the other videos!!
#johncodes
🚀 SUMMARY:
In this video, we go over the Software engineer system design interview, basic concepts and strategies, and how you can answer the "scale to 1 million users" question. Scaling to 1 million users is no trivial thing and we'll apply the system design interview concepts to get through upgrading an arbitrary system.
⏰ TIMESTAMPS:
00:00 Intro skit
00:12 What are system design interviews?
02:03 Strategy and concepts
08:24 Scale to 1 Million users - single server
14:20 Vertical vs Horizontal scaling
16:16 Scaling databases
18:51 Scaling servers
21:45 Content Delivery Network
23:32 Scaling data-centers
27:57 Even more scaling!
28:27 Conclusion
🎵 MUSIC CREDITS:
- Project AER - Likelife
- Provided by Lofi Records
- Watch: • Project AER - Likelife
- Download/Stream: fanlink.to/GrowthPatterns
🤔 About:
Hi all, I’m John, an experienced software engineer and open source software enthusiast / contributor. I make fun and informative videos about tech, engineering, productivity, and life! Like, comment, and subscribe for more!

Пікірлер
  • Thank you all for being here! More system design interview videos to come! Make sure to sub for those videos coming in the next few weeks

    @JohnCodes@JohnCodes2 жыл бұрын
  • It's really a Good one John. Greatly appreciate it.

    @chathurangasamarakoon936@chathurangasamarakoon936 Жыл бұрын
  • Very nicely explained @John - Thanks for the deep analysis on Scaling

    @techysam-bl9mk@techysam-bl9mk Жыл бұрын
  • Great topic and presentation, thank you! I'm looking forward to the next episodes in the series. By the way, I love the chill background music - many people overdo it but yours is just right! :)

    @sm5172@sm51722 жыл бұрын
    • Ha thanks! A low-pass on the music helps alot so it's not too loud. More to come soon!!

      @JohnCodes@JohnCodes2 жыл бұрын
  • Nice clean video ! Would like to add that horizontal scaling indeed has some disadvantages such as data consistency challenges as well as logic required for partitioning - however the value often precedes the overheads!

    @SentryProductions1@SentryProductions1 Жыл бұрын
  • Thanks for the video! Very concise and explained with nice diagrams.

    @thilakrajm002@thilakrajm0022 жыл бұрын
  • I feel like this section needs to be a bigger part of the interview process. Thanks for the deep dive. Algos aren't always more important than understanding the system.

    @cody_codes_youtube@cody_codes_youtube2 жыл бұрын
    • Yeah, I completely agree. I think they will be more and more important as systems get more and more complex and more abstract. It's less important to know how to code some algorithm vs being able to put together a complex distributed system.

      @JohnCodes@JohnCodes2 жыл бұрын
  • I find amazing how this topic is most of the times approached as an "interview question" without realising that eventually you'll HAVE TO implement that system (or a part of it, in most cases). I find much more interesting and useful to approach the problem as questions on their own. "How do you scale to 1M users?" question in a system will make you scratch your head for quite a while.

    @amypellegrini1732@amypellegrini1732 Жыл бұрын
  • watching this 30m before my interview, feeling very confident now and fully ready to bomb it

    @akhilnistala7067@akhilnistala70672 жыл бұрын
  • This is really amazing.

    @plashless3406@plashless3406 Жыл бұрын
  • Thanks, currently two hours away from the first system design interview I've had to do in ten years and this is a great overview :)

    @DavidXNewton@DavidXNewton3 ай бұрын
    • Update! I failed

      @DavidXNewton@DavidXNewton3 ай бұрын
  • Great video!

    @bgskv@bgskv Жыл бұрын
  • Great video. You have a very cool way of talking, understood every bit of this video.

    @maheshhudali792@maheshhudali7922 жыл бұрын
    • Ahhh thanks so much and thanks for watching!!

      @JohnCodes@JohnCodes2 жыл бұрын
  • Finally a decent System design chanel! Btw you still write like a medical pro :D

    @pavel.pavlov@pavel.pavlov3 ай бұрын
  • I enjoyed your video. Will you continue the series?

    @petredanionescu@petredanionescu5 ай бұрын
  • Hello! May I ask whats stateless? also, I didnt quite understand the advantage of having an independent DB for user sessions. Thanks for your videos!

    @AdrienAranda@AdrienAranda Жыл бұрын
  • great vid thanks! Wish there was a little more detail, like answering a "how would you design [x]? question.

    @onyxsolace5398@onyxsolace5398 Жыл бұрын
  • Hi John. Amazing Vedio. Any Books on system design that you recommend reading?

    @shubhamanand712@shubhamanand712 Жыл бұрын
  • Man, I'm already becoming a fanboy of your channel 😂

    @camiloromero7633@camiloromero76332 жыл бұрын
    • Keep up with that great content!

      @camiloromero7633@camiloromero76332 жыл бұрын
    • One of us! One of us!! Thanks for being here :D So happy you're enjoying it

      @JohnCodes@JohnCodes2 жыл бұрын
  • John, I have a question in terms of multiple data centers. When you say multiple data centers I hope they have their own database instances and app instances. How data will be synced between two data centers if one of the data centers goes down.?

    @roopkishanbodepudi784@roopkishanbodepudi7842 жыл бұрын
    • Good question - you would need eventual consistency across all instances of your datacenter. So you'd have to build some kind of system that would update those database instances outside of your datacenter. There's lots of tradeoffs to different approaches, but in theory, you'd want eventual consistency across all instances as quickly as possible to prevent data loss

      @JohnCodes@JohnCodes2 жыл бұрын
    • @@JohnCodes Wouldn't the real answer be something like load balancing and replication? The only real difference to a VM instance is the distance/routes. Data consistency is a given. You can't have the data being out of sync for the systems that are available and the unavailable systems should be synced as soon as they come back online and brought back into production once back in sync and usually not before.

      @conceptrat@conceptrat Жыл бұрын
  • Nice

    @mitotv6376@mitotv6376 Жыл бұрын
  • Hi from Ireland

    @IrishJonathanRoddy@IrishJonathanRoddy2 жыл бұрын
    • Helloooo!! Thanks for stopping by :D

      @JohnCodes@JohnCodes2 жыл бұрын
  • 👍👍

    @viniciusnlage@viniciusnlage Жыл бұрын
  • dont add music

    @peacephinix1831@peacephinix1831Ай бұрын
  • So many ads

    @kamalbehboudi4414@kamalbehboudi44142 жыл бұрын
  • Why not just use cloud infrastructure and let it handle a million or a billion users ! Wait.... the follow up question would be how to design such a cloud infrastructure ??

    @ap_0011@ap_00112 жыл бұрын
    • cloud is not a magic pill dude

      @telnet8674@telnet86742 жыл бұрын
    • @@telnet8674 It is, if you want high scalability and availability.

      @ap_0011@ap_00112 жыл бұрын
  • ഇല്ല ടീച്ചർ, ആ സ്ത്രീ പോലും സ്വയം ചിന്തിക്കുന്നു പോലും ഉണ്ടാവില്ല ഇവിടെ അമേരിക്കയിൽ വന്നത് കൊണ്ടാണ് എനിക്ക് ഇത് പോലെ അവസരം കിട്ടിയത് എന്ന്. അത്രക്ക് നന്ദി കെട്ട വർഗ്ഗം ആണിത്

    @RAJEESHMY@RAJEESHMY Жыл бұрын
KZhead