Подтемы
Архитектурные решения и trade-off thinking
15 вопр.
Reliable backends — построение надёжных сервисов
15 вопр.
System Design — Caching
16 вопр.
System Design — Готовые кейсы
30 вопр.
System Design — Communication (WebSocket, SSE, Long Polling, Webhooks)
15 вопр.
System Design — Consistency
14 вопр.
System Design — Distributed Systems (Consensus, Quorum, Discovery)
18 вопр.
System Design — Fault Tolerance (отказоустойчивость)
14 вопр.
System Design — Fundamentals (scalability, availability, latency)
18 вопр.
System Design — Idempotency
13 вопр.
System Design — Networking (DNS, CDN, Load Balancer)
20 вопр.
System Design — Очереди
14 вопр.
System Design — Rate Limit (ограничение нагрузки)
14 вопр.
73 вопросов
-
senior theory Какие стратегии инвалидации кэша знаешь, и какая из проблем — самая сложная на практике? Cache-aside vs write-through vs write-back vs write-around.
-
senior theory Чем отличаются гарантии at-most-once / at-least-once / exactly-once в очередях? Возможна ли exactly-once в принципе? Как реализовать «эффективный exactly-once»?
-
middle theory Представь, что тебе нужно спроектировать кэширующий слой для высоконагруженного e-commerce сервиса. Какие ключевые аспекты ты учтёшь при выборе кэша, и как обе…
-
middle theory Какие trade-offs возникают при выборе между in-memory кэшем (например, Redis) и кэшем на диске (например, Memcached с persistence)? В каких сценариях каждый из…
-
middle theory Как бы ты предотвратил кэш-стампид (cache stampede) при массовом обновлении данных в кэше? Приведи пример реализации для одного из подходов.
-
middle theory Какие факторы влияют на выбор между Kafka и RabbitMQ при проектировании системы с очередями? В чём основные trade-offs между ними?
-
middle theory Как обеспечить строгую последовательность обработки сообщений в системе с несколькими потребителями? Какие механизмы и ограничения при этом возникают?
-
middle theory Как спроектировать систему с очередями для обработки 10M сообщений в секунду с гарантией доставки и минимальной задержкой? Какие компоненты и архитектурные реш…
-
middle theory Объясните, как вы реализуете rate limiting с использованием алгоритмов token bucket и leaky bucket. В чём их ключевые различия и когда стоит выбирать один из них?
-
middle theory Как вы обеспечите согласованность rate limiting в distributed system, если клиенты обращаются к нескольким серверам? Какие инструменты и подходы можно использовать?
-
middle theory Как вы будете обрабатывать сценарий, когда пользователь превышает лимит, но его запросы критически важны (например, срочные данные)? Какие механизмы можно испо…
-
middle theory Представьте, что вы проектируете REST API для обновления пользователя (PUT /users/{id}). Как вы обеспечите идемпотентность этого эндпоинта, если клиент может п…
-
middle theory Как вы обеспечите идемпотентность в микросервисной архитектуре, где один и тот же запрос может быть обработан несколькими сервисами одновременно? Опишите подхо…
-
middle theory Как вы будете обрабатывать идемпотентность в системе, где клиент не может передавать идемпотентные токены (например, в IoT-устройствах)? Опишите стратегии и их…
-
middle theory Объясните, как CAP-теорема влияет на выбор между согласованностью и доступностью в распределённых системах. Приведите примеры сценариев, где каждый из этих под…
-
middle theory Какие механизмы используются для обеспечения согласованности в системах с eventual consistency? Объясните, как они работают и какие проблемы могут возникнуть п…
-
middle theory Какие алгоритмы или протоколы используются для обеспечения строгой согласованности в распределённых системах? Объясните их принципы и ограничения.
-
middle theory Объясните, как можно достичь fault tolerance в распределённой системе с использованием репликации данных. Какие trade-offs возникают при выборе между synchrono…
-
middle theory Какие алгоритмы consensus (например, Paxos, Raft) используются для обеспечения fault tolerance в системах с отказоустойчивыми кворумами? В чём их ключевые разл…
-
middle theory Какие методы fault detection и recovery вы бы использовали для системы с высокой доступностью? Какие антипаттерны стоит избегать при проектировании?
-
middle theory Представьте, что вам нужно спроектировать систему потоковой передачи видео (например, YouTube). Как вы обеспечите масштабируемость, низкую задержку и высокую п…
-
middle theory Представьте, что вам нужно спроектировать систему для обработки транзакций в банковском приложении. Как вы обеспечите консистентность данных, обработку ошибок …
-
middle theory Представьте, что вам нужно спроектировать систему мониторинга производительности для распределённого приложения (например, как Prometheus или Datadog). Как вы …
-
senior theory Чем "обычный CRUD-сервис" отличается от reliable backend? Что нужно добавить, чтобы сервис стал production-grade reliable? Перечисли категории и приведи конкре…
-
senior theory Подробно разбери паттерны: circuit breaker, bulkhead, hedging, timeouts at all layers. Когда каждый из них применять, какие ловушки настройки?
-
staff theory Что такое ADR (Architecture Decision Record)? Какой формат, когда писать, кто читает, как организовать в репозитории, как избежать "ADR-кладбища"?
-
staff theory Покажи trade-off thinking на примере "monolith vs microservices" для AI Platform университета. Какие факторы решают выбор? Не просто "зависит", а конкретный fr…
-
staff theory LLM-based системы — стохастические и недетерминированные. Это ломает классические подходы к тестированию. Как работать с неопределённостью в архитектуре и тест…
-
senior theory Как построить эффективный код-ревью? Какие практики, anti-patterns, что делать когда review занимает 3 дня.
-
senior theory Спроектируй onboarding для нового backend-инженера. Что должен делать в первый день, первую неделю, первый месяц.
-
senior theory Как работает DNS на масштабе CDN/глобальных сервисов? Что такое Anycast DNS, GeoDNS, и какие у DNS есть подводные камни для production?
-
senior theory Push CDN vs Pull CDN — в каких сценариях что выбираешь? Что такое cache key, origin shield, и как считать hit ratio?
-
senior theory L4 (TCP) vs L7 (HTTP) балансировщик — в чём разница и когда что использовать? Какие алгоритмы балансировки знаешь и где они ломаются?
-
senior theory Зачем нужен reverse proxy (nginx/Envoy) перед приложением, если есть L7 load balancer? Что он делает, чего LB обычно не делает?
-
senior theory Что такое edge compute (Cloudflare Workers / Lambda@Edge / Fastly Compute) и когда его реально стоит использовать вместо origin?
-
senior theory Расскажи про Raft и Paxos на пальцах. Где применяется в реальных системах, что такое split-brain и как Raft его избегает?
-
senior theory Что такое N/R/W кворум в Dynamo-style БД (Cassandra, DynamoDB, Riak)? Какие комбинации дают strong consistency, какие — eventual? Как настраивать под workload?
-
senior theory Тебе нужен **один воркер**, который обрабатывает топик/расписание/cleanup, и при его падении другой подхватывает. Какие паттерны leader election знаешь и какой…
-
senior theory Что такое service discovery и для чего service mesh (Istio/Linkerd)? Чем client-side discovery отличается от server-side, и в каком случае нужен mesh, а в како…
-
senior theory CAP-теорема всем надоела. Расскажи про PACELC — это что и зачем? Где CAP обманывает, а PACELC — нет? Приведи примеры систем по PACELC-классификации.
-
senior theory Active-passive vs active-active failover — где какой выбираешь? Какие типичные проблемы у active-active multi-region?
-
senior theory Нужно отдавать real-time обновления клиенту. WebSocket vs Server-Sent Events (SSE) vs long polling — что когда выбираешь, и какие подводные на проде?
-
senior theory REST vs gRPC vs GraphQL — для каких задач что? Где REST лучше gRPC, где GraphQL не подходит вообще?
-
senior theory Push-based vs pull-based архитектура для распространения событий между сервисами. Где Kafka push, где pull? Когда выбирать что и почему важно для backpressure?
-
senior theory Что такое «availability 99.9%»? Сколько это даунтайма в год? Как считается availability сервиса, состоящего из нескольких зависимостей.
-
senior theory Сравни active-passive, active-active и cold/warm/hot standby. Когда что выбирать.
-
senior theory Vertical vs horizontal scaling — когда что? Какие проблемы у horizontal scale-out.
-
middle theory Что делает reverse proxy (nginx, Caddy, Traefik)? Чем отличается от forward proxy и от load balancer.
-
senior theory Что такое service discovery и зачем оно нужно. Сравни client-side vs server-side discovery.
-
senior theory Что такое federation (functional partitioning) в БД? Чем отличается от шардирования.
-
middle theory Когда стоит денормализовать БД? Какие риски.
-
senior theory Сравни 4 стратегии работы с кешем: cache-aside, write-through, write-back (write-behind), refresh-ahead. Когда что использовать.
-
senior theory Что такое back pressure? Как реализовать в системе с очередью / HTTP API.
-
middle theory Назови порядки latency: L1, L2, RAM, SSD, HDD, сеть в DC, сеть между DC, RTT US-EU. Зачем эти числа на собесе.
-
senior theory Сравни три уровня согласованности: linearizability, sequential consistency и causal consistency. Что именно гарантирует каждый, какова цена (latency, availabil…
-
senior theory Объясни CRDT для multi-master replication: G-Counter, PN-Counter, OR-Set, LWW-Register. Какие математические свойства требуются, как достигается eventual consi…
-
senior theory Спроектируй Circuit Breaker для критичного downstream (внешний платёжный API). Дай конкретные параметры: размер окна, threshold, half-open пробы, exponential b…
-
senior theory Опиши, как retry-стратегия может усугубить инцидент (retry storm / metastable failure) и какие меры — exponential backoff with jitter, retry budgets, bulkhead …
-
senior theory Спроектируй distributed token bucket на Redis. Зачем нужен Lua-скрипт (атомарность), какие ловушки с TTL и clock skew, и как масштабировать на 50k QPS. Дай реа…
-
senior theory Сравни sliding window log vs sliding window counter (approximate). Когда нужна точность, когда — масштаб. Расскажи про hierarchical rate limiting: per-user, pe…
-
senior theory System Design: объясните тему «Performance vs scalability» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Latency vs throughput» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Availability vs consistency» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Consistency patterns» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Availability patterns» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Domain name system» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Content delivery network» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Load balancer» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Reverse proxy (web server)» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Application layer» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Cache» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Asynchronism» — суть, за и против, когда применять.
-
senior theory System Design: объясните тему «Communication» — суть, за и против, когда применять.