Zhiyong Tan

#REST
#RPC
#GraphQL
#System_Design
#OAuth_2.0
#CDN
#OpenID
#software_engineering
📚 این کتاب دقیقاً برای اون لحظهای نوشته شده که مصاحبهگر روبهروت میشینه و میگه: «خب، فرض کن باید یه سیستم طراحی کنی که میلیونها کاربر رو پشتیبانی کنه»
، و تو باید تو چند دقیقه نهتنها معماری درست بدی، بلکه نشون بدی چرا اون راهحل واقعاً کار میکنه.
🌟 مصاحبه طراحی سیستم یکی از سختترین چالشها توی فرایند استخدام مهندسان نرمافزار محسوب میشه. این کتاب کاربردی بهت بینش، مهارت و تمرینهای عملی لازم رو میده تا بتونی از پس سختترین سوالهای طراحی سیستم بربیای و همون شغل و حقوقی رو بگیری که دنبالش بودی.
💡 کتاب «Acing the System Design Interview» بهت یاد میده چطور توی فضای مصاحبه، تخصص واقعیت در طراحی سیستم رو مؤثر و حرفهای به نمایش بذاری. نویسنده، ژیونگ تان، تجربههای خودش رو از هر دو سمت میز مصاحبه (هم مصاحبهکننده، هم مصاحبهشونده) با جزئیات فنی جدی و دقیق در اختیارت قرار میده؛ از چارچوبهای تقسیمبندی عملکردی (Functional Partitioning) گرفته تا توضیح دربارهی الگوهای مختلف API.
⚙️ یاد میگیری چطور یه سوال طراحی رو سریع تحلیل کنی، راهحل بهینه رو تشخیص بدی و بعدش با بیان واضح و ساختاریافته، توضیحش بدی. این کتاب یه رویکرد منظم برای آمادهسازی قبل از مصاحبه، روشهای یادداشتبرداری مفید و قالبهای خودارزیابی در اختیارت میذاره تا بتونی عملکردت رو بسنجی و برای دفعات بعد بهتر آماده شی. در طول مسیر، یاد میگیری چه سوالهایی از مصاحبهکننده بپرسی و چطور یادداشتهای مفید و کاربردی برداری.
🚀 در این کتاب، روش منسجم و ساختاریافتهای رو یاد میگیری تا بتونی ایدههای طراحی سیستم رو حرفهای و منظم ارائه بدی، مثل:
🧩 نترس از ظاهر پیچیده و بازِ مصاحبههای طراحی سیستم! ژیونگ تان در این راهنمای دقیق، تجربههای ارزشمندی رو از هر دو سمت مصاحبه به اشتراک میذاره. با این کتاب عمیقاً وارد مباحث رایج فنی میشی و یاد میگیری چطور اونها رو برای طراحی ذهنی انواع سیستمها بهکار ببری.
✍️ پیشگفتار کتاب توسط آنتونی أستا و مایکل دی. الدر نوشته شده.
🔧 درباره فناوری:
مصاحبه طراحی سیستم حتی برای مهندسان باتجربه هم میتونه دلهرهآور باشه. ولی با یه مقدار آمادهسازی هوشمندانه، همین سوالهای باز و جلسات طراحی روی تخته سفید میتونن به نقطه قوتت تبدیل شن! در این کتاب قدرتمند، ژیونگ تان تکنیکها و بینشهای عملی رو درباره طراحی سیستم ارائه میده؛ مفاهیمی که برای مهندسان از شرکتهای بزرگ مثل آمازون، اپل، بایتدنس، پیپال و اوبر منجر به پیشنهاد شغلی شده.
📘 درباره کتاب:
Acing the System Design Interview یه مسترکلاس کامل برای درخشش در مصاحبههای طراحی سیستمه. با دنبال کردن تکنیکهایی ساده و بهذکر مانده، یاد میگیری چطور یه سوال رو سریع تحلیل کنی، مسیر مناسب رو شناسایی کنی و ایدههات رو با اعتمادبهنفس برای مصاحبهکننده توضیح بدی. در طی کار با این کتاب، نهتنها مهارت لازم برای موفقیت در مصاحبه رو کسب میکنی، بلکه توانایی انجام واقعی کار طراحی سیستمهای بزرگ و مقیاسپذیر رو هم به دست میآری.
📚 محتوای کتاب:
👨💻 درباره نویسنده:
ژیونگ تان مدیر فنی در شرکت **پیپال (PayPal)**ه. قبلاً در اوبر (Uber)، تِرادِیتا (Teradata) و چند استارتاپ کوچک کار کرده. در طول سالها هم از سمت مصاحبهکننده و هم مصاحبهشونده، بارها تجربه واقعی مصاحبه طراحی سیستم داشته.
🛠️ ویراستار فنی کتاب: موهیت کومار (Mohit Kumar)
📘 فهرست کتاب
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:
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
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)
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.









