Systems Design
Systems design interviews are becoming more and more prevalent and can indicate your ability to work with complex systems. Many engineers struggle with the systems design interviews as a result of their inexperience developing large-scale systems.
Today we’ll teach you some of the foundational elements of systems design so you can nail your next interview.
Sponsors.
A huge thank you to our sponsors for supporting the Ladybug Podcast! Interested in becoming a Ladybug Podcast sponsor? Head over to our Sponsorship page for more details.
AWS Amplify is a suite of tools and services that enables developers to build full-stack serverless and cloud-based web and mobile apps using their framework or technology of choice on the front end.
Using Amplify you can quickly get up and running with things like hosting, authentication, managed GraphQL, serverless functions, APIs, machine learning, chatbots, and storage for files like images, videos, and pdfs.
Amplify is built especially in a way to enable traditionally front-end developers to be successful because they can use their existing skillset to build real-world full-stack apps that in the past would require deep knowledge around back end, dev ops, and scalable infrastructure.
The Amplify Console then allows you to use a Github repository to deploy to a globally available CDN, with CI and CD built-in.
To learn more, visit aws-amplify.github.io
How often have you struggled to learn to program because you just couldn’t find the right resource to suit your learning style? I struggled for nearly a year before stumbling upon a website known as Frontend Masters. I’ve been a long-time paid user of the online learning platform simply because I find the courses to be comprehensive and beginner-friendly. They have the best teachers in the tech industry and they’re one of the reasons I was able to land my dream job.
With Frontend Masters you can learn web development, responsive design, back-end development, animations, testing, algorithms, data structures, and more. You can pick a course you’re interested in or follow one of the learning paths like React, Vue, Angular, data visualization with D3, node.js, and more.
To learn more head to frontendmasters.com.
Show Notes.
01:30 What is systems design
07:20 Key characteristics of a distributed system
13:24 Load balancing
17:48 Caching
31:05 Data partitioning
35:24 SQL vs. NoSQL
46:50 How to learn systems design
48:00 Shoutouts
Transcript.
We provide transcripts for all of our episodes. You can find them here!