Проходил ли ты раньше system design
Что проверяют
Был ли у вас опыт проектной секции и понимаете ли вы, что в вашей области она про поток данных, а не про ленту новостей. Честное «не проходил» не дисквалифицирует: задачу дадут всё равно, и смотреть будут на ход рассуждения.
Как отвечать
Если опыт есть, назовите тип задач и структуру, которой держались: уточнение требований, оценка объёмов, эскиз потока, узкие места, компромиссы.
Для дата-инженера и ML-инженера набор вопросов свой:
- источники и режим: пакетно или потоком, как часто, какая допустима задержка свежести;
- объёмы: сколько событий в сутки, сколько это в байтах, как растёт;
- хранение и слои: сырой, очищенный, витрины. Партиционирование и формат файлов;
- идемпотентность и повторный прогон: как перезапустить вчерашний день, не задвоив данные, и как сделать бэкофилл за месяц;
- эволюция схемы: что произойдёт, когда источник добавит поле или сменит тип;
- качество: проверки на свежесть, полноту и границы значений, куда уходит алерт.
Если задача про ML, добавьте онлайн и офлайн инференс, одинаковый расчёт признаков для обучения и применения, версии моделей, откат, мониторинг сдвига данных.
Если опыта нет, скажите прямо и попросите задачу: разбор вслух ценнее заученного шаблона.
Где спотыкаются
Начинают с перечисления технологий. Выбор хранилища и оркестратора без чисел про объём и задержку это угадывание, а интервьюер ждал уточняющих вопросов.
Проектируют сервис вместо конвейера. Забывают, что данные приезжают поздно и задним числом, поэтому нужны перезапуск, окно опоздавших событий и идемпотентная запись.
Заканчивают на схеме и молчат про эксплуатацию: кто чинит упавший ночью прогон, как ловят тихую поломку, когда витрина собралась, но наполовину пустая.