В этой подборке вопросы сгруппированы по формату «Поведенческие вопросы», чтобы подготовку можно было вести от базовых тем к практическим задачам. В подборке чаще встречаются темы: backend, database, async.
Как работает стирание типов (type erasure) в дженериках? механизм компиляции дженериков, при котором конкретные типы удаляются обобщённый код преобразуется в единый байт-код без сведений о параметрах типов…
append — функция для добавления элементов в срез в срезах Go добавляет один или несколько элементов с амортизированной сложностью O(1) при нехватке ёмкости создаёт новый внутренний массив и копирует в него…
Как устроена хеш-таблица и почему она ускоряет поиск? структура данных, предназначенная для хранения пар ключ-значение ключ обрабатывается с помощью хеш-функции, которая формирует индекс полученный индекс определяет…
Как оптимизировать работу с большими таблицами? Архитектура и хранение: разделять данные с помощью партиционирования Запросы: применять индексы для ускорения фильтрации и выборок Оптимизация: сокращать объём данных…
Работа с матч-3 (игровая механика) направление казуальных игр, построенное на перестановке элементов задача: формировать цепочки из трех и более одинаковых объектов базовые механики: своп (swap), поиск цепочек,…
Как работают DispatchGroup и DispatchSemaphore? Concurrency primitives для iOS/macOS в GCD DispatchGroup — средство координации асинхронных задач помогает отследить завершение всех операций, входящих в группу…
Как работают extension-функции в Kotlin? язык Kotlin, расширение класса добавляют методы к уже существующим классам не требуют изменения исходного кода класса объявляются за пределами класса с указанием типа-приёмника…
Механизмы retry и circuit breaker retry повторно отправляет запрос после ошибки и особенно полезен при временных сбоях основные настройки: максимальное число попыток, интервал между ними и экспоненциальный бэкофф…
Как работают индексаторы (Indexers) в C#? определяют способ доступа к элементам объекта используют синтаксис, напоминающий массив: obj[index] позволяют обращаться с экземпляром класса как с коллекцией объявляются с…
Три принципа ООП: инкапсуляция, наследование и полиморфизм ООП — это парадигма, в которой структура программы строится вокруг объектов Инкапсуляция: изоляция данных и обращение к ним через методы для защиты…
Каналы служат примитивом синхронизации и обмена данными между goroutine Они реализованы в виде буферизированных и небУферизированных очередей Размер буферизации задаёт число элементов, которые можно отправить в канал…