Подготовка к интервью

Банк вопросов с собеседований

Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.

298 вопросов 119 компаний 249 технологий

Усильте резюме перед собеседованием

Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.

Анализ резюме
Сбросить

Каталог

Результаты поиска

Найдено: 298
Поведенческий

Над чем работает GCD и что он собой представляет?

GCD (Grand Central Dispatch) — низкоуровневый фреймворк для многопоточности в iOS/macOS Представляет собой обёртку над pthread и ядром ОС (libdispatch) Предоставляет очереди задач для синхронного и асинхронного…

Читать ответ
Поведенческий

Отменится ли корутина в GlobalScope при вызове cancel() у родительского скоупа?

Что будет с корутиной в GlobalScope после cancel() родительского скоупа? Корутинa в GlobalScope — выполняется вне иерархии скоупов GlobalScope не зависит от родительских скоупов Вызов cancel() у родителя не оказывает…

Читать ответ
Поведенческий

Передаются ли слайсы в Go по значению или по ссылке?

Слайс в Go представляет собой структуру из трёх полей: указателя на массив, длины и ёмкости. Он передаётся как значение: копируется структура слайса, а не весь массив. При таком копировании указатель остаётся тем же,…

Читать ответ
Поведенческий

Почему Go runtime применяет модель “work stealing” и как она работает?

Зачем Go runtime использует “work stealing” и как устроена эта модель? concurrency model Go (Goroutine scheduler) сокращение простоя CPU за счёт динамической балансировки нагрузки каждый P (processor) располагает…

Читать ответ
Поведенческий

Почему IO-bound задачи не блокируются GIL?

GIL (Global Interpreter Lock) — механизм блокировки на уровне интерпретатора CPython Он ограничивает одновременное выполнение CPU-bound задач только одним потоком Во время I/O поток передаёт управление, поэтому GIL…

Читать ответ
Поведенческий

Почему NSOperation удобнее GCD для управления задачами?

Высокоуровневая абстракция над потоками с удобным объектным API Поддержка приоритетов и настройка зависимостей между задачами Возможность отменять и приостанавливать операции Поддержка наблюдателей и KVO для контроля…

Читать ответ
Теория

Почему Task не поддерживается в WebGL?

WebGL — API для рендеринга в браузере, построенный на базе OpenGL ES Task (например, C# Task) — механизм асинхронного управления задачами в .NET и многопоточных приложениях WebGL выполняется в однопоточном контексте…

Читать ответ
Поведенческий

Почему context не следует надолго сохранять в структуре?

Почему context не следует надолго сохранять в структуре? context — объект, который передаёт отмену, дедлайны и значения по цепочке вызовов он не рассчитан на длительное хранение, поскольку привязан к сроку жизни…

Читать ответ
Поведенческий

Почему блокировка только записи не защищает check-then-act?

Почему блокировки только записи недостаточно? (check-then-act под замком) Контекст: конкуррентность и синхронизация потоков Если под замком находится только запись, сама проверка остаётся уязвимой к изменениям из…

Читать ответ
Поведенческий

Почему в Go нельзя напрямую остановить горутину и как корректно завершать фоновые задачи?

горутины — лёгкие потоки, для которых не предусмотрен встроенный механизм прерывания отсутствие API для принудительной остановки повышает безопасность и помогает предотвращать утечки ресурсов попытка «убить» горутину…

Читать ответ
Поведенческий

Почему в Go чаще выбирают небуферизированные каналы?

Почему в Go чаще выбирают небуферизированные каналы? В Go каналы применяют для синхронизации Небуферизированный канал блокирует и отправителя, и получателя Обеспечивает жёсткую синхронизацию goroutine Предотвращает…

Читать ответ