نام کتاب
Acing the System Design Interview

Zhiyong Tan

Paperback473 Pages
PublisherManning
Edition1
LanguageEnglish
Year2024
ISBN9781633439108
1K
A4589
انتخاب نوع چاپ:
جلد سخت
741,000ت
0
جلد نرم
681,000ت
0
طلق پاپکو و فنر
691,000ت
0
مجموع:
0تومان
کیفیت متن:اورجینال انتشارات
قطع:B5
رنگ صفحات:دارای متن و کادر رنگی
پشتیبانی در روزهای تعطیل!
ارسال به سراسر کشور

#REST

#RPC

#GraphQL

#System_Design

#OAuth_2.0

#CDN

#OpenID

#software_engineering

توضیحات

📚 این کتاب دقیقاً برای اون لحظه‌ای نوشته شده که مصاحبه‌گر روبه‌روت می‌شینه و می‌گه: «خب، فرض کن باید یه سیستم طراحی کنی که میلیون‌ها کاربر رو پشتیبانی کنه»

، و تو باید تو چند دقیقه نه‌تنها معماری درست بدی، بلکه نشون بدی چرا اون راه‌حل واقعاً کار می‌کنه.


🌟 مصاحبه طراحی سیستم یکی از سخت‌ترین چالش‌ها توی فرایند استخدام مهندسان نرم‌افزار محسوب میشه. این کتاب کاربردی بهت بینش، مهارت و تمرین‌های عملی لازم رو می‌ده تا بتونی از پس سخت‌ترین سوال‌های طراحی سیستم بربیای و همون شغل و حقوقی رو بگیری که دنبالش بودی.


💡 کتاب «Acing the System Design Interview» بهت یاد می‌ده چطور توی فضای مصاحبه، تخصص واقعی‌ت در طراحی سیستم رو مؤثر و حرفه‌ای به نمایش بذاری. نویسنده، ژیونگ تان، تجربه‌های خودش رو از هر دو سمت میز مصاحبه (هم مصاحبه‌کننده، هم مصاحبه‌شونده) با جزئیات فنی جدی و دقیق در اختیارت قرار می‌ده؛ از چارچوب‌های تقسیم‌بندی عملکردی (Functional Partitioning) گرفته تا توضیح درباره‌ی الگوهای مختلف API.


⚙️ یاد می‌گیری چطور یه سوال طراحی رو سریع تحلیل کنی، راه‌حل بهینه رو تشخیص بدی و بعدش با بیان واضح و ساختاریافته، توضیحش بدی. این کتاب یه رویکرد منظم برای آماده‌سازی قبل از مصاحبه، روش‌های یادداشت‌برداری مفید و قالب‌های خودارزیابی در اختیارت می‌ذاره تا بتونی عملکردت رو بسنجی و برای دفعات بعد بهتر آماده شی. در طول مسیر، یاد می‌گیری چه سوال‌هایی از مصاحبه‌کننده بپرسی و چطور یادداشت‌های مفید و کاربردی برداری.


🚀 در این کتاب، روش منسجم و ساختاریافته‌ای رو یاد می‌گیری تا بتونی ایده‌های طراحی سیستم رو حرفه‌ای و منظم ارائه بدی، مثل:

  1. طراحی مقیاس‌پذیر برای پشتیبانی از ترافیک سنگین کاربران
  2. تکنیک‌های تراکنش توزیع‌شده برای حفظ سازگاری داده‌ها
  3. سرویس‌هایی برای تفکیک عملکردی مانند API Gateway و Service Mesh
  4. بررسی پارادایم‌های رایج API شامل REST، RPC و GraphQL
  5. استراتژی‌های کش (Caching) و بررسی مزایا و معایب هرکدوم
  6. مفاهیم حیاتی در لاگ‌گیری، مانیتورینگ و هشداردهی (Alerting)
  7. تقویت مهارت‌های ارتباطی برای نمایش بلوغ مهندسی در مصاحبه


🧩 نترس از ظاهر پیچیده و بازِ مصاحبه‌های طراحی سیستم! ژیونگ تان در این راهنما‌ی دقیق، تجربه‌های ارزشمندی رو از هر دو سمت مصاحبه به اشتراک می‌ذاره. با این کتاب عمیقاً وارد مباحث رایج فنی می‌شی و یاد می‌گیری چطور اون‌ها رو برای طراحی ذهنی انواع سیستم‌ها به‌کار ببری.


✍️ پیش‌گفتار کتاب توسط آنتونی أستا و مایکل دی. الدر نوشته شده.


🔧 درباره فناوری:

مصاحبه طراحی سیستم حتی برای مهندسان باتجربه هم می‌تونه دلهره‌آور باشه. ولی با یه مقدار آماده‌سازی هوشمندانه، همین سوال‌های باز و جلسات طراحی روی تخته سفید می‌تونن به نقطه قوتت تبدیل شن! در این کتاب قدرتمند، ژیونگ تان تکنیک‌ها و بینش‌های عملی رو درباره طراحی سیستم ارائه می‌ده؛ مفاهیمی که برای مهندسان از شرکت‌های بزرگ مثل آمازون، اپل، بایت‌دنس، پی‌پال و اوبر منجر به پیشنهاد شغلی شده.


📘 درباره کتاب:

Acing the System Design Interview یه مسترکلاس کامل برای درخشش در مصاحبه‌های طراحی سیستمه. با دنبال کردن تکنیک‌هایی ساده و به‌ذکر مانده، یاد می‌گیری چطور یه سوال رو سریع تحلیل کنی، مسیر مناسب رو شناسایی کنی و ایده‌هات رو با اعتمادبه‌نفس برای مصاحبه‌کننده توضیح بدی. در طی کار با این کتاب، نه‌تنها مهارت لازم برای موفقیت در مصاحبه رو کسب می‌کنی، بلکه توانایی انجام واقعی کار طراحی سیستم‌های بزرگ و مقیاس‌پذیر رو هم به دست می‌آری.


📚 محتوای کتاب:

  • بینش درباره‌ی مقیاس‌پذیری، تراکنش‌ها، لاگ‌گیری و مفاهیم حیاتی دیگر
  • سوال‌ها و تمرین‌هایی برای مفاهیم اصلی طراحی سیستم
  • نحوه نمایش بلوغ مهندسی و تفکر سیستمی
  • سوال‌های کاربردی برای پرسیدن از مصاحبه‌کننده


👨‍💻 درباره نویسنده:

ژیونگ تان مدیر فنی در شرکت **پی‌پال (PayPal)**ه. قبلاً در اوبر (Uber)، تِرادِیتا (Teradata) و چند استارتاپ کوچک کار کرده. در طول سال‌ها هم از سمت مصاحبه‌کننده و هم مصاحبه‌شونده، بارها تجربه واقعی مصاحبه طراحی سیستم داشته.

🛠️ ویراستار فنی کتاب: موهیت کومار (Mohit Kumar)


📘 فهرست کتاب

بخش اول — مفاهیم پایه طراحی سیستم

  1. مرور کامل مفاهیم طراحی سیستم
  2. جریان معمول مصاحبه طراحی سیستم
  3. نیازمندی‌های غیرعملکردی (Non-functional Requirements)
  4. مقیاس‌پذیری پایگاه داده‌ها (Scaling Databases)
  5. تراکنش‌های توزیع‌شده (Distributed Transactions)
  6. سرویس‌های مشترک برای تقسیم وظیفه (Functional Partitioning)


بخش دوم — تمرین‌های طراحی سیستم واقعی

  1. طراحی Craigslist
  2. طراحی سرویس Rate Limiting
  3. طراحی سرویس Notification / Alerting
  4. طراحی سرویس ممیزی دسته‌ای پایگاه داده (Batch Auditing)
  5. Autocomplete / Typeahead
  6. طراحی Flickr
  7. طراحی شبکه توزیع محتوا (CDN)
  8. طراحی اپلیکیشن پیام متنی (Messaging App)
  9. طراحی Airbnb
  10. طراحی News Feed
  11. طراحی داشبورد محصولات برتر آمازون (Top 10 Dashboard)


پیوست‌ها

A. مقایسه مونولیت و میکروسرویس‌ها (Monoliths vs. Microservices)

B. احراز هویت OAuth 2.0 و OpenID Connect

C. مدل C4 (C4 Model)

D. الگوی دو‌مرحله‌ای Commit (Two-Phas Commit - 2PC)


👨‍💻 دربارهٔ نویسنده

ژی‌یونگ تان — مدیر مهندسی در PayPal و مهندس سابق Uber و Teradata. متخصص فول‌استک و دیتا. پیشنهاد شغلی از شرکت‌هایی مثل Amazon، Apple و ByteDance/TikTok دریافت کرده. تجربه‌ی گسترده‌اش در سطح طراحی سیستم‌های گسترده، پایهٔ اصلی این کتابه.


📚 در کل، Acing the System Design Interview نه فقط برای تمرین مصاحبه، بلکه برای ساختن ذهن مهندسی معماری‌محور کاربردیه — یه جور مرور عمیق مفاهیم Distributed Systems


The system design interview is one of the hardest challenges you’ll face in the software engineering hiring process. This practical book gives you the insights, the skills, and the hands-on practice you need to ace the toughest system design interview questions and land the job and salary you want.


Acing the System Design Interview teaches you how to effectively demonstrate your system design expertise in an interview environment. In this in-depth guide, author Zhiyong Tan shares what he has learned on both sides of the interview table. The book's serious technical overviews cover everything there is to know about system design - from the frameworks for functional partitioning, to different API paradigms.


You will learn how to quickly assess a question, identify an advantageous approach, and then clearly articulate it to an interviewer. A structured approach to preparing for your interview, handy note-taking techniques, and self-evaluation templates help you prep and assess how you did, and therefore improve your future performance. Along the way, you will also learn appropriate questions to ask your interviewer and methods to take good interview notes.


In Acing the System Design Interview you will master a structured and organized approach to present system design ideas like:


  • Scaling applications to support heavy traffic
  • Distributed transactions techniques to ensure data consistency
  • Services for functional partitioning such as API gateway and service mesh
  • Common API paradigms including REST, RPC, and GraphQL
  • Caching strategies, including their tradeoffs
  • Logging, monitoring, and alerting concepts that are critical in any system design
  • Communication skills that demonstrate your engineering maturity


Don’t be daunted by the complex, open-ended nature of system design interviews! In this in-depth guide, author Zhiyong Tan shares what he’s learned on both sides of the interview table. You’ll dive deep into the common technical topics that arise during interviews and learn how to apply them to mentally perfect different kinds of systems.


Foreword by Anthony Asta, Michael D. Elder.


About the technology

The system design interview is daunting even for seasoned software engineers. Fortunately, with a little careful prep work you can turn those open-ended questions and whiteboard sessions into your competitive advantage! In this powerful book, Zhiyong Tan reveals practical interview techniques and insights about system design that have earned developers job offers from Amazon, Apple, ByteDance, PayPal, and Uber.


About the book

Acing the System Design Interview is a masterclass in how to confidently nail your next interview. Following these easy-to-remember techniques, you’ll learn to quickly assess a question, identify an advantageous approach, and then communicate your ideas clearly to an interviewer. As you work through this book, you’ll gain not only the skills to successfully interview, but also to do the actual work of great system design.


What's inside

  • Insights on scaling, transactions, logging, and more
  • Practice questions for core system design concepts
  • How to demonstrate your engineering maturity
  • Great questions to ask your interviewer


About the author

Zhiyong Tan is a manager at PayPal. He has worked at Uber, Teradata, and at small startups. Over the years, he has been in many system design interviews, on both sides of the table.


The technical editor on this book was Mohit Kumar.


Table of Contents

PART 1

1 A walkthrough of system design concepts

2 A typical system design interview flow

3 Non-functional requirements

4 Scaling databases

5 Distributed transactions

6 Common services for functional partitioning


PART 2

7 Design Craigslist

8 Design a rate-limiting service

9 Design a notification/alerting service

10 Design a database batch auditing service

11 Autocomplete/typeahead

12 Design Flickr

13 Design a Content Distribution Network (CDN)

14 Design a text messaging app

15 Design Airbnb

16 Design a news feed

17 Design a dashboard of top 10 products on Amazon by sales volume


Appendix A Monoliths vs. microservices

Appendix B OAuth 2.0 authorization and OpenID Connect authentication

Appendix C C4 Model

Appendix D Two-phase commit (2PC)


About the Author

Zhiyong Tan is a manager at PayPal. Previously, he worked as a senior full-stack engineer at Uber, as a data engineer at small startups, and as a software engineer at Teradata. Over the years, he has been on both sides of the table in numerous system design interviews. Zhiyong has also received prized job offers from prominent companies such as Amazon, Apple and Bytedance/TikTok.

دیدگاه خود را بنویسید
نظرات کاربران (0 دیدگاه)
نظری وجود ندارد.
کتاب های مشابه
Software Engineering
579
Fundamentals of Software Engineering
606,000 تومان
Software Engineering
261
Software Engineering with UML
630,000 تومان
Software Engineering
954
Software Engineering, Artificial Intelligence, Networking and Parallel...
386,000 تومان
Software Architecture
925
Coding Architecture
548,000 تومان
Software Engineering
1,194
Software Engineering
1,537,000 تومان
فریم ورک‌ها
457
Building an Application Development Framework
490,000 تومان
Software Engineering
1,015
Team Geek
373,000 تومان
Software Engineering
6,101
Designing Data-Intensive Applications
995,000 تومان
Machine Learning
1,391
Machine Learning Infrastructure and Best Practices for Software Engine...
541,000 تومان
Software Engineering
800
Think Like a Software Engineering Manager
549,000 تومان
قیمت
منصفانه
ارسال به
سراسر کشور
تضمین
کیفیت
پشتیبانی در
روزهای تعطیل
خرید امن
و آسان
آرشیو بزرگ
کتاب‌های تخصصی
هـر روز با بهتــرین و جــدیــدتـرین
کتاب های روز دنیا با ما همراه باشید
آدرس
پشتیبانی
مدیریت
ساعات پاسخگویی
درباره اسکای بوک
دسترسی های سریع
  • راهنمای خرید
  • راهنمای ارسال
  • سوالات متداول
  • قوانین و مقررات
  • وبلاگ
  • درباره ما
چاپ دیجیتال اسکای بوک. 2024-2022 ©