Какой флаг go test показывает покрытие кода в процентах?
Процент покрытия показывает go test -cover. Для отчёта по строкам создайте профиль через -coverprofile и откройте его командой go tool cover.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Процент покрытия показывает go test -cover. Для отчёта по строкам создайте профиль через -coverprofile и откройте его командой go tool cover.
Читать ответЗапись в nil-map вызывает panic: assignment to entry in nil map. Перед записью её нужно создать через make или литерал.
Читать ответФормат первого этапа лучше уточнить у интервьюера: алгоритмы, практический Go, разбор кода или смешанный вариант. По названию позиции предсказать его нельзя.
Читать ответEscape analysis определяет, может ли значение оставаться в стеке или его нужно разместить в куче. Это влияет на число аллокаций и нагрузку на сборщик мусора.
Читать ответПрограмма небезопасна: горутины одновременно пишут в обычную map, а sleep не гарантирует завершение. Нужны синхронизация записей и явное ожидание.
Читать ответНазовите сильные стороны Go и конкретные неудобства из собственной работы, объясняя компромиссы. Вопрос проверяет осознанность выбора, а не готовность хвалить язык без оговорок.
Читать ответКаналы Go передают типизированные значения и помогают синхронизировать горутины. Они бывают буферизированными и небуферизированными, двунаправленными и с ограниченным направлением.
Читать ответКратко подтвердите актуальное место работы или исправьте устаревшую информацию, затем обозначьте роль и основные задачи. Подробности перехода можно обсудить отдельно.
Читать ответЧитайте файл потоково и храните только 10 лучших записей. При равном score сохраняйте более раннюю запись; весь файл загружать в память не требуется.
Читать ответИспользуйте fmt.Errorf с %w, чтобы добавить контекст и сохранить цепочку ошибки. Проверяйте причину через errors.Is или извлекайте тип через errors.As.
Читать ответGo использует M:N-планирование горутин поверх потоков ОС и балансировку готовой работы, включая work stealing. Это не один поток на горутину и не только кооперативная модель.
Читать ответИсходный main содержит гонку по max и не ждёт горутины. Для диапазона 1…n максимум находится без параллелизма: это n, если оно чётное, иначе n−1.
Читать ответ