Этап 18 из 18 · ≈ 6 ч

Технические решения

Основа с Middle

Варианты, критерии, проверка фактами и фиксация решения — design doc и ADR.

Решение senior можно объяснить через год человеку, которого не было при обсуждении: какие были варианты, почему выбрали этот, при каких условиях стоит пересмотреть.

Что важно знать

  • Design doc — до реализации крупной задачи: контекст, цели и не-цели, варианты, выбор, риски, план. Обсуждение текста дешевле переделки кода.
  • ADR (architecture decision record) — короткая запись одного решения: контекст, решение, последствия. Хранится рядом с кодом.
  • Критерии: стоимость разработки и эксплуатации, риски, сроки, знания команды, обратимость.
  • Проверка фактами: прототип, нагрузочный тест, расчёт на салфетке.
  • Обратимые решения принимают быстро, необратимые (схема данных, публичный API, выбор платформы) — тщательно.

Критерии освоения

Middle ≈ 6 ч

  • Предлагает минимум два варианта решения задачи с плюсами и минусами
  • Проверяет спорное решение прототипом или замером, а не мнением

Практика. Для ближайшей задачи средней сложности описать два варианта реализации с критериями выбора и обсудить с тимлидом до начала работы.

Senior ≈ 10 ч

  • Пишет design doc для крупной задачи и проводит его обсуждение с командой
  • Фиксирует архитектурные решения (ADR) с причинами и условиями пересмотра
  • Различает обратимые и необратимые решения и тратит время пропорционально

Практика. Написать design doc для крупной задачи (контекст, варианты, расчёты, риски, план), провести ревью с командой и зафиксировать итог в ADR.

Проверка знаний

Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.

Вопросы с собеседований

Смотреть все
Расскажите о сложном техническом решении, которое вы приняли или отстояли.Senior

История по STAR, где видно как вы решали: какие были варианты, по каким критериям сравнивали (стоимость, риски, сроки, поддержка), как проверили гипотезы (прототип, замеры), как договорились с командой и зафиксировали решение (design doc, ADR) и чем это…

Полный разбор
Вас просят спроектировать ленту новостей. С чего вы начнёте оценку и какие вопросы зададите до выбора архитектуры?Middle

Сначала вопросы и допущения вслух, потом цепочка от аудитории к QPS, хранению и трафику, и обязательно вывод: где узкое место и что из этого следует для архитектуры.

Полный разбор
Как предлагать техническое решение команде?Middle

Предлагать минимум два варианта (часто третий — «ничего не делать» или «самое простое»), для каждого — плюсы, минусы, стоимость, риски и критерии, по которым сравниваем (сроки, нагрузка, поддержка, команда). Затем — ваша рекомендация с обоснованием. Один…

Полный разбор
Как разрешить технический спор, когда у каждого своё мнение?Middle

Перевести спор из мнений в проверку: сформулировать, какой факт решит вопрос («выдержит ли PostgreSQL 5 тысяч записей в секунду на нашем железе?»), и получить его маленьким прототипом, замером или экспериментом за часы или дни. Заранее договориться о…

Полный разбор
Как договориться с бизнесом о работе с техническим долгом?Middle

Технический долг — упрощения, которые ускорили работу тогда и замедляют сейчас: каждая новая задача в этой области дороже, чаще ломается. Говорить о долге через последствия: «изменения в оплате занимают втрое дольше, 4 инцидента за квартал». Держать список…

Полный разбор
Писать своё решение или взять готовую библиотеку или сервис?Middle

Готовое берут, когда задача не ядро продукта и хорошо решена другими (авторизация, платежи, очереди, PDF): экономия времени огромна. Своё пишут, когда это конкурентное преимущество, готовые решения не подходят по требованиям или зависимость дороже собственной…

Полный разбор
Как написать design doc для крупной задачи и провести его обсуждение?Senior

Design doc — короткий документ до начала работы: контекст и проблема, цели и не-цели, требования (нагрузка, данные, сроки), предлагаемое решение с схемой, альтернативы и почему не они, риски и план их снятия, план внедрения и метрики успеха. Рассылается…

Полный разбор
Что такое ADR (architecture decision record) и зачем записывать решения?Senior

ADR — короткая запись одного решения: контекст (что происходило и какие были ограничения), решение, рассмотренные варианты, последствия (что стало проще, что сложнее) и условия пересмотра. Хранится в репозитории, нумеруется, не переписывается: если решение…

Полный разбор
Как решать, сколько времени тратить на техническое решение?Senior

Решения делятся на обратимые («двери в обе стороны»: библиотека внутри сервиса, формат логов, внутренний API) и трудно обратимые («дверь в одну сторону»: публичный API, схема данных у клиентов, выбор основной базы, договор с провайдером). Обратимые принимают…

Полный разбор

Разборы темы

← Вся карта «ИИ-инженер»

Партнёр платформы

Разбор собеседования с sotto

После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.

Разбор собеседования