Самая сложная техническая задача
Вопрос
Расскажите о самой сложной технической задаче, которую вы решали.
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Объяснил, почему задача была сложной, а не просто большой
Описал ход поиска решения, включая отброшенные варианты
Показал, как проверял гипотезы: метрики, логи, профайлер
Назвал итог и как убедился, что решено
Не ушёл в детали, непонятные без контекста
Что могут спросить следом
- Сколько времени ушло?
- Кто помогал?
- Как предотвратили повторение?
Разбор
Пример для middle-бэкенда (вымышленный персонаж Олег): «Сложнее всего был плавающий баг: раз в несколько дней у части пользователей дважды списывались деньги. Сложность в том, что воспроизвести локально не получалось. Я добавил в логи идентификатор запроса и увидел, что при таймауте платёжного шлюза клиент повторял запрос, а у нас не было защиты от повторов. Рассматривал блокировку в Redis, но выбрал ключ идемпотентности в таблице платежей с уникальным индексом: это проще и переживает перезапуски. После выкатки двойных списаний не было ни одного за полгода. Ещё добавил алерт на повторные запросы с одним ключом, чтобы видеть проблемы шлюза раньше.»
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.