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

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

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

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

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

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

Анализ резюме

Каталог

Последние вопросы

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

Как в Go реализовано обобщённое программирование (generics)?

Обобщённое программирование (generics) в Go появилось начиная с Go 1.18 (2022) обобщённые функции и типы объявляются с параметрами типа для этого применяется синтаксис с квадратными скобками: func Foo[T any](param T)…

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

Как в Go реализованы принципы ООП?

В Go нет классов: для представления данных применяются структуры Поведение инкапсулируется с помощью методов, связанных с типами структур Интерфейсы задают набор методов, которые могут реализовывать типы, обеспечивая…

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

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

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

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

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

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

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

Как в Go реализовать тип Set?

В Go отдельного стандартного типа Set нет множество обычно представляют как map[T]struct{} ключи выступают элементами, а значения почти не используют память добавление, удаление и проверка выполняются примерно за O(1)…

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

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

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

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

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

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

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

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

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

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

Как в Go увеличивается capacity слайса при добавлении элементов и почему до 1024 используется удвоение?

Слайс представляет собой структуру поверх массива, содержащую указатель, длину и capacity Когда length становится равен capacity, для слайса выделяется новый массив Чтобы не выполнять копирование при каждом…

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

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

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

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

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

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

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

Как в JSON экранируются специальные символы?

Как в JSON экранируются специальные символы? JSON представляет собой текстовый формат обмена данными Для экранирования специальных символов используется обратный слеш \ К основным спецсимволам относятся кавычки " ,…

Читать ответ