В этой подборке вопросы сгруппированы по формату «Поведенческие вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, database, async.
Жизненный цикл приложения iOS Контекст: управление состояниями приложения iOS Запуск приложения: метод application(:didFinishLaunchingWithOptions:) выполняет первичную инициализацию Активное состояние: метод…
структура данных для хранения пар ключ → значение внутри представляет собой хеш-таблицу ключ обязан быть comparable (поддерживать операцию ==) поиск, добавление и удаление выполняются в среднем за ~O(1) для обработки…
Автоматически освобождает память, выделенную JVM Находит объекты, на которые больше нет ссылок и которые стали недостижимыми Организует кучу по поколениям: Young, Old и Permanent (метаданные) Базовый подход:…
Как работает CAS внутри Atomic-классов CAS — это низкоуровневый механизм атомарного обновления значения в памяти Он сопоставляет текущее значение с ожидаемым (compare) При совпадении значение заменяется новым (swap)…
Паттерн IDisposable в .NET предназначен для управления неуправляемыми ресурсами. Метод Dispose() позволяет пользователю явно освободить занятые ресурсы. Dispose можно вызвать вручную либо автоматически с помощью…
Как устроен планировщик горутин в Go и какую роль играют GOMAXPROCS и ядра ОС В Go используется M:N модель: большое количество горутин распределяется между меньшим числом системных потоков (OS threads). За…
Как устроен рабочий процесс Gitflow? модель ветвления в Git две базовые ветки: master (релизы) и develop (разработка) отдельные feature-ветки для новых функций создаются от develop release-ветки используются для…
В Go применяется параллельный конкурентный GC В основе лежит трёхфазный алгоритм: маркировка (tracing), приостановка мира и очистка На этапе маркировки GC определяет объекты, которые остаются достижимыми…
Как устроен цикл событий (event loop) и как он выполняет асинхронный код? механизм организации асинхронности в JavaScript и средах его выполнения функционирует до тех пор, пока в очереди остаются задачи работает со…
Сеть Pod — фундаментальный сетевой уровень Kubernetes отвечает за связь между Pod внутри кластера каждому Pod назначается собственный IP-адрес без NAT — обмен данными выполняется напрямую по IP создаётся с помощью…
Как устроена suspend-функция в Kotlin под капотом: стейт-машина? Kotlin coroutines позволяют создавать асинхронный код без блокировки потоков при компиляции suspend-функция превращается в стейт-машину с набором…
Как устроена асинхронность в JavaScript? событийная модель выполнения (event loop) call stack — стек, в котором исполняются синхронные функции message queue — очередь задач для асинхронных колбеков Web APIs — таймеры,…