В этой подборке вопросы сгруппированы по формату «System Design», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, concurrency, database.
Порядок выполнения SQL-запроса Область: работа СУБД и оптимизация запросов FROM: определение таблиц, их объединение (JOIN) и фильтрация по ключам ON: условие, по которому выполняется соединение JOIN WHERE: отбор…
В чем заключается принцип REST? архитектурный стиль для веб-сервисов работа с ресурсами, каждому из которых соответствует уникальный URI обмен данными с применением стандартных HTTP-методов: GET, POST, PUT, DELETE…
механизм надежной установки соединения в TCP три шага: SYN → SYN-ACK → ACK SYN: клиент начинает процедуру соединения SYN-ACK: сервер подтверждает запрос клиента и выделяет необходимые ресурсы ACK: клиент подтверждает,…
Ключевые отличия React 18 от React 17: автобатчинг и Fiber React 18 использует обновлённый движок Fiber с более широкими возможностями Автобатчинг автоматически объединяет несколько изменений состояния в один…
Чем отличаются Kubernetes DaemonSet и Deployment и где они применяются Deployment — контроллер для управления набором реплик подов, их масштабирования и обновления DaemonSet — обеспечивает запуск копии пода на каждом…
Чем отличаются POST, PUT и PATCH HTTP-методы для работы с ресурсами в REST POST: создание ресурса, операция неидемпотентна PUT: полная замена ресурса, идемпотентная операция PATCH: частичное изменение ресурса,…
Разница между defer, panic и recover в Go defer — отложенный вызов функции: она выполняется при выходе из текущей функции и обычно используется для освобождения ресурсов panic — прерывание обычного выполнения…
Сравнение readinessGate и readinessProbe в Kubernetes Kubernetes: управление готовностью контейнера readinessProbe: определяет, может ли Pod принимать трафик, используя HTTP, TCP или exec-проверку readinessGate:…
Различия горизонтального и вертикального масштабирования масштабирование — наращивание ресурсов системы для увеличения производительности вертикальное (scale-up): расширение CPU, RAM и дискового пространства одного…
Ключевые различия SOA и микросервисной архитектуры SOA: взаимодействие крупных сервисов, нередко организованное через центральный ESB (Enterprise Service Bus) Микросервисы: небольшие автономные компоненты, каждый из…
обмен данными между компонентами или сервисами синхронное: вызывающая сторона ожидает завершения операции и получения ответа, поэтому поток блокируется асинхронное: операция запускается без ожидания результата, а…