الکس ژو، ترجمه: دانیال خسروی و جواد جعفری

مصاحبه#
طراحی_سیستم#
نرم_افزار#
System_Design#
System_Design_Interview#
این کتاب به هدف یادگیری و نشرعلم به زبان فارسی ترجمه شده است و همینطور ترجمه بعضی از اصطلاحات و واژههای فنی در علوم کامپیوتر به زبان فارسی با مشکلاتی همراه بوده که انتظار میرود به صورت تدریجی واژههای مناسب توسط افرادی که در این علوم اطلاعات و دانش مبادله میکنند این واژگان جا افتاده و ماندگار شود. توصیه میشود که کتاب به ترتیب فصلها خوانده شود هر چند میتوان هر فصل را به صورت جداگانه مطالعه کرد که در این حالت توصیه میکنیم که ابتدا فصل اول به خاطر وجود مفاهیم و واژگان فنی بسیار مهم آن مطالعه شود و سپس به سراغ فصل مورد نظر خود رفته و آن را مطالعه کنید.
خوشحالیم که تصمیم گرفتید با ما در یادگیری مصاحبههای طراحی سیستم همراه شوید. سوالات مصاحبه طراحی سیستم دشوارترین نوع در میان تمام مصاحبه های فنی هستند. در این سؤالات از مصاحبه شونده خواسته میشود تا معماری یک سیستم نرم افزاری مانند فید خبری جستجوی گوگل سیستم چت و غیره را طراحی کند این سؤالات میتوانند دلهره آور باشند و هیچ الگوی خاصی برای پاسخگویی به آنها وجود ندارد. معمولاً این سؤالات بسیار گسترده و مبهم هستند. همچنین فرایند پاسخگویی به آنها باز بوده و هیچ پاسخ استاندارد یا درستی وجود ندارد. شرکتها به طور گسترده از مصاحبه های طراحی سیستم استفاده می کنند زیرا مهارتهای ارتباطی و حل مسئله ای که در این مصاحبه ها ارزیابی میشوند مشابه مهارتهای مورد نیاز برای کار روزانه یک مهندس نرم افزار هستند.
در این نوع مصاحبه فرد بر اساس نحوه ی تحلیل یک مشکل مبهم و حل گام به گام آن مورد ارزیابی قرار میگیرد علاوه بر ،این توانایی توضیح ،ایده بحث با دیگران و ارزیابی و بهینه سازی سیستم نیز سنجیده می.شود سؤالات طراحی سیستم دارای پایان باز هستند. درست همانند دنیای واقعی سیستمها میتوانند تفاوتها و تغییرات زیادی داشته باشند. هدف نهایی این است که به معماری ای دست پیدا کنید که به اهداف طراحی سیستم برسد. مسیر بحث میتواند بسته به مصاحبه کننده متفاوت باشد برخی از مصاحبه کنندگان ممکن است ترجیح دهند در سطح بالایی به معماری کلی سیستم بپردازند در حالی که برخی دیگر ممکن است روی یک یا چند ناحیه خاص تمرکز کنند. به طور معمول درک صحیح الزامات سیستم، محدودیتها و گلوگاه ها برای هدایت مصاحبه کننده و مصاحبه شونده ضروری است.
هدف این کتاب ارائه یک استراتژی قابل اعتماد برای مواجهه با سؤالات طراحی سیستم است. استراتژی و دانش ،درست برای موفقیت در مصاحبه حیاتی هستند این کتاب دانش جامعی در مورد ساخت یک سیستم مقیاس پذیر در اختیار شما قرار میدهد هر چه اطلاعات بیشتری از خواندن این کتاب به دست آورید برای حل سؤالات طراحی سیستم مجهزتر خواهید شد. این کتاب همچنین یک چارچوب گام به گام برای نحوه ی برخورد با سؤالات طراحی سیستم ارائه میدهد این کتاب با ارائه مثالهای ،متعدد رویکرد سیستمی را با مراحل دقیق و قابل اجرا برای شما شرح میدهد با تمرین مداوم برای رویارویی با سؤالات مصاحبه طراحی سیستم كاملاً آماده خواهید شد.
فهرست:
فصل 1 مقیاسدهی از صفر تا میلیونها کاربر
فصل 2 تخمین تقریبی و برآورد
فصل 3 الگویی برای مصاحبه طراحی سیستم
فصل 4 طراحی یک Rate Limiter
فصل 5 طراحی سیستم هش مداوم
فصل 6 طراحی پایگاه داده Key-Value
فصل 7 طراحی تولید کننده Unique ID توزیع شده
فصل 8 طراحی یک کوتاه کننده URL
فصل 9 طراحی Web Crawler
فصل 10 طراحی سیستم Notification
فصل 11 طراحی سیستم شبکه اجتماعی
فصل 12 طراحی سیستم برنامه چت
فصل 13 طراحی یک سیستم جستجو مبتنی بر Autocomplete
فصل 14 طراحی يوتيوب
فصل 15 طراحی Google Drive
فصل 16 ادامه یادگیری









