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

Вопросы по 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

Где масштабирование проще — в on-premise или облачной инфраструктуре и почему?

Масштабирование: сравнение on-premise и облака область: инфраструктура, DevOps облако — динамическое масштабирование on-premise — необходимо физическое оборудование облако поддерживает автоматизацию и предоставляет…

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

Зачем MutationObserver использует микротаски в Event Loop?

В Event Loop микротаски имеют более высокий приоритет MutationObserver отслеживает изменения DOM Коллбэки выполняются после завершения текущего макротаска Отложенное, но быстрое уведомление об изменениях…

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

Зачем в HTTP/3 используется UDP?

Основой HTTP/3 служит протокол QUIC QUIC работает поверх UDP, а не TCP UDP помогает добиться низкой задержки, поскольку для него не требуется устанавливать соединение Контроль потока и исправление ошибок QUIC…

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

Зачем разработчику нужны юнит-тесты?

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

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

Как DDD и гексагональная архитектура применяются в разработке?

DDD и гексагональная архитектура DDD (Domain-Driven Design) — метод разработки, в основе которого лежит глубокое понимание предметной области Важный принцип DDD — выделить ядро домена, содержащее бизнес-логику, и…

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

Как Jest работает под капотом и чем jsdom отличается от браузера?

Как Jest устроен внутри и чем jsdom отличается от браузера Jest — JavaScript-тест-раннер, поддерживающий моки и изолированный запуск тестов Для проверки DOM он применяет jsdom — эмулятор браузерной среды, работающий в…

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

Как Kafka и RabbitMQ отличаются по гарантии доставки сообщений?

Различия Kafka и RabbitMQ в гарантированной доставке сообщений Kafka представляет собой распределённый commit log, в котором сообщения хранятся постоянно Данные попадают в топики, разделённые на partitions, благодаря…

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

Как Redis обеспечивает атомарность операции INCR?

Как Redis выполняет INCR и за счёт чего операция остаётся атомарной? Команды в Redis обрабатываются однопоточным Event Loop INCR увеличивает значение заданного ключа на единицу Вся операция выполняется как одна…

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

Как в Go обрабатываются ошибки и паники?

Как в Go обрабатываются ошибки и паники? ошибка представляется как значение через интерфейс error после вызова функции выполняется явная проверка (if err != nil) паника возникает при критических ошибках, например при…

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

Как в Go создать worker pool с ограничением concurrency?

Как в Go реализовать worker pool с ограниченным concurrency? concurrency определяет число одновременно работающих goroutine Для ограничения создают буферизированный канал размером с concurrency Перед запуском worker в…

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

Как внедрить паттерн Saga в микросервисной архитектуре?

подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…

Читать ответ