Собеседование на Go-разработчика, System Design
Публичное мок-интервью, в котором кандидат проектирует сервис коротких постов уровня Twitter/X и получает разбор своего решения. В конце обсуждаются подготовка к System Design-интервью и формат менторской программы.
Эйч Навыки — менторская программа
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 8,1 тыс.
- Лайки на YouTube: 171
Таймлайн
Коротко о видео
Это публичное мок-интервью по System Design для Go-разработчика: кандидат проектирует аналог Twitter/X с публикацией постов, подписками и лентой. Участники последовательно собирают требования, оценивают нагрузку и объём данных, рисуют сервисную архитектуру, обсуждают Cassandra, Redis, репликацию, шардирование, очереди и наблюдаемость. После разбора интервьюер даёт кандидату обратную связь, а ведущие объясняют формат менторской программы и отвечают на вопросы зрителей о подготовке и собеседованиях.
Затронутые темы
Что взять на заметку
- На System Design-интервью сначала зафиксируйте границы задачи и задайте вопросы о функциональности, нагрузке, доступности, хранении и задержках; не проектируйте авторизацию, фронтенд и другие компоненты вне поставленной задачи.
- Явно разделяйте общее число аккаунтов и DAU, записи, чтения постов и обновления ленты: в учебном кейсе использовались 250 млн аккаунтов, 150 млн дневных пользователей, один пост на пользователя, около 50 чтений и 10–15 запросов ленты в день.
- Проверяйте порядок величин и единицы при расчётах: 200 символов по 4 байта — около 800 байт на пост; ошибку в расчёте объёма данных заметили и исправили прямо во время интервью.
- Не делайте неподтверждённых предположений о ранжировании или ML: для кейса нужно было уточнить модель ленты, после чего договорились о хронологической выдаче 25 постов с подгрузкой следующих.
- Покажите путь от верхнеуровневой схемы к масштабированию: отдельные сервисы постов, пользователей и ленты, хранилище отношений подписок, горизонтально масштабируемое хранилище постов и предрасчёт ленты через очередь.
- Подготовьтесь объяснить эксплуатационные детали: кэш горячих лент и популярных авторов, получение старых постов после вытеснения из Redis, репликацию, балансировку, метрики ошибок и бизнес-метрики.