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

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

Как устроен балансировщик нагрузки?

сетевой компонент, предназначенный для распределения запросов получает входящий клиентский трафик по заданному алгоритму перенаправляет запросы в пул серверов распространённые алгоритмы: round-robin, least…

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

Как устроена архитектура очередей и зачем нужны несколько очередей и экшенджей?

Устройство очередной архитектуры и назначение нескольких очередей и экшенджей В основе архитектуры лежит асинхронная обработка событий, при которой задачи распределяются по приоритету и функциональному назначению.…

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

Как устроена и работает многопоточность в Java?

Как работает многопоточность в Java? Java обеспечивает параллельное выполнение с помощью потоков (Threads) Поток — отдельный исполняемый поток команд в рамках процесса Для создания потоков применяют классы Thread и…

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

Как эффективно работать со сложными JOIN между множеством таблиц?

SQL и оптимизация запросов Сначала точно определить ключи соединения — PK и FK. Для обязательных связей применять INNER JOIN, а для необязательных — LEFT JOIN. Сокращать объем промежуточных данных, выполняя фильтрацию…

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

Какие middleware выбрать в Redux: redux-thunk или redux-saga?

Middleware в Redux расширяет dispatch и добавляет поддержку асинхронных операций redux-thunk: action может быть функцией, подходит для простой асинхронной логики redux-saga: генераторы для сложных async-потоков и…

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

Какие инструменты мониторинга и логирования используют в продакшн-системах?

Основные инструменты мониторинга и логирования в продакшн-среде мониторинг: Prometheus отвечает за метрики, Grafana — за дашборды логирование: ELK-stack (Elasticsearch, Logstash, Kibana) централизованный сбор логов:…

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

Какие протоколы интеграции между системами вы знаете и выбираете?

Протоколы интеграции между системами Интеграция ПО и обмен данными HTTP/HTTPS — универсальная и легковесная основа для REST API SOAP — протокол сообщений со строгой схемой XML и стандартами WS-* gRPC —…

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

Какие протоколы прикладного уровня вы знаете и применяли на практике?

Обзор протоколов прикладного уровня и практический опыт HTTP/HTTPS: базовые протоколы веба для клиент-серверного взаимодействия и REST API FTP/SFTP: обмен файлами; SFTP обеспечивает защищённую передачу поверх SSH…

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

Какие слои есть в Чистой архитектуре и от чего зависит domain?

Архитектура Роберта Мартина Слои от внешнего уровня к внутреннему: Presentation (UI) Application (Use Cases) Domain (Бизнес-логика) Infrastructure (Сторонние сервисы, БД) Domain — центральное ядро, не зависящее от…

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

Какие способы интеграции между системами вы можете назвать?

Основные виды интеграции между системами синхронная: взаимодействие по модели «запрос-ответ» с блокирующей коммуникацией асинхронная: передача сообщений через очереди и события файловый обмен: регулярная или…

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

Какие фреймворки применяют для тестирования Java-приложений?

Фреймворки для тестирования на Java JUnit — основной и наиболее распространённый инструмент для модульного тестирования TestNG — расширенные возможности, аннотации и параллельное выполнение Mockito — создание…

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

Каковы основные этапы тестирования в Golang?

Каковы основные этапы тестирования в Golang в Golang тестирование реализовано в стандартном пакете testing создаём файл, имя которого заканчивается на _test.go определяем функции формата *TestXxx(t testing.T)…

Читать ответ