Подготовка к интервью

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

102 вопроса по System Design

102 вопроса 119 компаний 249 технологий

Усильте резюме перед собеседованием

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

Анализ резюме

Что проверяют на интервью

Как устроена подборка

В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, concurrency, database.

Основные темы и навыки

backend 61 concurrency 33 database 32 architecture 27 scalability 22 frontend 21 performance 20 api 19

Форматы вопросов

  • System Design102

Ориентировочная сложность

  • Продвинутые102

С чего начать подготовку

  1. Начните с раздела «System Design» и проверьте, можете ли дать короткий ответ своими словами.
  2. Затем разберите вопросы по теме «backend» и свяжите ответы с собственным опытом.
  3. Завершите подготовку практикой: проговорите решение, ограничения и возможные альтернативы.
Сбросить

Каталог

Результаты поиска

Найдено: 102
System Design

Как вы работаете с Sentry, GrayLog и логами в Linux?

Логирование позволяет отслеживать события в приложении и играет ключевую роль в его диагностике и мониторинге. Sentry — средство отслеживания ошибок, которое собирает stack trace, объединяет события по проблемам и…

Читать ответ
System Design

Как задать приоритет вызовам dispatch и выполнить действие последним?

Контекст: управление состоянием в Redux и аналогичных библиотеках dispatch выполняется синхронно, поэтому последовательность вызовов имеет значение чтобы выполнить действие последним, вызовите dispatch в конце цепочки…

Читать ответ
System Design

Как защитить баланс от двойного списания при гонке транзакций?

Конкуренция транзакций, финансовые системы Организовать конкурентный контроль доступа к балансу Использовать атомарные операции либо транзакции с подходящим уровнем изоляции Доступны два подхода: оптимистичная…

Читать ответ
System Design

Как изолировать зависимости проекта?

Управлять окружением с помощью виртуальных сред (virtualenv, venv, conda) Использовать Docker-контейнеры, чтобы отделить системные и библиотечные зависимости Явно закреплять версии в файлах вроде requirements.txt,…

Читать ответ
System Design

Как инверсировать зависимость между микросервисами с помощью брокера сообщений и событийной архитектуры?

Как выполнить «инверсию» зависимости между микросервисами? Сервис A обращается к сервису B напрямую, поэтому между ними возникает жесткая связь — tight coupling Инверсия зависимости достигается за счет асинхронного…

Читать ответ
System Design

Как на собеседовании объяснить работу с системами контроля версий, например Git?

Работа с системами контроля версий Git Git представляет собой распределённую систему контроля версий каждое изменение кода сохраняется как коммит и пополняет историю проекта отдельные задачи выполняются в ветках…

Читать ответ
System Design

Как обеспечить exactly-once обработку в Kafka и какие есть подводные камни?

Exactly-once обработка в Kafka: как реализовать и что учесть Тема: обработка сообщений, Kafka, идемпотентность В основе exactly-once находится транзакционная запись в Kafka через Transaction API Применяется…

Читать ответ
System Design

Как обеспечить потокобезопасность коллекции?

цель: исключить состояния гонки (race conditions) использовать синхронизацию: мьютексы и блокировки (locks) выбирать конкурентные коллекции (ConcurrentHashMap, ConcurrentQueue) по возможности применять атомарные…

Читать ответ
System Design

Как объединить обновления состояния при нескольких вызовах setState?

Как объединить обновления состояния при нескольких вызовах setState? Изменение состояния в React с последующим обновлением UI setState работает асинхронно, поэтому обновления могут объединяться Для получения…

Читать ответ
System Design

Как объяснить микросервисную архитектуру на собеседовании?

архитектурный подход к созданию распределённых систем приложение разделяется на самостоятельные сервисы каждый из них выполняет определённую бизнес-задачу сервисы обмениваются данными через строго определённые API…

Читать ответ
System Design

Как объяснить принцип замены Лисков (L в SOLID) во фронтенде на примере React?

Принцип замены Лисков во фронтенде (React) SOLID — фундаментальный принцип ООП, применимый и к компонентной архитектуре подмена подкласса или компонента не должна нарушать работу родительской логики компонент обязан…

Читать ответ
System Design

Как обычно работают с legacy-системами?

Как обычно работают с legacy-системами? поддержка системы и поэтапный рефакторинг постепенная миграция на современные технологии документирование системы и изучение зависимостей тестирование, защищающее от регрессий…

Читать ответ