В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, concurrency, database.
Чем отличаются git rebase и git merge Git merge объединяет ветки и создаёт merge commit Git rebase перестраивает историю, перенося коммиты на новую базу Merge оставляет всю историю ветвления Rebase формирует линейную…
Индексы B-Tree, Hash и BRIN в Postgres: различия и подходящие сценарии B-Tree — стандартный индекс Postgres для упорядоченных данных. Он обеспечивает быстрый поиск, сортировку и выполнение диапазонных запросов. Hash —…
Транзакция представляет собой единый логический набор операций, гарантирующий атомарность и согласованность данных. Batch-insert выполняет массовую вставку записей с помощью одного SQL-запроса, повышая…
Что представляет собой sync.Cond и когда он предпочтительнее каналов? sync.Cond — примитив условной синхронизации в Go с его помощью можно ожидать наступления заданного условия при организации конкурентного выполнения…
Мутабельные и иммутабельные типы в Java это подходы к управлению изменяемостью объектов состояние мутабельных объектов можно изменять после их создания содержимое иммутабельных объектов нельзя изменить после создания…
Что представляет собой MAC-адрес и для чего он используется? идентифицирует сетевой интерфейс на канальном уровне (OSI Layer 2) является уникальным аппаратным адресом интерфейса размером 48 бит назначается…
Контекст: обработка исключений в Go, concurrency panic аварийно прекращает выполнение текущей горутины если panic не перехвачен через recover, горутина завершится с ошибкой остальная программа продолжит выполняться,…
Что происходит с компонентом во время перерендеринга? UI-фреймворк повторно запускает функцию или метод компонента JSX или шаблон заново вычисляется с учётом актуальных props и состояния новый результат сопоставляется…
Что представляет собой FSD-архитектура и какие слои в ней используются? FSD (Feature-Sliced Design) — архитектурный паттерн для фронтенда Приложение разделяется на фичи, а слои выделяются по зонам ответственности К…
Что представляет собой enhancer в Redux? Механизм расширения Redux Оборачивает store и дополняет его поведение Дает возможность подключать middleware, DevTools и дополнительную логику Применяется во время создания…
Что представляет собой middleware в Redux и для чего он нужен? механизм расширения возможностей Redux промежуточный уровень между dispatch и редьюсерами перехватывает действия (actions) и при необходимости изменяет их…
Что представляет собой worker pool и для чего он используется? concurrent programming, resource management Заранее заданный набор рабочих потоков или goroutines распределяет задачи между доступными воркерами…