System Design Guide for Software Professionals
Packt Publishing Limited (Verlag)
978-1-80512-499-3 (ISBN)
Key Features
Comprehensive coverage of distributed systems concepts and practical system design techniques.
Insider tips and proven strategies from engineering leaders at top tech companies.
Detailed case studies of widely used applications and their system architectures.
Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionBuilding scalable software systems is more critical than ever. Yet, many software professionals struggle to navigate the complexities of system design, especially when aiming for positions at top tech companies. Written by Dhirendra Sinha, a seasoned Engineering Leader at Google with a blend of experience working at large companies such as Cisco, Oracle, and Yahoo, and Tejas Chopra, a Senior Software Engineer at Netflix, a TEDx speaker, and a Co-Founder of GoEB1, this comprehensive and authoritative resource on system design offers invaluable insights and strategies to help you excel in interviews with all major tech companies.
This guide covers the basics of system design, including the principles and techniques of distributed systems, and delves into core building blocks such as distributed system theorems, attributes, and the design and implementation of system components. Following examples of popular applications such as Uber, Twitter, Instagram, Google Docs, and Netflix, you’ll learn how to apply concepts to real-world scenarios. The book offers expert advice and strategies for preparing and acing system design interviews, along with a mind map/cheat sheet summarizing the key takeaways.
By the end of this book, you’ll be equipped with unique techniques and the confidence to solve any coding interview question.What you will learn
Design for scalability and efficiency with expert insights
Apply distributed system theorems and attributes
Implement DNS, databases, caches, queues, and APIs
Analyze case studies of real-world systems
Discover tips to excel in system design interviews with confidence
Apply industry-standard methodologies for system design and evaluation
Explore the architecture and operation of cloud-based systems
Who this book is forThis book is a must-have resource for experienced software professionals, particularly those with 5-15 years of experience in building scalable distributed systems, web applications, and backend microservices. Whether you're a seasoned developer or an architect looking to deepen your expertise in system design, this book provides the insights and practical knowledge you need to excel in tech interviews and advance your career. A solid foundation in distributed systems, data structures/algorithms, and web development will help you get the most out of this comprehensive guide.
Dhirendra Sinha is a Software Engineering Manager at Google. He is an angel investor and has served as a Strategic and Technology advisor at a few startups. Dhirendra has around two decades of experience in the Software Engineering field building highly scalable complex distributed systems and managing multiple Engineering teams. While he has experience in working at large companies such as Cisco, Oracle, Yahoo, and Google, he has also been involved with early and late-stage startups in leadership positions. In addition to his strong Software Engineering experience, he has been teaching the Distributed System Design course for the last seven years. He has also been coaching and mentoring Software Engineers and Software Engineering Managers for over a decade. He completed his Bachelor of Technology degree from IIT Guwahati and Master of Science from Texas A and M University, College Station, Texas. Tejas Chopra is a Senior Engineer at Netflix working on building the Machine Learning Platform powering Netflix recommendations and personalization. He is also a Co-founder at GoEB1, which is the world's first thought leadership platform for immigrants. Tejas is a recipient of the prestigious EB1A (Einstein) visa in the US. He is a Tech 40 under 40 Award winner, a 2xTEDx speaker, a British Computer Society (BCS) Fellow, and has spoken at conferences and panels on Cloud Computing, Blockchain, Machine Learning, Software Development, and Engineering Leadership. Tejas has been awarded the “International Achievers Award, 2023” by the Indian Achievers' Forum. He is an Adjunct Professor of Software Development at the University of Advancing Technology, Arizona, an Angel Investor, and has previously been an Advisor to startups such as Nillion, Inc. He is also a member of the Advisory Board for Future of Memory and Storage Summit. Tejas' experience has been in companies such as Box, Apple, Samsung, Cadence, and Datrium. Tejas holds a Masters Degree in Electrical and Computer Engineering from Carnegie Mellon University, Pittsburgh.
Table of Contents
Basics of System Design
Distributed System Attributes
Distributed Systems Theorems and Data Structures
Distributed Systems Building Blocks: DNS, Load Balancers, and Application Gateways
Design and Implementation of System Components – Databases and Storage
Distributed Cache
Pub/Sub and Distributed Queues
Design and Implementation of System Components: API, Security, and Metrics
System Design – URL Shortener
System Design – Proximity Service
Designing a Service Like Twitter
Designing a Service Like Instagram
Designing a Service Like Google Docs
Designing a Service Like Netflix
Tips for Interviewees
System Design Cheat Sheet
Erscheinungsdatum | 22.08.2024 |
---|---|
Verlagsort | Birmingham |
Sprache | englisch |
Maße | 191 x 235 mm |
Themenwelt | Mathematik / Informatik ► Informatik ► Netzwerke |
Mathematik / Informatik ► Informatik ► Theorie / Studium | |
ISBN-10 | 1-80512-499-4 / 1805124994 |
ISBN-13 | 978-1-80512-499-3 / 9781805124993 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich