Расскажи, как устроены интерфейсы в Go.
Интерфейс Go хранит информацию о динамическом типе и значении, а его контракт задаётся методами. Тип реализует обычный интерфейс неявно через подходящий method set.
Читать ответПодготовка к интервью
866 вопросов по Golang с технических собеседований
Что проверяют на интервью
На странице собраны вопросы по Golang — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: go, backend, concurrency.
Каталог
Интерфейс Go хранит информацию о динамическом типе и значении, а его контракт задаётся методами. Тип реализует обычный интерфейс неявно через подходящий method set.
Читать ответЭто набор вопросов по Go, сети, БД и рабочему процессу. Технические ответы ниже сгруппированы по номерам; вопросы о личном опыте требуют ваших фактов.
Читать ответКанал Go передаёт значения заданного типа и синхронизирует отправителя с получателем. Копируется значение элемента, но указатели внутри могут ссылаться на общие данные.
Читать ответGo поддерживает объектный стиль через структуры, методы, интерфейсы и композицию, но не имеет классического наследования классов. Инкапсуляция задаётся границами пакетов.
Читать ответВ Go инкапсуляция строится на пакетах и экспортируемых именах, поведение — на методах, полиморфизм — на интерфейсах. Вместо классического наследования используют композицию.
Читать ответStop the World — краткая остановка выполнения Go-кода для согласованных действий runtime, в частности отдельных фаз GC. Большая часть работы GC может идти конкурентно.
Читать ответНужно исправить тип параметра канала, убрать лишний mutex и закрыть канал после WaitGroup. Бесконечный цикл сейчас не достигает wg.Wait.
Читать ответВ Go есть bool, строковые и числовые типы, а также составные формы: массивы, срезы, map, структуры, указатели, каналы, функции и интерфейсы.
Читать ответУточните стек backend отдельно от мобильных клиентов. Android и iOS — клиентские платформы, а не исключения внутри списка серверных языков.
Читать ответAppend увеличивает длину слайса; если capacity недостаточно, выделяет новый базовый массив, копирует элементы и возвращает новый дескриптор. Точная формула роста не является контрактом Go.
Читать ответСильная сторона Go — сочетание простого языка, горутин, каналов, стандартных сетевых библиотек и единого набора инструментов. Не каждый элемент уникален сам по себе.
Читать ответКанал Go — типизированный механизм передачи значений и синхронизации горутин. Его создают через make, а операции могут ждать готовности второй стороны.
Читать ответ