Go lang middle interview | Интервью на позицию Go lang middle
Запись мок-интервью Go middle с теоретическим блоком, обсуждением API и тестирования, практикой на бинарном поиске и разбором того, как устроены технические интервью.
Это мок-интервью на позицию Go middle: кандидат с опытом C++ отвечает на вопросы о свойствах Go, сборке мусора, goroutine, каналах, тестировании и проектировании API. Интервьюер уточняет различия REST и RPC, подходы к аутентификации, интеграционным и нагрузочным тестам, затем даёт задачу на бинарный поиск и разбирает решение. В финале обсуждаются критерии алгоритмических секций и то, как кандидату заранее выяснить формат технического интервью.
Для Go middle нужно уметь на верхнем уровне объяснить GC, runtime-планировщик goroutine и назначение каналов, не сводя каналы к универсальной замене всех структур данных.
При передаче большого массива или текста между goroutine важно обсудить владение данными и синхронизацию; копирование или отправка крупных структур по каналу не всегда оправданны.
Для интеграционного теста API недостаточно описать HTTP-запросы: нужно поднять тестовый экземпляр сервиса, определить работу зависимостей и обеспечить запуск в CI без ручного интерфейса.
REST стоит объяснять как стиль проектирования API вокруг ресурсов и семантики операций, а RPC — как вызов удалённых процедур; различие не исчерпывается использованием HTTP.
При обсуждении API-безопасности нужно разделять публичные и защищённые endpoint’ы, а также stateful-сессии и stateless-подходы с токенами или криптографической подписью.
Нагрузочный тест должен воспроизводить реалистичные пользовательские сценарии и распределение запросов, например по логам или записанным пользовательским действиям, а не многократно вызывать один endpoint.
В бинарном поиске нужно корректно задать границы, условие завершения и сдвигать их за уже проверенный midpoint; на интервью полезно заранее уточнить критерии оценки и формат задачи.