Инициатива на System Design — это не быстрый рисунок из десятка блоков. Ведите интервью: соберите требования, посчитайте порядок нагрузки, предложите простой baseline и согласуйте, где углубляться.
План
Пройдите этапы по порядку
- 01
Какие сценарии и SLO входят в систему?
Разделите создание объявления, чтение карточки, поиск, сообщения и фотографии. Уточните регионы, consistency, latency, availability и модерацию; явно назовите, что остаётся вне scope.
- 02
Как оценить порядок нагрузки?
Возьмите разумные допущения по DAU, действиям, read/write ratio и размеру объектов. Переведите их в средний и пиковый QPS, bandwidth и storage, сохранив числа простыми и проверяемыми.
- 03
Как выглядит минимальная high-level схема?
Начните с клиента, API, одного сервиса и надёжного хранилища. Затем добавляйте кеш, поиск, очередь и CDN только для обнаруженных ограничений; объясняйте границы владения данными.
- 04
Как обновляется поисковый индекс?
Опишите асинхронное событие после записи, retry, дедупликацию и допустимую задержку видимости. Обсудите rebuild индекса, версионирование схемы и reconcile между источником истины и поиском.
- 05
Что произойдёт при падении зависимости?
Для каждой критичной зависимости задайте timeout, fallback и деградацию UX. Добавьте circuit breaker, очереди с DLQ, bulkhead, мониторинг SLO и понятный путь восстановления.
- 06
В какую часть стоит углубиться?
Предложите интервьюеру выбор: схема данных и индексы, консистентность, поиск, media pipeline, realtime сообщения или frontend state. Глубина должна раскрывать вашу роль и самые рискованные требования.
Что обычно мешает
Частые ошибки
- Не уточнять функциональные границы.
- Подгонять архитектуру под заученную схему.
- Использовать цифры без единиц и допущений.
- Не оставлять времени на отказные сценарии.
Перед следующим этапом
Чек-лист готовности
- Собираю требования за первые 10 минут.
- Считаю QPS, трафик и storage.
- Начинаю с простой архитектуры.
- Объясняю consistency и recovery.
- Сам предлагаю область deep dive.
Коротко
Частые вопросы
Есть ли один правильный ответ?
Нет. AvitoTech прямо отмечает открытый характер вопросов. Оцениваются ход рассуждения, сбор требований, компромиссы и способность погрузиться в детали.
Какие примеры задач приводит Авито?
В открытой статье упоминаются проектирование Авито, конструктор frontend-виджетов и backend сервиса нотификаций. Это примеры формата, а не гарантированный список.
Нужно ли рисовать API и БД?
Уточните это на секции. Сначала покажите high-level поток, затем согласуйте глубину: контракты API, схему хранения или компоненты клиента в зависимости от роли и времени.
Источники
Источники и редакционная политика
Материалы RecallDeck сопоставлены с официальной документацией и открытыми публикациями компаний, когда первичный источник доступен. Мы не связаны с упомянутыми работодателями, не публикуем конфиденциальные задания и не продаём места в подборках. Формат найма может меняться — уточняйте его у рекрутера.
От чтения к воспроизведению
Отрепетируйте полный цикл интервью.
RecallDeck возвращает сложные темы по расписанию и помогает удерживать в памяти язык, SQL, архитектуру и поведенческие истории.