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

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

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

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

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

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

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

Каталог

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

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

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

В новых версиях Go (начиная с Go 1.9 и далее) внутреннее устройство map было значительно улучшено для повышения производительности и уменьшения фрагментации памяти.

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

Code review: кэш на Go с мьютексом. Найди проблемы и предложи улучшения. Условие: нагрузка чтение/запись 80/20.

При реализации кэша на Go с использованием мьютекса под нагрузку чтения/записи 80/20 основная проблема — блокировка всех операций чтения и записи одним мьютексом, что снижает производительность при частых чтениях.

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

Как называется в Go подход, когда создаёшь канал, закрываешь его, потом из него читаешь? В чём преимущество закрытия канала против отправки в него значения?

Этот подход называется "закрытие канала" (channel closing) в Go. Когда канал закрывается с помощью close(ch), это сигнализирует получателям, что больше значений не будет.

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

Расскажи про map в Go: как устроена, какая сложность операций в среднем и худшем случае.

Высокая частота коллизий в структуре данных Map (например, хеш-таблице) негативно влияет на производительность, так как несколько ключей попадают в одну и ту же корзину (bucket).

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

В чём разница между методами структуры с получателем по значению и по указателю в Go, когда выбирать каждый вариант?

В Go аргументы функций передаются по значению, то есть копируются. Если передать структуру значением, то внутри функции будет работать копия этой структуры, и изменения полей не повлияют на оригинал.

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

Можете объяснить, что такое epoll и как он используется в Go для обработки асинхронных событий?

epoll — это механизм в Linux для эффективного мониторинга множества файловых дескрипторов на предмет событий ввода-вывода (например, готовность к чтению или записи).

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

Можно ли передавать значения через context в Go, зачем это нужно и какие примеры уместны?

В Go контексты (context.Context) устроены так, что можно создавать иерархию контекстов, где дочерний контекст наследует значения и отмену от родительского.

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

Расскажите о модели GMP в Go: как работают G, M и P, планировщик, netpoller и sysmon?

Syscall (системный вызов) — это механизм, с помощью которого программа запрашивает услуги операционной системы, например, операции ввода-вывода, управление процессами, работу с файлами и т.д.

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

Чего не хватает в дженериках Go по сравнению с другими языками (например, C#)?

В Go дженерики появились относительно недавно и пока уступают по функциональности таким языкам, как C#. Основные ограничения и чего не хватает в дженериках Go по сравнению с C#:

Читать ответ