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

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

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

576 вопросов 1634 компании 353 технологии

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

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

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

Каталог

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

Найдено: 576
Теория

Как в Go реализуется полиморфизм без классического наследования (duck typing)? Это полиморфизм времени компиляции или времени исполнения? Какой ещё вид полиморфизма можно реализовать в Go?

Go поддерживает полиморфизм через неявную реализацию интерфейсов: тип подходит по набору методов. Соответствие проверяется статически, а вызов через интерфейс обычно выбирает реализацию в runtime.

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

Почему в Go используются две области памяти — стек и куча, а не только одна из них?

Стек эффективен для значений с понятным временем жизни вызова, куча — для объектов, которые живут дольше или разделяются между частями программы. Их сочетание упрощает управление памятью.

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

Каковы потенциальные ловушки использования общего состояния в параллельном программировании, и как их можно избежать в Go?

Общее изменяемое состояние создаёт гонки, потерянные обновления, deadlock и сложные инварианты. Уменьшайте совместное владение и явно задавайте синхронизацию.

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

Расскажи про map в Go.

Map в Go — отображение уникальных сравнимых ключей в значения. Чтение отсутствующего ключа возвращает нулевое значение; форма value, ok отличает его от существующего.

Читать ответ
Лайвкодинг

Напиши Singleton на Go с использованием sync.Once, затем усложни: GetLogger принимает name и age, возвращает один экземпляр для одинаковых параметров

Для одного экземпляра достаточно sync.Once. Экземпляр на каждую пару name и age — уже multiton: кеш по составному ключу, защищённый mutex.

Читать ответ
Лайвкодинг

func (p *Pool) Stop() {

В коде есть опасный Unlock без показанного Lock, повторное закрытие канала и гонка с отправителями. Cancel не прерывает произвольную задачу немедленно.

Читать ответ