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

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

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

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

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

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

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

Каталог

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

Найдено: 298
System Design

Как в Go обрабатываются ошибки и паники?

Как в Go обрабатываются ошибки и паники? ошибка представляется как значение через интерфейс error после вызова функции выполняется явная проверка (if err != nil) паника возникает при критических ошибках, например при…

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

Как в Go передавать данные между горутинами с помощью каналов и sync?

Как в Go передавать данные между горутинами с помощью каналов и sync? - Go поддерживает конкурентность на основе goroutine - Каналы (channels) служат структурированным механизмом обмена данными - Через каналы…

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

Как в Go работает nil и что происходит при вызове метода на nil-ресивере?

Как в Go обрабатываются nil и вызовы методов на nil-ресивере nil в Go служит нулевым значением для указателей, интерфейсов, слайсов, карт, каналов и функций У метода может быть ресивер-указатель, значение которого в…

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

Как в Go работает zero-copy и когда данные можно передавать между слоями без аллокаций?

zero-copy в Go означает передачу ссылок на данные без выделения памяти под копии, но требует контроля доступа и сохранения данных неизменными.

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

Как в Go работают memory barriers и зачем они нужны атомарным операциям?

Memory barriers и атомарные операции в Go Memory barriers — это низкоуровневые инструкции процессора и компилятора, управляющие порядком операций с памятью. Они не позволяют CPU или компилятору переупорядочить чтения…

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

Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин?

Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин? управлять завершением приложения через context.Context (cancel/cancellation) применять defer для освобождения ресурсов,…

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

Как в Go реализовать наследование?

В Go отсутствует классическое наследование: здесь нет классов и конструкции extends Для повторного использования кода применяют встраивание (embedding) структур При встраивании поля и методы вложенной структуры…

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

Как в Go синхронизировать параллельные вычисления?

область: конкурентность в Go базовый механизм: goroutines (легковесные потоки) синхронизация: с помощью channels — обмен данными и сигналами между goroutines для реализации блокировок и мьютексов используется пакет…

Читать ответ
System Design

Как в Go создать worker pool с ограничением concurrency?

Как в Go реализовать worker pool с ограниченным concurrency? concurrency определяет число одновременно работающих goroutine Для ограничения создают буферизированный канал размером с concurrency Перед запуском worker в…

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

Как в Go сочетаются статическая и утиная типизация?

Чем статическая типизация Go отличается от утиной В Go: применяется строгая статическая типизация тип переменной определяется при её объявлении ошибки, связанные с типами, компилятор обнаруживает до запуска программы…

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

Как в Go удалить элемент из слайса?

Работа со слайсами (Go slices) Удаление элемента по индексу Для этого объединяют два подслайса: s = append(s[:i], s[i+1:]...) В результате формируется новый слайс без элемента с индексом i, а его длина уменьшается.…

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

Как в Go управлять временем ожидания с помощью context?

** контролируйте длительность операций в Go через context, задавая таймаут и отмену с помощью context.WithTimeout и Done(). Это позволяет ограничивать время выполнения и корректно освобождать ресурсы.

Читать ответ