DDIA·مطالعهSTUDY

کدام تمرین ارزش وقتت را دارد؟Which exercises deserve your time?

۴۷ تمرین DDIA با صورت مصاحبه‌ای، آزمایشگاه تکمیلی و حل آموزشی؛ برای هر تمرین، فرض‌ها، معیار پاسخ و دلیل تصمیم‌ها را در پاسخ دنبال کن.47 DDIA exercises with focused interview briefs, optional laboratories and worked solutions. Follow each answer for assumptions, evaluation criteria and the reasoning behind decisions.

ممیزی اولیه: ۱۴ اکتبر ۲۰۲۶ · اصلاح فنی: ۱۵ اکتبر ۲۰۲۶ · Backend / Distributed SystemsInitial review: 14 October 2026 · Technical corrections: 15 October 2026 · Backend / Distributed Systems

بازگشت به نقشهٔ فصل‌هاBack to the chapter roadmap

راهنمای استفاده از تمرین‌هاHow to use the exercises

ابتدا صورت مصاحبه‌ای را در زمان پیشنهادی حل کن و تصمیم‌هایت را با معیار پاسخ بسنج؛ سپس حل آموزشی و آزمایشگاه همان تمرین را بخوان. فرض‌ها و مرز تضمین هر مسئله در متن آن آمده‌اند و نکته‌های فنیِ اصلاح‌شده در بخش بعد به سؤال و پاسخ مربوط لینک دارند.Solve the interview brief within its suggested time, evaluate your decisions against the criteria, then study the worked solution and optional lab. Each exercise states its assumptions and guarantee boundaries; the resolved technical points below link to the corresponding question and answer.

در راهنماهای رسمی Amazon و Atlassian، توضیح نیازها، انتخاب، تریدآف، مقیاس، هزینه و قابلیت اطمینان مبنای ارزیابی‌اند. راهنمای Microsoft نیز حل مسئله، تست و طراحی سیستم‌های توزیع‌شده را نام می‌برد. بنابراین برای هر تمرین، یک صورت‌سؤال با زمان محدود و نشانه‌های پاسخ خوب نوشته شده است. این نگاشت و برچسب‌ها استنباط آموزشی ما هستند.Amazon and Atlassian emphasize requirements, design choices, trade-offs, scale, cost and reliability; Microsoft also names testing and distributed-system design. Each exercise therefore has a bounded discussion brief and answer criteria. This mapping and the labels are our editorial inference.

Amazon · SDE III interview preparation · Atlassian · engineering interview handbook · Microsoft · technical interviewing

این‌ها بانک سؤال محرمانهٔ شرکت‌ها یا آمار فراوانی سؤال در ۲۰۲۶ نیستند. منابع رسمی در تاریخ بالا بررسی شده‌اند؛ تاریخ بررسی با تاریخ انتشار فرق دارد. مثلاً راهنمای Principal آتلسیان ©۲۰۲۳ است. مقالهٔ استخدام مهندسان عملکرد Anthropic در ۲۱ ژانویهٔ ۲۰۲۶ نشان می‌دهد آزمون‌های تخصصی در واکنش به AI تغییر کرده‌اند؛ این شاهدِ یک تیم است، نه الزام AI/RAG برای همهٔ مصاحبه‌های backend.These sources are neither private question banks nor 2026 question-frequency statistics. Access date differs from publication date: the Principal guide is ©2023. Anthropic’s 21 January 2026 performance-hiring article documents changes in one specialist team responding to AI; it does not establish a universal AI/RAG requirement for backend interviews.

Atlassian · Principal Fullstack interview guide (©2023) · Anthropic · AI-resistant technical evaluations · 2026-01-21

تمرکز این ممیزی Senior/Staff در Backend و سیستم‌های توزیع‌شده است. برای نقش Data، Storage، SRE، Payments یا ML، اولویت تمرین‌های تخصصی تغییر می‌کند. این مجموعه به‌تنهایی آمادگی coding/DSA، product architecture، project deep dive و رفتار/رهبری را پوشش نمی‌دهد.The target is Senior/Staff backend and distributed systems. Data, storage, SRE, payments and ML roles change the specialist priorities. This set alone does not cover coding/DSA, product architecture, project deep dives or behavioral/leadership interviews.

Atlassian · Principal Fullstack interview guide (©2023) · OpenAI · interview guide

23 core, 21 role-specific, 3 supplementary exercises
این نمودار اولویت آموزشی ما را نشان می‌دهد، نه احتمال طرح سؤال.This chart shows our study priorities, not the probability of an interview question. SVG

معنای برچسب‌هاHow to read the labels

سطحLevelانتظار از نسخهٔ مصاحبه‌ایExpected interview reasoning
L1 · Foundationsمحاسبه و فهم دقیق یک مفهوم؛ پیش‌نیاز پاسخ‌های لول بالا است.Accurate calculations and one concept: prerequisites for advanced answers.
L2 · Seniorنیاز و invariant، طراحی قابل اجرا، trade-off، failure و معیار صحت/عملکرد.Requirements, invariants, practical design, trade-offs, failures and measurable correctness/performance.
L3 · Staff / Principalمرز تضمین‌ها، چند failure domain، migration/recovery، هزینه و اثر تصمیم بین اجزا یا تیم‌ها. حل این تمرین به‌تنهایی معادل احراز عنوان شغلی نیست.Guarantee boundaries, multiple failure domains, migration/recovery, cost and cross-component/team consequences. Solving an exercise alone does not establish a job level.

اولویت اصلی: ابتدا برای این مسیر بخوان. وابسته به نقش: در deep dive همان تخصص سرمایه‌گذاری کن. مکمل: برای آگاهی و بحث مرتبط، پس از هسته. زمان‌ها تخمین ما برای بحث‌اند؛ ساخت آزمایشگاه جدا و طولانی‌تر است.Core: study first for this track. Role-specific: invest when aligned with the target specialty. Supplementary: deepen relevant discussion after the core. Times are our discussion estimates; full implementation labs are separate and longer.

امتیاز دادن به پاسخScoring a response

برای هر کدام از پنج محورِ «روشن کردن مسئله و invariant»، «طراحی»، «trade-off و عدد»، «خرابی و recovery» و «آزمون و توضیح روشن» از صفر تا دو امتیاز بده: صفر=غایب/غلط، یک=ناقص، دو=دقیق و قابل دفاع. این rubric آموزشی است؛ حد قبولی شرکت‌ها را ادعا نمی‌کند. معیارهای اختصاصی زیر هر تمرین را هم بررسی کن.Score five dimensions from 0–2: requirements/invariants, design, quantified trade-offs, failure/recovery, and testing/clear communication. Zero means absent or incorrect, one incomplete, two precise and defensible. This is a practice rubric, not a company hiring threshold; also check each exercise’s specific criteria.

نکته‌های فنیِ اعمال‌شده در تمرین‌هاTechnical clarifications applied to the exercises

مسیر پیشنهادی مطالعهSuggested study path

  1. فصل ۲: محاسبهٔ بار، SLO و failure domain؛ سپس فصل‌های ۱ و ۳: مرجع و مدل داده.Chapter 2: capacity, SLOs and failure domains; then chapters 1 and 3: authority and data models.
  2. فصل ۸ و ۹: concurrency، idempotency، timeout و fencing؛ این‌ها را با history و invariant توضیح بده.Chapters 8 and 9: concurrency, idempotency, timeouts and fencing; practice histories and invariants.
  3. فصل ۶ و ۷: freshness و hotspot؛ فصل ۵: rollout سازگار و workflow recovery.Chapters 6 and 7: freshness and hotspots; chapter 5: compatible rollout and workflow recovery.
  4. فصل ۱۲ و ۱۳: offset/outbox، migration و reconciliation؛ بعد deep diveهای تخصصی فصل ۴، ۱۰ و ۱۱.Chapters 12 and 13: offsets/outbox, migration and reconciliation; then specialist deep dives in chapters 4, 10 and 11.

تمرین تکمیلی در دل همین مسئله‌هاOperational follow-ups in the worked solutions

برای Staff/Principal، روایت پروژهٔ واقعی با شواهد impact و همکاری بین تیم‌ها را جدا تمرین کن. هر پاسخ اکنون بخش «چرا این روش و این عددها؟» دارد؛ عدد آموزشی نقطهٔ شروع تحلیل است و باید با دادهٔ محصول جایگزین شود.For Staff/Principal, separately practice a real project narrative with evidence of impact and cross-team work. Every answer includes “Why this method and these numbers?”; teaching inputs start the analysis and must be replaced by product evidence.

ارزیابی تک‌تک ۴۷ تمرینAll 47 exercise assessments

47 / 47

فصل 1Chapter 1 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — معماری یک فروشگاه آنلاینExercise 1 — an online shop’s architecture

L2 · SeniorL2 · Seniorاولویت اصلیCore priority35 دقیقه بحث35 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

مرجع داده، مشتق‌ها و انتشار تغییر، مسئلهٔ واقعی طراحی است؛ صرف نام‌گذاری اجزا عمق کافی ندارد.Record and derived data are useful, but classification alone is too shallow.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

فروشگاهی را طراحی کن که سفارش را ثبت می‌کند و کش، جست‌وجو، گزارش و پیشنهاد محصول دارد. مرجع هر واقعیت را مشخص کن. اگر سفارش commit شود ولی انتشار رویداد شکست بخورد چه می‌کنی؟ قرارداد تازگی هر نما، مسیر بازسازی و هزینهٔ حداقل معماری را توضیح بده.Design order storage and its cache, search, reporting and recommendation views. Explain commit-without-publication, freshness contracts, rebuilding and minimum cost.

معیار پاسخ خوبWhat a good answer demonstrates

  • مرجع و مشتق را برای هر واقعیت جدا می‌کندAuthority per fact
  • dual write، outbox/CDC و idempotency را تحلیل می‌کندAtomic publication and idempotence
  • برای تازگی و بازسازی معیار قابل سنجش داردFreshness and rebuild criteria

پیگیری مصاحبه:Interview follow-up: اگر مشتری بلافاصله بعد از ثبت سفارش آن را در جست‌وجو نبیند، تجربهٔ کاربر را چطور حفظ می‌کنی؟How do you preserve the user experience if a new order is not yet visible in search?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Amazon · SDE III interview preparation · Debezium · outbox event router · حل آموزشی این تمرینWorked solution

تمرین ۲ — تصمیم توزیعExercise 2 — the distribution decision

L2 · SeniorL2 · Seniorاولویت اصلیCore priority40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

برآورد بار و انتخاب کمترین توزیع مفید است؛ تعداد سفارش روزانه به‌تنهایی دلیل sharding نیست.Capacity estimates should justify distribution rather than assume it.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

روزانه دو میلیون سفارش، اوج ده‌برابری، گزارش فروش و الزام نگهداری داده در یک کشور داریم. ابتدا اندازهٔ رکورد، read/write ratio، SLO و رشد را روشن کن. سه طرح تک‌گره، primary+replica و sharding را با شواهد ظرفیت مقایسه کن؛ بکاپ، failover و محل داده را هم پوشش بده.Compare single-node, primary/replica and sharded designs for two million daily orders, tenfold peaks, analytics and in-country storage. Specify workload, SLOs, growth, failover, backup and migration thresholds.

معیار پاسخ خوبWhat a good answer demonstrates

  • میانگین را با peak اشتباه نمی‌گیردAverage versus peak
  • residency را با لزوم sharding یکی نمی‌گیردResidency versus sharding
  • threshold مهاجرت و هزینهٔ عملیاتی را مشخص می‌کندMigration thresholds and cost

پیگیری مصاحبه:Interview follow-up: با پنج برابر شدن حجم و نصف شدن بودجه، کدام بخش را اول تغییر می‌دهی؟With fivefold data growth and half the budget, which component do you change first?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Amazon · SDE III interview preparation · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — چالش GDPRExercise 3 — the GDPR challenge

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific35 دقیقه بحث35 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

حذف داده در سامانه‌های لاگ‌محور برای پلتفرم و حریم خصوصی مهم است؛ انتظار حفظ متن قانون برای همهٔ نقش‌ها مناسب نیست.Important for privacy/platform roles; legal memorization is not a general backend requirement.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

درخواست حذف یک کاربر را از مرجع تا کش، ایندکس، لاگ، بکاپ و مجموعهٔ آموزش دنبال کن. گزینه‌های جداسازی PII، retention، بازنویسی سگمنت و حذف کلید رمز را مقایسه کن. بگو چه چیزی در restore نباید دوباره زنده شود و کدام تصمیم نیازمند تفسیر حقوقی است.Trace deletion through the record, cache, index, log, backup and training data. Compare PII separation, retention, rewriting and key deletion. Prevent resurrection after restore and identify legal uncertainties.

معیار پاسخ خوبWhat a good answer demonstrates

  • همهٔ کپی‌ها و restore را پوشش می‌دهدDerived copies and restore
  • محدودیت crypto-shredding و لینک‌پذیری را می‌بیندKey-deletion limitations
  • تأیید حذف را با مدرک و SLA داخلی طراحی می‌کندDeletion evidence and deadlines

پیگیری مصاحبه:Interview follow-up: اگر یک مصرف‌کنندهٔ قدیمی هنگام حذف آفلاین باشد چه تضمینی داری؟What happens when an old consumer is offline throughout a deletion?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: European Commission · GDPR principles · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

فصل 2Chapter 2 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — محاسبهٔ بارExercise 1 — load math

L1 · پایهL1 · Foundationsاولویت اصلیCore priority25 دقیقه بحث25 min discussion

اصلاح‌شدهCorrected

روز آموزشی ۸۶۴۰۰ ثانیه و ضریب اوج ۱۰ است؛ هر سفارش سه پیام اعلان می‌سازد. کش، یک سطر خلاصهٔ سفارش با کلید order_id در k مقصد منطقی است؛ k را جدا از سه سرویس تعیین کن.A teaching day has 86400 seconds and the peak factor is 10; each order emits three notifications. The cache stores an order-summary row keyed by order_id in k logical destinations; k is independent of the three services.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای دو میلیون سفارش در روز و اوج ده‌برابری، RPS و تعداد سه پیام داخلی به‌ازای هر سفارش را حساب کن. سپس یک view مشخص تعریف کن که هر سفارش در k مقصد آن نوشته می‌شود؛ write amplification، نرخ خواندن، اندازهٔ payload و lag را مقایسه کن و دربارهٔ materialization تصمیم بگیر.Calculate average and peak orders/s and three internal notifications per order. Define a materialized view with k destinations, then compare extra writes, read savings, payload size and freshness.

معیار پاسخ خوبWhat a good answer demonstrates

  • ۲۳٫۱۵ و ۲۳۱٫۵ سفارش در ثانیه را درست محاسبه می‌کندCorrect average/peak math
  • سه پیام را با k نوشتن کش یکی نمی‌گیردNotification versus view fan-out
  • فرض‌ها و نقطهٔ سربه‌سر را بیان می‌کندExplicit break-even assumptions

پیگیری مصاحبه:Interview follow-up: اگر یک مشتری بزرگ k را صد برابر کند چه اتفاقی برای tail latency می‌افتد؟What happens to tail latency when one large customer increases k by a factor of 100?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Amazon · SDE III interview preparation · Google SRE · implementing SLOs · حل آموزشی این تمرینWorked solution

تمرین ۲ — نوشتن SLO و SLAExercise 2 — writing SLO and SLA

L2 · SeniorL2 · Seniorاولویت اصلیCore priority30 دقیقه بحث30 min discussion

حفظKeep

SLO، تجربهٔ کاربر و پیامد خرابی از کاربردی‌ترین بخش‌های این مجموعه‌اند؛ داشبورد باید به اقدام وصل شود.A strong operational exercise when monitoring leads to action.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای استعلام وضعیت سفارش SLI و SLO با بازهٔ اندازه‌گیری، latency percentile و availability تعریف کن. مرز success، timeout و خطای وابستگی را روشن کن. error budget و هشدار burn rate را طراحی کن و SLO داخلی را از تعهد قراردادی SLA جدا کن.Define order-status SLIs, latency and availability SLOs, measurement windows, error budget and burn-rate alerts. Distinguish internal objectives from contractual SLA remedies.

معیار پاسخ خوبWhat a good answer demonstrates

  • صورت و مخرج SLI روشن استSLI numerator and denominator
  • percentile و availability دو معیار مستقل‌اندLatency versus availability
  • هشدار، rollback و تصمیم انتشار به budget وصل‌اندBudget-driven alerts and rollback

پیگیری مصاحبه:Interview follow-up: میانگین عالی است ولی p99 خراب؛ کدام گروه کاربران را بررسی می‌کنی؟The average latency is excellent but p99 is poor. Which user groups do you investigate?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Google SRE · implementing SLOs · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — حذف SPOFExercise 3 — removing SPOFs

L2 · SeniorL2 · Seniorاولویت اصلیCore priority45 دقیقه بحث45 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

multi-AZ و rolling upgrade مهم‌اند؛ داشتن دو ماشین به‌تنهایی SPOFهای کنترل، state و شبکه را حذف نمی‌کند.Two machines do not eliminate every single point of failure.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

یک API ثبت سفارش با پایگاه داده و صف طراحی کن که خرابی یک ماشین یا AZ را تحمل کند. failure domain، quorum، fencing، session state، health check، ظرفیت AZ باقی‌مانده و RPO/RTO را مشخص کن. انتشار سازگار و rollback بدون توقف را توضیح بده.Design an order API, database and queue that survive one host or AZ failure. Specify quorum, fencing, health checks, spare capacity, RPO/RTO, compatible rolling upgrades and rollback.

معیار پاسخ خوبWhat a good answer demonstrates

  • SPOFهای data plane و control plane را می‌یابدData/control-plane failure domains
  • HA را با backup و disaster recovery یکی نمی‌گیردHA versus backup/DR
  • در ظرفیت و schema rollout شرط قابل آزمون می‌دهدCapacity and rollout acceptance gates

پیگیری مصاحبه:Interview follow-up: در rolling upgrade نسخه‌های قدیم و جدید هم‌زمان فعال‌اند؛ تغییر schema را چگونه منتشر می‌کنی؟Old and new binaries coexist during rolling deployment. How do you roll out a schema change?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

فصل 3Chapter 3 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — مدل‌سازی کاتالوگ فروشگاهExercise 1 — modelling a shop catalog

L2 · SeniorL2 · Seniorاولویت اصلیCore priority40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

مدل‌سازی بر اساس query و constraint ارزشمند است؛ پاسخ «SQL یا NoSQL» بدون workload ضعیف است.Model choices should follow queries, cardinality and constraints.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

کاتالوگ محصول، برند، دسته‌بندی چندگانه و نظر کاربران را با مدل رابطه‌ای و سندی طراحی کن. سه query پرتکرار، pagination، رشد نظرات، uniqueness و تغییر برند را مشخص کن. schema و index را رسم کن و یک انتخاب متناسب با بار داشته باش.Model products, brands, multiple categories and unbounded reviews in relational and document forms. Specify three queries, pagination, indexes and uniqueness; justify a workload-specific choice.

معیار پاسخ خوبWhat a good answer demonstrates

  • cardinality، FK و index روشن‌اندCardinality, keys and indexes
  • آرایهٔ بی‌حد نظرات را در سند جا نمی‌دهدBounded document growth
  • انتخاب را با query و consistency توجیه می‌کندQuery-driven consistency choices

پیگیری مصاحبه:Interview follow-up: اگر محصول در چند دسته باشد و نظرات میلیون‌تایی شوند مدل چگونه تغییر می‌کند؟How does the model change when a product has multiple categories and millions of reviews?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Amazon · SDE III interview preparation · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۲ — تصمیم نرمال‌سازیExercise 2 — the normalization call

L1 · پایهL1 · Foundationsاولویت اصلیCore priority20 دقیقه بحث20 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

نمونهٔ خوبی برای normalization است؛ نسخهٔ فعلی برای لول بالا باید به update propagation و cache invalidation برسد.Useful foundations; propagation failures provide the senior follow-up.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

لوگوی یک برند روی صد هزار محصول دیده می‌شود. reference، embedding و read model مشتق را مقایسه کن. هزینهٔ خواندن، fan-out تغییر، stale data و failure میان batch update را بیان کن؛ انتخابت را با حد تازگی قابل قبول توجیه کن.Compare references, embedding and a derived read model for one brand logo across 100,000 products. Analyze read cost, update fan-out, partial failure, staleness and versioning.

معیار پاسخ خوبWhat a good answer demonstrates

  • کپی را بدون مسیر update پیشنهاد نمی‌دهدCopy propagation
  • خواندن سریع را با هزینه نوشتن مبادله می‌کندRead/write cost trade-off
  • منبع حقیقت و نسخهٔ logo را مشخص می‌کندAuthority and versioning

پیگیری مصاحبه:Interview follow-up: با شکست به‌روزرسانی در نیمهٔ محصولات چه چیزی را retry می‌کنی؟What do you retry when a logo update fails halfway through the products?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Atlassian · engineering interview handbook · Debezium · outbox event router · حل آموزشی این تمرینWorked solution

تمرین ۳ — event sourcing برای رزرو سینماExercise 3 — event sourcing for cinema booking

L2 · SeniorL2 · Seniorاولویت اصلیCore priority40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

رزرو و replay سناریوی قوی‌ای است؛ نام‌گذاری event به‌تنهایی کافی نیست و concurrency قید صندلی مهم‌تر است.Reservation invariants matter more than naming events.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

رزرو سینما را با event log و سه projection وضعیت صندلی، فروش و بلیت طراحی کن. دو درخواست هم‌زمان برای یک صندلی، انقضای hold، لغو و اصلاح رزرو را توضیح بده. invariant را در write path اعمال کن و replay را از ارسال دوبارهٔ بلیت جدا کن.Design cinema reservations with a log and seat, sales and ticket projections. Handle concurrent requests, hold expiry, cancellation and corrections. Enforce seat exclusivity at the write boundary and prevent replayed external effects.

معیار پاسخ خوبWhat a good answer demonstrates

  • یک صندلی دو رزرو تأییدشده نداردSeat exclusivity
  • command و event و compensating event را جدا می‌کندCommands versus events
  • projection و اثر بیرونی idempotent هستندIdempotent projections and side effects

پیگیری مصاحبه:Interview follow-up: رویداد SeatHeld دیر برسد ولی SeatReleased قبلاً پردازش شده باشد چه می‌کنی؟What happens if SeatHeld arrives after SeatReleased has already been processed?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: AWS · safe retries with idempotent APIs · Amazon · SDE III interview preparation · حل آموزشی این تمرینWorked solution

فصل 4Chapter 4 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — موتور کلید-مقدار log-structuredExercise 1 — a log-structured key-value engine

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific45 دقیقه بحث45 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

LSM/WAL برای storage/platform مفید است؛ ساخت موتور کامل و یک میلیون benchmark تمرین چندساعته است، نه سؤال معمول جلسه.A substantial storage lab rather than a normal live interview task.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای workload نوشتن‌محور با point read و range read، LSM و B-tree را مقایسه کن. مسیر write، WAL، memtable، SSTable، compaction و tombstone را رسم کن. توضیح بده crash بین flush و ثبت manifest چه می‌کند و چه زمانی write/read/space amplification بالا می‌رود.Compare LSM and B-tree for write-heavy point/range reads. Draw WAL, memtable, SSTable and compaction. Explain crash recovery, manifests, tombstones and write/read/space amplification.

معیار پاسخ خوبWhat a good answer demonstrates

  • durability را از index حافظه جدا می‌کندDurability versus RAM indexing
  • نسخهٔ جدید و tombstone درست انتخاب می‌شوندLatest versions and tombstones
  • benchmark دادهٔ خام، fsync و cache را مشخص می‌کندDefined fsync/cache benchmark conditions

پیگیری مصاحبه:Interview follow-up: حذف tombstone هنگام compaction چه زمانی رکورد قدیمی را زنده می‌کند؟When can dropping a tombstone during compaction resurrect an old value?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۲ — انباردادهٔ ستونی از صفرExercise 2 — a columnar warehouse from scratch

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

column pruning، partition pruning و star schema برای data engineering مناسب‌اند؛ RLE دستی ارزش مصاحبه‌ای کمتری دارد.Strong for data engineering; manual RLE is an optional depth exercise.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

گزارش فروش هر دسته‌بندی به تفکیک روز هفته را روی fact فروش و dimension محصول و تاریخ طراحی کن. SQL، partition key، sort key و ستون‌های خوانده‌شده را مشخص کن. اثر skew، cardinality، bitmap و تغییر دسته‌بندی محصول در تاریخ را تحلیل کن.Design daily category sales analytics with fact and dimension tables. Provide SQL, partition/sort keys and read columns. Explain pruning, skew, bitmap compression and historical category semantics.

معیار پاسخ خوبWhat a good answer demonstrates

  • pruning را با خواندن کمتر ستون تفکیک می‌کندColumn versus block pruning
  • تعریف تاریخی category روشن استHistorical category semantics
  • compression را با cardinality و order توجیه می‌کندCompression under stated cardinality

پیگیری مصاحبه:Interview follow-up: آیا فروش سال گذشته باید با دسته‌بندی امروز گزارش شود یا دسته‌بندی زمان فروش؟Should last year’s sales use today’s category or the category at the time of sale?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — ایندکس جست‌وجو: از متن تا بردارExercise 3 — a search index: from text to vectors

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific45 دقیقه بحث45 min discussion

اصلاح‌شدهCorrected

الگوی /appl./ دو trigram ثابت app و ppl دارد؛ اشتراک postingها فقط نامزد می‌سازد و regex نتیجه را تأیید می‌کند. recall@k با exact top-k مقایسه می‌شود.The pattern /appl./ requires app and ppl; intersect their postings to find candidates, then verify the regex. Recall@k compares approximate results with exact top-k.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

جست‌وجوی محصول را با inverted index، فیلتر و vector index طراحی کن. برای red AND apples اشتراک postings را توضیح بده. برای regex /appl./ ابتدا candidates با trigram و سپس تأیید regex را انجام بده. در IVF با nprobe=1، recall@k را نسبت به exact top-k و p95 latency بسنج؛ hybrid ranking و جداسازی tenant را هم تحلیل کن.Design lexical and vector product retrieval. Intersect postings for red AND apples; filter /appl./ by trigram then verify the regex. Evaluate IVF using exact top-k recall@k and p95 latency, and discuss hybrid ranking and tenant isolation.

معیار پاسخ خوبWhat a good answer demonstrates

  • candidate filtering را با match قطعی اشتباه نمی‌گیردCandidates versus verified matches
  • ANN ground truth و recall@k درست تعریف شدهExact recall ground truth
  • freshness، ACL و هزینه در retrieval دیده می‌شوندFreshness and authorization

پیگیری مصاحبه:Interview follow-up: اگر regex هیچ trigram ثابت نداشته باشد یا filter بسیار محدود باشد چه مسیر جایگزینی داری؟What fallback handles a regex without any fixed trigram, or a highly selective filter?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Atlassian · engineering interview handbook · Pinecone · production checklist · حل آموزشی این تمرینWorked solution

فصل 5Chapter 5 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — بایت‌ها را دستی بشمارExercise 1 — count the bytes by hand

L1 · پایهL1 · Foundationsوابسته به نقشRole-specific25 دقیقه بحث25 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

wire format برای protocol/storage آموزشی است؛ حفظ ۶۶ و ۳۳ بایت اولویت عمومی ندارد. شرط حفظ unknown field باید دقیق باشد.Understanding compatibility is more valuable than memorizing byte totals.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

با یک رکورد کوچک تفاوت JSON، MessagePack و Protobuf را در schema، حجم و debugging توضیح بده. یک tag را دستی decode کن. فیلد email اضافه کن و دو مسیر binary round-trip و تبدیل به JSON را از نظر حفظ unknown field مقایسه کن.Compare JSON, MessagePack and Protobuf, decode one tag, then add email. Test unknown-field preservation in binary round-trips against JSON conversion or field-by-field copying.

معیار پاسخ خوبWhat a good answer demonstrates

  • tag و varint را می‌فهمد، عدد حفظ نمی‌کندTag/varint understanding
  • runtime و نوع تبدیل را مشخص می‌کندSpecified conversion/runtime
  • wire compatibility را از API compatibility جدا می‌کندWire versus application compatibility

پیگیری مصاحبه:Interview follow-up: proxy قدیمی پیام را field-by-field به پیام جدید کپی می‌کند؛ چه داده‌ای گم می‌شود؟An old proxy copies recognized fields into a fresh message. What data disappears?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Protobuf · proto3 language guide · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۲ — تکاملِ schema زیرِ فشارExercise 2 — schema evolution under pressure

L2 · SeniorL2 · Seniorاولویت اصلیCore priority40 دقیقه بحث40 min discussion

اصلاح‌شدهCorrected

جهت writer→reader، فرمت binary/JSON، tag، default و alias مشخص‌اند؛ parse شدن با حفظ همهٔ مقدارها یکسان نیست.Name writer→reader direction, binary/JSON format, tags, defaults and aliases; parseability differs from preserving all values.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای Avro و Protobuf افزودن فیلد، rename و تغییر cardinality را بررسی کن. جهت writer→reader، default، alias، tag و binary/JSON را دقیق مشخص کن. scalar-to-array را با فیلد جدید و دورهٔ dual compatibility منتشر کن؛ compatibility test و rollback داشته باش.Compare Avro and Protobuf field addition, rename and cardinality changes. Specify writer/reader direction, aliases, defaults and tags. Migrate cardinality with a new field and compatibility tests; distinguish parseability from lossless semantics.

معیار پاسخ خوبWhat a good answer demonstrates

  • backward یعنی reader جدید/writer قدیم را روشن می‌کندExplicit writer/reader direction
  • rename Avro را خودکار دوطرفه فرض نمی‌کندAsymmetric rename handling
  • packed numeric و lossy string repeated را می‌بیندPacking and lossy repeated fields

پیگیری مصاحبه:Interview follow-up: consumerهای قدیمی ماه‌ها عقب‌اند؛ چه زمانی tag یا فیلد قدیمی را حذف می‌کنی؟Old consumers are months behind. When can you remove the old field or tag?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Protobuf · proto3 language guide · Avro 1.12 · schema resolution · حل آموزشی این تمرینWorked solution

تمرین ۳ — از تئوری تا عملیاتExercise 3 — from theory to operations

L3 · Staff / PrincipalL3 · Staff / Principalاولویت اصلیCore priority45 دقیقه بحث45 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

durable workflow، replay و side effect برای backend جدی ارزشمندند؛ باید تصمیم قطعی و نسخه‌بندی invocation روشن باشد.Durable replay is relevant when versioning and side effects are explicit.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

workflow موجودی، پرداخت و ارسال را در برابر crash و retry طراحی کن. شناسهٔ هر گام، log پایدار، نتیجهٔ ذخیره‌شده و compensation را مشخص کن. تغییر ترتیب گام‌ها، branching و schema را برای invocationهای در جریان نسخه‌بندی کن و هزینهٔ recovery را بگو.Design inventory/payment/shipping workflow recovery with stable step IDs, durable results and compensation. Version changes to step order, branching and payloads for running invocations.

معیار پاسخ خوبWhat a good answer demonstrates

  • شناسه بین retry ثابت استStable retry IDs
  • پرداخت/ارسال بیرونی با قرارداد idempotency پوشش داده شدهExternal idempotency contract
  • کد جدید replay تاریخچه قدیم را نمی‌شکندVersion-safe replay

پیگیری مصاحبه:Interview follow-up: provider ارسال idempotency key ندارد؛ تضمینت چه تغییری می‌کند؟The shipping provider has no idempotency key. How does that change your guarantee?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: AWS · safe retries with idempotent APIs · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

فصل 6Chapter 6 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — lag را به دام بیندازExercise 1 — trap the lag

L2 · SeniorL2 · Seniorاولویت اصلیCore priority40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

replica lag و consistency تجربهٔ کاربر مستقیماً به طراحی مرتبط‌اند؛ نصب replica را به مسیر آزمایشگاهی منتقل می‌کنیم.A useful consistency discussion; replica setup belongs in the lab.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

بعد از ویرایش پروفایل، یک read replica مقدار قدیمی برمی‌گرداند. read-your-writes، monotonic reads و causal consistency را با history کوتاه نشان بده. routing به primary، session stickiness و version/LSN barrier را مقایسه کن و برای lag بی‌حد fallback تعریف کن.Show read-your-writes, monotonic-read and causal anomalies after profile changes. Compare primary routing, stickiness and version/LSN barriers, including fallback when lag has no known bound.

معیار پاسخ خوبWhat a good answer demonstrates

  • زمان ثابت sleep را تضمین consistency نمی‌داندNo fixed sleep guarantee
  • دو replica را با version دنبال می‌کندVersion-aware routing
  • قیمت تازگی را در latency و availability می‌بیندFreshness/availability trade-off

پیگیری مصاحبه:Interview follow-up: اگر primary بعد از ACK خراب شود، read-your-writes چه وابستگی‌ای به replication durability دارد؟If the primary fails after ACK, how does read-your-writes depend on replication durability?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Amazon · SDE III interview preparation · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۲ — سبد خریدِ هم‌زمانExercise 2 — the concurrent shopping cart

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific35 دقیقه بحث35 min discussion

اصلاح‌شدهCorrected

هر دو دستگاه ابتدا milk:t1 و bread:t2 را دیده‌اند؛ فاز اول add تازه ندارد. حذف tag مشاهده‌شده با حذف یک add هم‌زمان فرق دارد.Both devices initially observed milk:t1 and bread:t2; phase one has no fresh adds. Removing observed tags differs from removing a concurrent new add.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

دو دستگاه سبد مشترک را آفلاین ویرایش می‌کنند: هر کدام یک آیتم شناخته‌شده را حذف می‌کند و هیچ add تازه‌ای وجود ندارد. LWW، union سادهٔ siblings و OR-Set با tag/tombstone را مقایسه کن. سپس add هم‌زمان با remove را اضافه کن و semantics مطلوب محصول را انتخاب کن.Start with two offline devices removing different known cart items and no new adds. Compare LWW, sibling union and an OR-Set with tagged adds/removals. Then introduce concurrent add/remove and choose product semantics.

معیار پاسخ خوبWhat a good answer demonstrates

  • LWW را با clock skew و lost update تحلیل می‌کندClock skew and lost updates
  • remove مشاهده‌شده با concurrent add تازه فرق داردObserved removals versus fresh concurrent adds
  • GC tombstone را به causal stability وصل می‌کندSafe tombstone collection

پیگیری مصاحبه:Interview follow-up: دستگاهی یک سال آفلاین بوده؛ tombstone را چه زمانی می‌توان پاک کرد؟A device has been offline for a year. When is it safe to collect tombstones?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Preguiça, Baquero, Shapiro · CRDTs · 2018 · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — مرز تضمین‌های quorumExercise 3 — quorum guarantee boundaries

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific45 دقیقه بحث45 min discussion

اصلاح‌شدهCorrected

برای membership ثابت، هر write quorum سه‌عضوی با هر read quorum سه‌عضوی از پنج عضو اشتراک دارد؛ تازگی به نسخه‌ها، دوام و عضویت نیز وابسته است.With fixed membership, every three-node write quorum intersects every three-node read quorum among five nodes; freshness also needs version, durability and membership assumptions.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

با n=5,w=3,r=3 نشان بده چه تضمینی از تقاطع مجموعه‌ها داریم و چه تضمینی نداریم. partial write، lost ACK، stale replacement و تغییر membership را تحلیل کن. مانیتور staleness را با version، probe و divergence طراحی کن؛ failure را با rollback یکی ندان.For n=5,w=3,r=3, explain quorum intersection and its limits. Analyze partial writes, lost ACKs, stale replacement and changing membership; define useful version probes and divergence monitoring.

معیار پاسخ خوبWhat a good answer demonstrates

  • membership و durable ACK را از نامساوی جدا می‌کندMembership and durability assumptions
  • نوشتن ناموفق می‌تواند قابل مشاهده باشدVisibility of partial writes
  • بدون ترتیب لاگ، واحد سنجش تازگی را تعریف می‌کندMeaningful staleness metrics

پیگیری مصاحبه:Interview follow-up: در rebalancing هم‌زمان، quorum قدیم و جدید چگونه باید هم‌پوشانی داشته باشند؟How should old and new quorums overlap during concurrent rebalancing?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Attiya, Bar-Noy, Dolev · atomic registers · 1995 · Jepsen · consistency models · حل آموزشی این تمرینWorked solution

فصل 7Chapter 7 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — طرحِ sharding برای دادهٔ زمان‌سریExercise 1 — a sharding scheme for time-series data

L2 · SeniorL2 · Seniorاولویت اصلیCore priority40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

hotspot و query-aware sharding مهم‌اند؛ hash-range بدون تعیین کلید هش پاسخ یکتایی ندارد.Hash-range needs a specified hash key; monthly totals can hide instantaneous hotspots.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای دادهٔ ماهانهٔ سنسورها، timestamp-range، sensor:timestamp range، hash(sensor_id) و hash(full_key) را مقایسه کن. هم بار لحظه‌ای و هم مجموع ماه را بسنج. مسیر query یک سنسور در یک ماه، hotspot سنسور پرنرخ و repartitioning را توضیح بده.Compare timestamp ranges, sensor:timestamp ranges, hash(sensor_id) and hash(full_key). Measure instantaneous and monthly load, query fan-out, hot sensors and repartitioning.

معیار پاسخ خوبWhat a good answer demonstrates

  • توزیع ماهانه hotspot لحظه‌ای را پنهان نمی‌کندInstantaneous hotspot measurement
  • hash sensor را با hash full key یکی نمی‌گیردSpecified hash input
  • query fan-out و write skew کمی شده‌اندQuery fan-out and skew

پیگیری مصاحبه:Interview follow-up: یک سنسور ۴۰٪ نوشتن‌ها را تولید کند؛ چه تغییری در کلید می‌دهی؟One sensor generates 40% of all writes. How do you change the partition key?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Amazon · SDE III interview preparation · حل آموزشی این تمرینWorked solution

تمرین ۲ — consistent hashing را خودت بسازExercise 2 — build consistent hashing yourself

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific35 دقیقه بحث35 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

consistent hashing مرتبط است، ولی درصد جابه‌جایی تنها معیار نیست؛ policy نگاشت fixed shard نیز باید تعریف شود.Movement percentage alone misses skew, capacity weights and migration policy.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای اضافه/حذف node، modulo، rendezvous و fixed logical shards با جدول مالکیت را مقایسه کن. درصد حرکت را برای mapping مشخص محاسبه کن و دربارهٔ skew، وزن node، failure، replication و مهاجرت تدریجی تصمیم بگیر.Compare modulo, rendezvous and fixed logical shards with an explicit ownership map. Estimate movement on joins/leaves and discuss skew, weighted nodes, replication and staged handoff.

معیار پاسخ خوبWhat a good answer demonstrates

  • ثبات hash در restart تضمین شدهStable hash function
  • حرکت داده را از تغییر routing جدا می‌کندData movement versus routing
  • fixed shard بدون ownership policy مقایسه نشدهExplicit shard ownership policy

پیگیری مصاحبه:Interview follow-up: node جدید دو برابر ظرفیت دارد؛ balancing را بدون جابه‌جایی همهٔ کلیدها چطور انجام می‌دهی؟A new node has twice the capacity. How do you rebalance without moving every key?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — local در برابر global: اندازه‌گیری، نه تئوریExercise 3 — local vs global: measure, don't theorize

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific45 دقیقه بحث45 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

global index از deep diveهای خوب است؛ latency چهار SQLite محلی پیش‌بینی شبکه و cluster واقعی نیست.A useful distributed-index deep dive; local SQLite timings do not predict networked p99.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای دادهٔ چهار shard، local و global secondary index طراحی کن. write path، تک‌شرط/دوشرط، scatter-gather، failure جزئی و lag را مقایسه کن. یک تغییر چندtermی را با outbox/version مدیریت کن و تعداد RPC، p99 و هزینهٔ consistency را مشخص کن.Design local and global secondary indexes over four shards. Compare writes, one/two predicates, scatter-gather, partial failures and lag. Specify outbox/version handling, RPC counts and consistency cost.

معیار پاسخ خوبWhat a good answer demonstrates

  • source shard و index shard را جدا می‌شماردBase and index shard counts
  • index غیراتمیک را مرجع حقیقت فرض نمی‌کندDerived-index consistency limits
  • benchmark محلی را به cluster تعمیم نمی‌دهدNo network conclusions from local timing

پیگیری مصاحبه:Interview follow-up: index کالا را نشان می‌دهد ولی حذف آن در مرجع ثبت شده؛ خواننده چه می‌کند؟The index returns a product already deleted from the record. What does the reader do?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Debezium · outbox event router · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

فصل 8Chapter 8 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — ناهنجاری‌ها را زنده بسازExercise 1 — reproduce the anomalies live

L2 · SeniorL2 · Seniorاولویت اصلیCore priority40 دقیقه بحث40 min discussion

اصلاح‌شدهCorrected

آزمایش‌ها برای PostgreSQL 18 هستند: READ UNCOMMITTED مانند READ COMMITTED است، RR جلوی phantom را می‌گیرد و write skew هنوز ممکن است.Tests target PostgreSQL 18: READ UNCOMMITTED behaves as READ COMMITTED, RR prevents phantoms, and write skew can still occur.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

روی PostgreSQL مشخص، history دو اتصال برای read skew، lost update، phantom و write skew بساز و isolation را مقایسه کن. برای dirty read/write آزمون عدم وقوع و blocking بنویس. ناهنجاری را با SQL دقیق توضیح بده و رفتار محصول را از حداقل استاندارد SQL جدا کن.Create two-session SQL histories for read skew, lost update, phantom and write skew on a named PostgreSQL version. Test dirty-read/write prevention and blocking. Compare implemented guarantees with the SQL standard.

معیار پاسخ خوبWhat a good answer demonstrates

  • عدم وقوع هم نتیجهٔ معتبر آزمایش استValid prevention results
  • lost update ناشی از read-modify-write را درست نشان می‌دهدCorrect read-modify-write histories
  • RR در PostgreSQL phantom را حذف می‌کند ولی write skew ممکن استProduct-specific isolation guarantees

پیگیری مصاحبه:Interview follow-up: UPDATE balance=balance+1 چه تفاوتی با SELECT و UPDATE مقدار ثابت دارد؟How does UPDATE balance=balance+1 differ from SELECT followed by an absolute-value UPDATE?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: PostgreSQL 18 · transaction isolation · حل آموزشی این تمرینWorked solution

تمرین ۲ — یک سیستمِ رزروِ بدونِ double-booking طراحی کنExercise 2 — a reservation system with no double-booking

L2 · SeniorL2 · Seniorاولویت اصلیCore priority45 دقیقه بحث45 min discussion

اصلاح‌شدهCorrected

رزروها بازهٔ نیمه‌باز [start,end) دارند؛ قفل روی سطر موجود اتاق در همان تراکنش گرفته می‌شود و بررسی overlap بعد از اخذ قفل است.Bookings use half-open intervals [start,end); lock the existing room row within the transaction and check overlap after acquiring it.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای رزرو بازه‌ای یک اتاق، invariant عدم overlap را تعریف کن. check+insert، READ COMMITTED، lock روی ردیف ثابت اتاق، SERIALIZABLE و exclusion constraint را مقایسه کن. برای پنجاه درخواست هم‌زمان retry، contention و p99 را طراحی کن؛ قید UNIQUE فقط برای slot ثابت کافی است.Enforce no overlapping room reservations. Compare check/insert, Read Committed, a stable room-row lock, Serializable and exclusion constraints. Design 50-way contention tests and report retry and latency; UNIQUE fits discrete fixed slots.

معیار پاسخ خوبWhat a good answer demonstrates

  • قفل ردیف موجود اتاق را از قفل رزرو خالی جدا می‌کندExisting room-row lock
  • بازه زمانی با equality اشتباه نشدهOverlap versus equality constraints
  • abort، retry کل تراکنش و fairness دیده شده‌اندWhole-transaction retry and contention

پیگیری مصاحبه:Interview follow-up: کاربر رزرو را تمدید کند و هم‌زمان رزرو بعدی ساخته شود؛ قیدت هنوز درست است؟A user extends a booking while another user reserves the next interval. Is the constraint still correct?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: PostgreSQL 18 · transaction isolation · PostgreSQL 18 · SELECT locking clauses · PostgreSQL 18 · ranges and exclusion constraints · حل آموزشی این تمرینWorked solution

تمرین ۳ — exactly-once با idempotency، نه با 2PCExercise 3 — exactly-once with idempotency, not 2PC

L2 · SeniorL2 · Seniorاولویت اصلیCore priority45 دقیقه بحث45 min discussion

اصلاح‌شدهCorrected

اثر محلی و کلید dedup در یک تراکنش‌اند؛ ACK بعد از commit است و رکورد dedup تا پایان افق معتبر replay حفظ می‌شود.The local effect and dedup key share one transaction; ACK follows commit and dedup records survive the supported replay horizon.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

صف و پردازشگر با processed_messages و قید UNIQUE بساز. ثبت ID و اثر محلی را در یک تراکنش و ACK را پس از commit بگذار. در سه نقطه crash تزریق کن؛ نسخهٔ بدون dedup را مقایسه کن. retention شناسه و side effect بیرونی را صریح تعیین کن.Implement an idempotent queue consumer using a unique processed-message ID and local effects in one transaction, then ACK. Inject three crash points, compare with no dedup, and define retention and external-effect boundaries.

معیار پاسخ خوبWhat a good answer demonstrates

  • commit-before-ack و redelivery را توضیح می‌دهدCommit before ACK
  • تکراری با payload متفاوت رد می‌شودPayload binding
  • حد تضمین محلی و افق dedup مشخص استDefined local boundary and dedup horizon

پیگیری مصاحبه:Interview follow-up: اپراتور پیام شش‌ماهه را replay کند ولی dedup بعد از یک ماه حذف شده باشد چه می‌شود؟An operator replays a six-month-old message after dedup was deleted at one month. What happens?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: AWS · safe retries with idempotent APIs · Kafka 4.1 · design and delivery semantics · حل آموزشی این تمرینWorked solution

فصل 9Chapter 9 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — شبیه‌سازِ ابهامِ timeoutExercise 1 — the timeout-ambiguity simulator

L2 · SeniorL2 · Seniorاولویت اصلیCore priority30 دقیقه بحث30 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

timeout ambiguity کاربردی است؛ نسخهٔ مصاحبه باید retry storm، deadline و overload را هم بپرسد.Add overload-aware retry policies to the timeout ambiguity example.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

شمارنده یا پرداختی داریم که درخواست، commit یا پاسخ آن ممکن است گم شود. history هر حالت را نشان بده. پروتکل با request ID، result lookup، payload binding و retention طراحی کن؛ deadline، backoff+jitter و retry budget را اضافه کن.Trace lost request, server failure and lost response. Design request ID, result lookup, payload binding and retention, then deadlines, backoff with jitter and a retry budget.

معیار پاسخ خوبWhat a good answer demonstrates

  • timeout را با عدم اجرا یکی نمی‌گیردTimeout remains indeterminate
  • ID درخواست قصد مشتری را حفظ می‌کندCaller intent in request ID
  • retry در همهٔ لایه‌ها بار را چندبرابر نمی‌کندBounded layered retries

پیگیری مصاحبه:Interview follow-up: سه لایه هر کدام سه بار retry کنند، حداکثر چند تلاش downstream داریم؟Three layers each make up to three attempts. What is the maximum number of downstream attempts?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: AWS · safe retries with idempotent APIs · AWS · timeouts, backoff and jitter · حل آموزشی این تمرینWorked solution

تمرین ۲ — clock skew و عدم‌قطعیت اندازه‌گیریExercise 2 — clock skew and measurement uncertainty

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific25 دقیقه بحث25 min discussion

اصلاح‌شدهCorrected

اختلاف CLOCK_REALTIME روی دو host/VM مستقل با بازهٔ عدم‌قطعیت سنجیده می‌شود؛ CLOCK_MONOTONIC فقط مدت روی همان host را می‌سنجد.Measure CLOCK_REALTIME offset across independent hosts/VMs with uncertainty; CLOCK_MONOTONIC measures durations on one host only.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

wall clock و monotonic clock را در deadline، اندازه‌گیری duration و LWW مقایسه کن. skew را با دو host/VM مستقل یا ساعت mock تزریق کن. uncertainty ناشی از زمان ارسال نمونه را گزارش کن و نشان بده timestamp آینده چگونه write واقعی بعدی را می‌پوشاند.Compare wall and monotonic clocks for durations, deadlines and LWW. Use independent hosts/VMs or explicitly mocked skew. Report sampling uncertainty and show how a future timestamp hides a later real write.

معیار پاسخ خوبWhat a good answer demonstrates

  • monotonic clock بین ماشین‌ها مقایسه نمی‌شودNo cross-host monotonic comparison
  • mock skew با اندازه‌گیری skew واقعی برچسب متفاوت داردReal versus mock skew
  • rollback ساعت و uncertainty دیده شده‌اندClock steps and sampling uncertainty

پیگیری مصاحبه:Interview follow-up: NTP ساعت را step کند؛ timeout و TTL برنامه کدام clock را باید استفاده کنند؟NTP steps the wall clock. Which clock should application timeouts and TTL durations use?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Linux · time namespaces and realtime · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — fencing token عملیExercise 3 — fencing tokens in practice

L3 · Staff / PrincipalL3 · Staff / Principalاولویت اصلیCore priority40 دقیقه بحث40 min discussion

اصلاح‌شدهCorrected

epoch هر lease افزایش می‌یابد؛ storage مقادیر کمتر از بیشینهٔ پذیرفته‌شده را اتمیک رد می‌کند. op_id مستقل، retry را تشخیص می‌دهد.Epoch increases per lease; storage atomically rejects values below its highest accepted epoch. An independent op_id identifies retries.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

کارگر A lease با token=7 دارد، pause می‌شود و B با token=8 می‌نویسد؛ A سپس بیدار می‌شود. storage باید stale epoch را اتمیک رد کند. چند write معتبر در یک epoch را از duplicate operation جدا کن و برای token allocation و دوام highest-seen شرط تعریف کن.Pause owner A at token 7, let B obtain token 8 and write, then resume A. Enforce atomic stale-epoch rejection in storage. Distinguish multiple legitimate same-epoch writes from duplicate operations and persist the highest token.

معیار پاسخ خوبWhat a good answer demonstrates

  • lease expiry به‌تنهایی جلوی stale write را نمی‌گیردLease expiry is insufficient
  • token کمتر رد می‌شود؛ token برابر نیازمند semantics جداستEpoch versus operation identity
  • بررسی token در خود storage انجام می‌شودStorage-enforced durable fencing

پیگیری مصاحبه:Interview follow-up: storage restart شود و highest token را فراموش کند، چه خطایی ممکن است؟Storage restarts and forgets the highest fencing token. What failure becomes possible?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Kleppmann · distributed locking and fencing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۴ — safety/livenessExercise 4 — safety/liveness

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific25 دقیقه بحث25 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

safety/liveness برای استدلال خوب است؛ مثال at-most-once delivery می‌تواند به از دست رفتن پیام منجر شود و فرض progress باید صریح باشد.Progress requires explicit recovery, network and capacity assumptions.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای صف، safety «اثر پیام بیش از یک بار اعمال نشود» و liveness «پیام معتبر تحت بازیابی شبکه بالاخره اثر کند» تعریف کن. partition دائمی، redelivery و از دست رفتن dedup را تحلیل کن. برای هر ادعا یک counterexample و فرض زمانی روشن بده.Define no duplicate application effects as safety and eventual valid-message effects under recovery as liveness. Give counterexamples for permanent partitions, redelivery and missing dedup state.

معیار پاسخ خوبWhat a good answer demonstrates

  • delivery را از application effect جدا می‌کندDelivery versus effects
  • liveness بدون فرض شبکه/ظرفیت قول داده نمی‌شودExplicit progress assumptions
  • مثال safety violation می‌تواند همراه progress باشدIndependent safety/liveness counterexamples

پیگیری مصاحبه:Interview follow-up: سیستم همهٔ پیام‌ها را رد کند؛ کدام خاصیت ظاهراً سالم می‌ماند؟The service rejects every message. Which property can appear healthy?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Jepsen · consistency models · Kafka 4.1 · design and delivery semantics · حل آموزشی این تمرینWorked solution

فصل 10Chapter 10 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — ساعتِ Lamport عملیExercise 1 — a working Lamport clock

L1 · پایهL1 · Foundationsوابسته به نقشRole-specific25 دقیقه بحث25 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

Lamport پایهٔ مفید است ولی پیاده‌سازی سه پروسه برای backend عمومی اولویت نخست نیست.Useful distributed-systems foundations, with lower general-backend priority.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای سه process، send/receive و رخداد محلی را با Lamport clock شماره‌گذاری کن. با tie-breaker process ID ترتیب کامل بساز. یک مثال نشان بده که L(a)<L(b) علت‌ومعلولی بودن را اثبات نمی‌کند؛ vector clock و هزینه‌اش را مقایسه کن.Label local events and messages using Lamport clocks and process-ID tie breaking. Show why increasing timestamps do not imply causality or detect concurrency; compare vector-clock costs.

معیار پاسخ خوبWhat a good answer demonstrates

  • receive=max(local,received)+1 درست استCorrect receive rule
  • ترتیب کل را با causality یکی نمی‌گیردTotal order versus causality
  • concurrency از Lamport قابل تشخیص نیستConcurrency limitations

پیگیری مصاحبه:Interview follow-up: دو رخداد بدون هیچ پیام چه timestampهایی می‌توانند داشته باشند؟What timestamps can two independent events with no messages have?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Lamport · Time, Clocks, and Ordering · 1978 · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۲ — quorum و نقض خطی‌پذیریExercise 2 — quorums and a linearizability violation

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific45 دقیقه بحث45 min discussion

اصلاح‌شدهCorrected

write با هدف w=3 هنوز کامل نشده و فقط یک replica مقدار تازه را دارد؛ read باید پیش از پاسخ، بیشینهٔ نسخه را به quorum برگرداند.The write targeting w=3 is incomplete with one updated replica; reads must write the maximum version back to a quorum before replying.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

با سه replica و write در جریان که هنوز فقط به یکی رسیده، دو quorum read بساز که اولی جدید و دومی قدیمی می‌خواند. سپس الگوریتم register با version مرتب و write-back به اکثریت پیش از بازگشت read را مشخص کن. برای multi-writer مرحلهٔ query پیش از write و فرض membership ثابت را تحلیل کن.Construct new-then-old quorum reads during an incomplete three-replica write. Specify ordered versions and majority write-back before returning a read. Discuss a query phase for multiple writers, fixed membership and crash assumptions.

معیار پاسخ خوبWhat a good answer demonstrates

  • w=3 تأییدشده روی همه را با partial write یکی نمی‌گیردPartial versus acknowledged writes
  • background repair را با synchronous quorum write-back جدا می‌کندBackground repair versus quorum write-back
  • version، crash و concurrent writer assumptions معلوم‌اندVersion and writer assumptions

پیگیری مصاحبه:Interview follow-up: اگر یک reader بعد از خواندن جدید و قبل از write-back بمیرد، کدام read باید completed حساب شود؟A reader crashes after observing the new value but before write-back. Should that read count as completed?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Attiya, Bar-Noy, Dolev · atomic registers · 1995 · Jepsen · consistency models · حل آموزشی این تمرینWorked solution

تمرین ۳ — مولدِ شناسه‌ی oracle با failoverExercise 3 — an oracle ID generator with failover

L2 · SeniorL2 · Seniorاولویت اصلیCore priority35 دقیقه بحث35 min discussion

اصلاح‌شدهCorrected

رزرو بادوامِ بازه پیش از صدور، یکتایی را با پذیرش gap حفظ می‌کند؛ شاردها می‌توانند بازه یا namespace جدا داشته باشند.Durably reserving ranges before issuance preserves uniqueness with gaps; shards may allocate disjoint ranges or namespaces.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

مولد ID با رزرو پایدار بازه طراحی کن و crash وسط دسته را تحلیل کن. uniqueness، gap-free، ترتیب تخصیص و ترتیب مشاهدهٔ real-time را جدا تعریف کن. طرح مرکزی، UUID و shard-prefixed ID را مقایسه کن؛ برای failover، allocator را fence کن.Persist ID-range reservations before issuing IDs and crash mid-range. Separate uniqueness, gaplessness, allocation order and real-time observation. Compare a centralized allocator, UUIDs and shard-prefixed IDs; fence failover.

معیار پاسخ خوبWhat a good answer demonstrates

  • high-water mark قبل از صدور ID پایدار می‌شودDurable high-water mark
  • gap را از duplicate جدا می‌کندGaps versus duplicate IDs
  • نیاز به هماهنگی را به ضمانت ordering وصل می‌کندOrdering-specific coordination

پیگیری مصاحبه:Interview follow-up: دو node بازه‌های جدا دارند؛ آیا IDهای صادرشده به ترتیب زمان جهانی افزایش می‌یابند؟Two nodes issue IDs from disjoint ranges. Do the IDs increase in global real-time order?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Amazon · SDE III interview preparation · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۴ — خطی‌سنجِ سادهExercise 4 — a mini linearizability checker

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

linearizability checker برای infra/database بسیار خوب ولی در جلسه معمول بیشتر history reasoning پرسیدنی است.A specialist checker lab; small-history reasoning is the live interview version.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

یک history کوچک شامل invoke/return read و write را روی register خطی‌سنجی کن. ترتیب real-time را حفظ و عملیات هم‌پوشان را جابه‌جا کن. برای test harness bounded search طراحی کن؛ pending operation و timeout نامعلوم را درست مدل کن.Check a small register history while preserving real-time precedence and reordering overlapping operations. Design bounded search, model pending/indeterminate operations and explain the limits of sampled histories.

معیار پاسخ خوبWhat a good answer demonstrates

  • completion قبل از invocation بعدی تقدم اجباری داردReal-time precedence
  • خواندن stale بعد از write تمام‌شده رد می‌شودCompleted-write stale-read rejection
  • checker اثبات همهٔ اجراهای آینده نیستLimits of finite testing

پیگیری مصاحبه:Interview follow-up: timeout یک write را failed حساب می‌کنی یا indeterminate؟ چرا؟Do you model a timed-out write as failed or indeterminate, and why?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Jepsen · consistency models · Attiya, Bar-Noy, Dolev · atomic registers · 1995 · حل آموزشی این تمرینWorked solution

فصل 11Chapter 11 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — pipeline در برابرِ تجمیعِ hashExercise 1 — pipeline vs hash aggregation

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific30 دقیقه بحث30 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

memory-bounded aggregation برای data/platform کاربرد دارد؛ pipeline یونیکس ابزار آموزشی است و آستانه URL عدد عمومی ندارد.Useful data/platform work; no universal distinct-URL threshold exists.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

top URLها را برای لاگی بزرگ‌تر از RAM محاسبه کن. hash aggregation و external sort را با cardinality، RAM، spill، I/O و approximate counting مقایسه کن. benchmark را با ورودی، memory cap و خروجی برابر طراحی کن؛ آستانه شکست را برای همان محیط گزارش کن.Compute top URLs for logs larger than RAM. Compare hash aggregation, external sort, spilling and approximate counts. Benchmark equal outputs under a stated memory cap and report environment-specific limits.

معیار پاسخ خوبWhat a good answer demonstrates

  • working set به distinct keys و overhead وابسته استCardinality and object overhead
  • OOM را به کندی عادی تعبیر نمی‌کندOOM versus latency
  • sort spill و hash spill/partition دیده شده‌اندSpill and partition strategies

پیگیری مصاحبه:Interview follow-up: فقط top-100 تقریبی لازم باشد، کدام قید را می‌توان سبک‌تر کرد؟If only an approximate top-100 is required, which constraint can be relaxed?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۲ — sort-merge join روی دو فایلِ بزرگ‌تر از حافظهExercise 2 — sort-merge join on two bigger-than-memory files

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific40 دقیقه بحث40 min discussion

اصلاح‌شدهCorrected

دو جریان جدا فقط با user_id مرتب می‌شوند و یک پروفایل یکتا به‌ازای کاربر دارند؛ mixed reducer به profile-first یا buffering نیاز دارد.Two separate streams need user_id sorting and one unique profile per user; a mixed reducer needs profile-first ordering or buffering.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

کلیک‌های بزرگ و یک پروفایل یکتا به‌ازای user را با external sort و streaming merge join ترکیب کن. null/missing profile و skew را تعریف کن. سپس ورودی mixed reducer را مقایسه کن که در آن profile-first secondary sort یا buffering لازم است؛ تفاوت دو قرارداد را بگو.Externally sort and merge clicks with one unique profile per user. Define missing-profile behavior and skew. Contrast this with a mixed reducer stream that needs profile-first ordering or buffering; explain the different contracts.

معیار پاسخ خوبWhat a good answer demonstrates

  • sort بزرگ‌تر از حافظه spill واقعی داردReal external spill
  • uniqueness پروفایل و join type مشخص استProfile uniqueness and join type
  • دو sorted stream را با mixed reducer اشتباه نمی‌گیردSeparate streams versus mixed reducer

پیگیری مصاحبه:Interview follow-up: اگر برای هر user چند نسخهٔ پروفایل تاریخی باشد، کدام نسخه باید به کلیک وصل شود؟With multiple historical profiles per user, which version belongs to a click?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — یک shuffle سادهExercise 3 — a mini shuffle

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

shuffle و skew برای data infra مفیدند؛ نوشتن همهٔ فایل‌ها از صفر برای backend عمومی بازده زمانی پایینی دارد.Useful for data infrastructure; building every file is an optional extended lab.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

shuffle برای group-by را طراحی کن: partition یکسان، sort محلی و merge در reducer. hot key، حجم شبکه، combiner و checksum فایل میانی را تحلیل کن. با خرابی خروجی یک mapper تعیین کن چه چیزی و بر اساس کدام lineage دوباره اجرا می‌شود.Design partitioning, mapper-local sorting and reducer merge for group-by. Analyze hot keys, network volume, combiners and checksums. Recompute lost intermediate output from immutable lineage using isolated attempts.

معیار پاسخ خوبWhat a good answer demonstrates

  • hash در workerها ثابت و مشترک استStable worker partitioning
  • retry mapper خروجی attempt جدا داردAttempt isolation
  • side effect بیرونی قرارداد replay را نقض می‌کندDeterministic side-effect-free retry

پیگیری مصاحبه:Interview follow-up: یک key نصف داده را دارد؛ چگونه reducer را از hotspot نجات می‌دهی؟One key accounts for half the records. How do you prevent a reducer hotspot?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۴ — شبیه‌سازیِ بازتلاش و all-or-nothingExercise 4 — simulating retry and all-or-nothing

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

atomic publication کاربرد جدی دارد؛ rename فایل‌سیستم محلی را نباید بی‌قید به object storage تعمیم داد.Atomic publication is valuable; local rename semantics do not automatically transfer to object storage.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

job چندtaskی روی ورودی immutable را با attempt output و manifest نسخه‌دار طراحی کن. crash وسط write و پیش از publish تزریق کن. خواننده باید یک نسخهٔ کامل ثابت ببیند؛ CAS/atomic pointer، cleanup و retry را متناسب با storage انتخاب کن.Design versioned attempt outputs and a job manifest. Inject mid-write and pre-publication crashes. Readers pin one complete manifest; select a storage-appropriate atomic pointer or CAS and safe garbage collection.

معیار پاسخ خوبWhat a good answer demonstrates

  • task commit با job publish یکی نیستTask completion versus job publication
  • reader manifest را یک بار pin می‌کندPinned reader manifest
  • partial attempt و نسخه قدیم امن مدیریت می‌شوندSafe incomplete output cleanup

پیگیری مصاحبه:Interview follow-up: دو job هم‌زمان روی یک نام خروجی publish کنند؛ کدام نسخه برنده می‌شود؟Two jobs concurrently publish to the same output name. Which version wins?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Atlassian · engineering interview handbook · Jepsen · consistency models · حل آموزشی این تمرینWorked solution

فصل 12Chapter 12 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — شمارندهٔ exactly-once روی کافکا و پایگاه دادهExercise 1 — an exactly-once counter on Kafka and a database

L3 · Staff / PrincipalL3 · Staff / Principalاولویت اصلیCore priority45 دقیقه بحث45 min discussion

اصلاح‌شدهCorrected

checkpoint با کلید (topic,partition) همراه totalها commit می‌شود؛ epoch مالک در DB و در همان تراکنش بررسی می‌شود.Checkpoints keyed by (topic,partition) commit with totals; the sink database checks owner epoch within that transaction.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

Kafka با سه partition و click count در DB را طراحی کن. اثر و checkpoint هر topic/partition را در یک تراکنش ذخیره کن؛ last_offset هر کاربر فقط با key-to-partition ثابت معنا دارد. crash، ACK گم‌شده، rebalance و stale consumer را با fencing و replay منظم تحلیل کن.Count clicks from three Kafka partitions into a database. Commit effects and topic/partition checkpoints together. Explain fixed key routing for per-user offsets, crashes, lost ACKs, ordered replay, rebalances and stale-consumer fencing.

معیار پاسخ خوبWhat a good answer demonstrates

  • offset دو partition مقایسه نشدهPartition-scoped offsets
  • commit اثر و checkpoint اتمیک استAtomic output/checkpoint
  • پرش offset، writer هم‌زمان و rebalance پوشش داده شده‌اندOrdering, rebalance and fencing

پیگیری مصاحبه:Interview follow-up: تعداد partitionها تغییر کند و کاربر جابه‌جا شود؛ dedup key چگونه مهاجرت می‌کند؟Partition count changes and a user moves. How do you migrate the dedup identity?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Kafka 4.1 · design and delivery semantics · AWS · safe retries with idempotent APIs · حل آموزشی این تمرینWorked solution

تمرین ۲ — join جستجو–کلیک با دیررس‌هاExercise 2 — a search–click join with laggards

L2 · SeniorL2 · Seniorوابسته به نقشRole-specific40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

event-time join و late data برای streaming مناسب‌اند؛ زمان ثابت چند دقیقه بدون توزیع lateness توجیه ندارد.Lateness choices need measurements rather than an arbitrary timeout.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

search و click را با session و event time در پنجره یک‌ساعته join کن. هر دو arrival order، dedup و تعریف CTR را پوشش بده. watermark، idle partition، allowed lateness و اصلاحیه را بر اساس دادهٔ lateness انتخاب کن؛ در throughput ده‌برابری state و backpressure را برآورد کن.Join search and click by session and event time. Handle either arrival order, dedup and CTR semantics. Choose watermarks, idle-partition policy, lateness and corrections; estimate tenfold state growth and backpressure.

معیار پاسخ خوبWhat a good answer demonstrates

  • processing time با event time یکی نیستEvent versus processing time
  • join چندبه‌چند CTR را بی‌دلیل چندبرابر نمی‌کندAvoid duplicate join inflation
  • late-drop و correction metric دارندMeasured lateness/correction policy

پیگیری مصاحبه:Interview follow-up: یک partition بیکار watermark را نگه دارد؛ پنجره‌ها را چطور می‌بندی؟An idle partition holds back the watermark. How do you close windows safely?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Kafka 4.1 · design and delivery semantics · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — آوردنِ ایندکسِ تازه با CDC بدونِ قطعیExercise 3 — bringing a fresh index with CDC, outage-free

L3 · Staff / PrincipalL3 · Staff / Principalاولویت اصلیCore priority45 دقیقه بحث45 min discussion

اصلاح‌شدهCorrected

snapshot سازگار باید با مرز لاگِ معتبر هماهنگ شود؛ event topic و state topic کلید و retention متفاوت دارند و bootstrap هزینهٔ قابل‌اندازه‌گیری دارد.A consistent snapshot must align with a valid log boundary; event and state topics have different keys/retention and bootstrap has measurable cost.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

ایندکس جست‌وجو را بدون dual write با قرارداد event مستقل از schema داخلی طراحی کن. تراکنش business+outbox، consistent snapshot مرجع و مرز LSN را مشخص کن. event-ID dedup را از compacted state با entity key و tombstone جدا کن؛ lag، WAL retention، rebuild و schema change را تست کن.Build a search view without dual writes or public table schemas. Specify business+outbox atomicity, a consistent record snapshot and its LSN boundary, event-ID dedup, compacted entity keys, tombstones, WAL retention and throttled rebuilding.

معیار پاسخ خوبWhat a good answer demonstrates

  • snapshot gap/duplicate و replay پوشش داده شده‌اندSnapshot boundary and replay
  • کلید compaction و delete semantics صریح استEntity key and tombstone semantics
  • فشار snapshot صفر فرض نشده و throttling داردBounded snapshot/WAL pressure

پیگیری مصاحبه:Interview follow-up: outbox قدیمی purge شده؛ مصرف‌کنندهٔ جدید از کجا state کامل را می‌سازد؟Old outbox rows have been purged. Where does a new consumer get complete state?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Debezium · outbox event router · Debezium · PostgreSQL snapshot and streaming · Kafka 4.1 · design and delivery semantics · حل آموزشی این تمرینWorked solution

فصل 13Chapter 13 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — شناسهٔ سرتاسری در عملExercise 1 — End-to-end IDs in practice

L2 · SeniorL2 · Seniorاولویت اصلیCore priority45 دقیقه بحث45 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

انتقال با request ID و پاسخ گم‌شده مسئلهٔ اصلی backend است؛ با فصل ۸ هم‌پوشانی دارد، اینجا endpoint و replay سرتاسری محورند.Strong endpoint exercise; distinguish it from the local consumer lab.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

API انتقال دو حساب را با request ID از client تا DB طراحی کن. payload و نتیجه را به ID bind کن؛ UNIQUE، debit/credit و log باید اتمیک باشند. پاسخ commit گم‌شده و retry را تحلیل کن و projection موجودی را مستقل از log بساز.Design a transfer API with end-to-end request IDs bound to payload and result. Commit uniqueness, debit/credit and the input log together. Recover lost commit responses and independently rebuild balances from the log.

معیار پاسخ خوبWhat a good answer demonstrates

  • دو transfer یکسان با ID متفاوت مجازندIndependent intentional transfers
  • همان ID با payload متفاوت رد می‌شودReject reused ID with different payload
  • balance invariant و نتیجهٔ replay حفظ می‌شوندBalances and replay invariants

پیگیری مصاحبه:Interview follow-up: دو درخواست هم‌زمان با یک ID برسند؛ پاسخ موفق یا pending را چگونه تعیین می‌کنی؟Two requests with the same ID arrive concurrently. How do you return success or pending?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: AWS · safe retries with idempotent APIs · PostgreSQL 18 · transaction isolation · حل آموزشی این تمرینWorked solution

تمرین ۲ — مهاجرتِ دوگانهExercise 2 — Dual migration

L3 · Staff / PrincipalL3 · Staff / Principalاولویت اصلیCore priority45 دقیقه بحث45 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

migration و rollback از تمرین‌های بسیار باارزش Staff هستند؛ read traffic shifting باید با صحت و lag محدود شود.Migration and rollback are high-value staff design topics.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

schema کاتالوگ را با یک log مرجع و دو projection قدیم/جدید مهاجرت بده. backfill+catch-up، shadow read، canary، rollback و زمان حذف نسخه قدیم را تعریف کن. bug در projection جدید و lag را inject کن؛ compatibility و مالکیت write path را روشن نگه دار.Migrate a catalog with a shared input log and independent old/new projections. Specify backfill, catch-up, shadow reads, canary routing, rollback and old-view retirement. Inject projection bugs and lag; keep write ownership explicit.

معیار پاسخ خوبWhat a good answer demonstrates

  • درصد ترافیک با feature flag قابل بازگشت استReversible traffic routing
  • schema جدید قبل از آماده‌شدن خوانده نمی‌شودReadiness before cutover
  • چک صحت، هزینه دو نسخه و cutover criteria روشن‌اندValidation and dual-view cost

پیگیری مصاحبه:Interview follow-up: کاربر بعد از خواندن schema جدید داده‌ای بنویسد که نسخه قدیم نمی‌فهمد؛ rollback هنوز ممکن است؟A client writes data the old schema cannot represent after reading the new schema. Is rollback still possible?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Atlassian · engineering interview handbook · Amazon · SDE III interview preparation · حل آموزشی این تمرینWorked solution

تمرین ۳ — پرداختِ چندshardیِ مینیاتوریExercise 3 — Miniature multishard payment

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific50 دقیقه بحث50 min discussion

اصلاح‌شدهCorrected

رکورد فایل framing/checksum و fsync دارد؛ تصمیم و تعهد انتشار پایدارند. pending و اثر هر leg باید با مرز مشاهده مشخص حساب شوند.File records need framing/checksum and fsync; decisions and publication obligations are durable. Account for pending funds and each leg at a defined observation boundary.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

انتقال مبدأ، مقصد و کارمزد را با سه log و پردازش قطعی طراحی کن. framed record/checksum/fsync، رزرو موجودی، تصمیم پایدار، outbox و dedup را مشخص کن. crash پس از انتشار بخشی از خروجی را بازیابی کن و تفاوت integrity نهایی، pending state و رؤیت اتمیک را بیان کن.Design source/destination/fee logs using framed checksummed durable records, reserved funds, persistent decisions, an outbox and dedup. Recover after publishing only some outputs. Distinguish pending funds, final integrity and atomic visibility.

معیار پاسخ خوبWhat a good answer demonstrates

  • تصمیم retry با موجودی متفاوت دوباره گرفته نمی‌شودPersistent deterministic decision
  • پول در حال انتقال در حسابداری دیده می‌شودAccount for pending funds
  • جبران یا پیشبرد تصمیم با مدرک انتخاب شدهExplicit visibility guarantees

پیگیری مصاحبه:Interview follow-up: مقصد برای همیشه بسته شده باشد؛ چگونه پرداخت pending را حل می‌کنی؟The destination account closes permanently. How do you resolve a pending transfer?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: AWS · safe retries with idempotent APIs · Jepsen · consistency models · حل آموزشی این تمرینWorked solution

تمرین ۴ — حسابرسیِ سرتاسریExercise 4 — End-to-end auditing

L3 · Staff / PrincipalL3 · Staff / Principalاولویت اصلیCore priority40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

reconciliation و silent corruption عمق عملیاتی خوبی دارند؛ checker باید checkpoint برابر و فرض مستقل داشته باشد.Independent reconciliation should compare the same checkpoint, not different ages of state.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای انتقال یا projection یک auditor مستقل طراحی کن که log مرجع را تا checkpoint مشخص بازپخش کند. state واقعی را در همان مرز مقایسه کن، mismatch و lag را جدا بشمار و missing update تزریق کن. حدود تشخیص bug مشترک، هزینه و repair امن را توضیح بده.Replay the authoritative log to a stated checkpoint using an independent auditor. Compare actual state at the same boundary, distinguish lag from corruption, inject missing updates and define safe repair and shared-bug limitations.

معیار پاسخ خوبWhat a good answer demonstrates

  • stateهای دو زمان متفاوت مقایسه نمی‌شوندSame-checkpoint comparison
  • checker همان تابع buggy را بدون استقلال تکرار نمی‌کندIndependent recomputation
  • تشخیص با repair خودکار بی‌قید یکی نیستDetection versus safe repair

پیگیری مصاحبه:Interview follow-up: لاگ ورودی خودش ناقص باشد؛ auditor چه چیزی را نمی‌تواند ثابت کند؟The input log itself is incomplete. What can the auditor no longer prove?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Jepsen · consistency models · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

فصل 14Chapter 14 متن فصلChapter text حل تمرین‌هاExercise solutions

تمرین ۱ — حسابرسیِ پروکسیExercise 1 — proxy audit

L2 · SeniorL2 · SeniorمکملSupplementary35 دقیقه بحث35 min discussion

اختیاری برای این مسیرOptional for this track

برای ML/fairness ارزشمند است؛ آموزش مدل تبعیض‌آمیز مصنوعی اولویت عمومی مصاحبهٔ backend نیست.Valuable for ML/fairness roles, not a general backend prerequisite.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای مدل وام با proxyهایی مثل کدپستی، leakage و اختلاف پذیرش گروه‌ها را تحلیل کن. metric عدالت را با objective و label bias انتخاب کن؛ baseline، subgroup evaluation، appeal و monitoring را طراحی کن. روشن کن حذف ویژگی حساس چه چیزی را حل نمی‌کند.Analyze protected-group proxies and unequal acceptance in a lending model. Choose an operational fairness objective, address label bias and evaluate subgroup outcomes, utility, appeals and synthetic-data limitations.

معیار پاسخ خوبWhat a good answer demonstrates

  • correlation با causation یا قصد مدل یکی نیستCorrelation limitations
  • fairness به یک metric خلاصه نشدهMultiple fairness objectives
  • utility و محدودیت داده مصنوعی صریح استUtility and synthetic-data limits

پیگیری مصاحبه:Interview follow-up: ground truth وام‌های ردشده را نداریم؛ ارزیابی equal opportunity چه مشکلی دارد؟There is no outcome label for rejected loans. What problem does this cause for equal-opportunity evaluation?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۲ — شبیه‌سازیِ مارپیچExercise 2 — spiral simulation

L3 · Staff / PrincipalL3 · Staff / PrincipalمکملSupplementary30 دقیقه بحث30 min discussion

اختیاری برای این مسیرOptional for this track

feedback loop برای systems thinking آموزنده است؛ عدد ۵۰ دوره و مدل ثروت شواهد واقعی استخدام نیستند.A systems-thinking exercise; a toy wealth simulation is not empirical hiring evidence.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای score→employment→income→score یک feedback loop رسم کن. فرض‌های مدل را بگو، دو مداخله پیشنهاد بده و sensitivity analysis با seed و پارامتر مشترک طراحی کن. metric inequality، subgroup outcome و آثار ناخواسته را مشخص کن.Draw score/employment/income feedback. State assumptions, compare two interventions with matched seeds and populations, and test sensitivity, inequality and unintended subgroup effects.

معیار پاسخ خوبWhat a good answer demonstrates

  • شبیه‌سازی را اثبات اجتماعی معرفی نمی‌کندNo social proof from toy simulation
  • دو مداخله با شرایط اولیه برابر مقایسه می‌شوندMatched seeds and populations
  • پایداری نتیجه نسبت به پارامترها سنجیده می‌شودParameter sensitivity

پیگیری مصاحبه:Interview follow-up: مداخله میانگین ثروت را بهتر کند ولی بدترین گروه را بدتر؛ نتیجه را چگونه گزارش می‌دهی؟An intervention raises mean wealth but worsens the weakest group. How do you report it?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: Microsoft · technical interviewing · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

تمرین ۳ — ممیزیِ رضایتِ یک سرویسِ واقعیExercise 3 — consent audit of a real service

L2 · SeniorL2 · SeniorمکملSupplementary30 دقیقه بحث30 min discussion

اختیاری برای این مسیرOptional for this track

privacy review مفید است؛ نتیجهٔ حقوقی قطعی از یک policy عمومی یا فرض «همه‌چیز باید consent باشد» غلط است.A public privacy policy does not prove implementation; consent is not the only legal basis.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

یک policy واقعی را با تاریخ و نسخه مشخص بخوان و data flow را رسم کن. consent را از سایر مبانی پردازش تفکیک کن؛ purpose، retention، withdrawal و انتخاب کاربر را بررسی کن. ادعاهای تأییدنشده درباره implementation را unknown علامت بزن و گزارش مهندسی بده.Review a dated real policy, map purposes and retention, distinguish consent from other processing bases, assess withdrawal and user choice, and mark implementation claims unknown. Produce an engineering assessment rather than a legal verdict.

معیار پاسخ خوبWhat a good answer demonstrates

  • policy عمومی مدرک implementation نیستPolicy versus implementation
  • consent فقط یکی از مبانی حقوقی استMultiple lawful processing bases
  • برداشت مهندسی از رأی حقوقی جداستEngineering versus legal conclusions

پیگیری مصاحبه:Interview follow-up: رد tracking موجب از دست رفتن خدمت پایه شود؛ چه سؤال‌هایی برای بررسی رضایت آزاد لازم است؟Refusing tracking removes the basic service. What evidence is needed to assess freely given consent?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: EDPB · consent guidelines 05/2020 · European Commission · lawful grounds for processing · حل آموزشی این تمرینWorked solution

تمرین ۴ — سیاستِ کمینه‌سازی و پاک‌سازیExercise 4 — minimization and purge policy

L3 · Staff / PrincipalL3 · Staff / Principalوابسته به نقشRole-specific40 دقیقه بحث40 min discussion

نسخهٔ مصاحبه‌ای آمادهInterview brief ready

data minimization، retention و حذف سرتاسری برای platform/security مهم‌اند؛ با فصل ۱ مشترک است ولی اجرای purge محور متفاوت دارد.Valuable for privacy/security/platform; deletion operations differ from the chapter-one options discussion.

صورت مصاحبه‌ای و معیار پاسخInterview brief and answer criteria

برای فروشگاه جدول data/purpose/retention/delete طراحی کن. purge دوره‌ای، legal hold، aggregate قابل بازشناسایی، backup restore و audit بدون ذخیره PII اضافه را پوشش بده. حذف را در cache، search و model data پیگیری کن و سناریوی رخنه را با موجودی واقعی داده بسنج.Design retention and purge for a shop, including legal holds, re-identifiable aggregates, backups, restores and minimal audit data. Trace deletion through derived views and evaluate breach exposure using the actual data inventory.

معیار پاسخ خوبWhat a good answer demonstrates

  • retention نمونه را الزام قانونی معرفی نمی‌کندIllustrative versus required retention
  • aggregate را خودکار ناشناس نمی‌داندAggregate re-identification risk
  • purge idempotent و قابل ردیابی طراحی شدهIdempotent traceable purge

پیگیری مصاحبه:Interview follow-up: restore بکاپ شش‌ماهه چگونه مانع برگشت کاربران حذف‌شده می‌شود؟How does restoring a six-month-old backup avoid resurrecting deleted users?

شواهد موضوع و معیار؛ سطح و اولویت ارزیابی ماست:Topic/criteria evidence; levels and priorities are our assessment: European Commission · GDPR principles · Atlassian · engineering interview handbook · حل آموزشی این تمرینWorked solution

منابع و تاریخ‌هاSources and dates

همه در ۱۴ اکتبر ۲۰۲۶ بررسی شده‌اند. منبع استخدام، معیار را پشتیبانی می‌کند؛ مستند فنی، ادعای فنی را. هیچ لینک استخدامی به معنی تأیید سؤال دقیق این مجموعه نیست. مطالب قدیمیِ بنیادی مثل ABD به‌صرف قدیمی بودن منسوخ نیستند.All were checked on 14 October 2026. Hiring guides support evaluation criteria; technical documentation supports technical premises. No hiring link certifies the exact exercise as a real interview question. Foundational work such as ABD is not obsolete merely because it is old.