В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, concurrency, database.
Параллельная обработка с ограничением числа горутин контекст: конкурентность в Go задача: контролировать количество одновременно выполняющихся горутин, чтобы рационально расходовать ресурсы решение: применить…
Палиндромом называют строку, которая одинаково читается в обоих направлениях — слева направо и справа налево Для проверки сопоставляют символы, расположенные в начале и в конце строки В зависимости от условий задачи…
проектирование системы на уровне структуры компонентов и их взаимодействия создаёт условия для масштабирования, сопровождения и безопасного внесения изменений ясное распределение ответственности (Separation of…
Обработка ошибок в сервисах проекта базовый элемент архитектуры backend применение централизованного middleware для перехвата исключений передача ошибок на уровень API с использованием унифицированного формата ответа…
Как применять JOIN, GROUP BY и HAVING в SQL JOIN: связывает строки двух или нескольких таблиц по общему ключу; доступны варианты INNER, LEFT, RIGHT и FULL GROUP BY: объединяет строки в группы по заданным столбцам для…
кэш — локальное хранилище для быстрого доступа к данным задавать ограничение размера кэша (quota) применять политики замещения: LRU, LFU, FIFO настраивать автоматическую очистку: удалять элементы, которые используются…
Как принципы SOLID реализуются в архитектуре FSD? FSD (Feature-Sliced Design) — фронтенд-архитектура, в которой код организован вокруг отдельных фич SOLID — совокупность принципов, направленных на создание гибкого и…
Модульное тестирование с Jest и React Testing Library Изолированная проверка рендеринга компонентов и обработки событий Моки для пропсов и внешних зависимостей Запуск тестов через CLI без использования браузера…
архитектурный паттерн для интеграции микросервисов сохранение изменений и событий в отдельной таблице (outbox) в рамках одной транзакции с бизнес-операцией асинхронная отправка событий из outbox в очередь или шину…
область: архитектура сетей и протоколы маршрутизация — выбор наиболее подходящего пути для IP-пакета для этого применяется таблица маршрутов, где указаны сеть, маска, шлюз и интерфейс маршрутизатор анализирует адрес…
Как работают CTE (Common Table Expressions) в PostgreSQL? SQL-конструкция для временных именованных результатов создаются с помощью ключевого слова WITH доступны только в рамках текущего запроса повышают понятность и…
масштабирование: горизонтальное (добавление серверов) и вертикальное (наращивание ресурсов) балансировщик нагрузки (load balancer), который направляет запросы на доступные инстансы с учётом health checks и выбранных…