25:41Разбор Go-собеседования: конкурентность и споры с интервьюером
Автор разбирает ответы Go-кандидата о назначении языка, конкурентности и рантайме, а также спор о race condition.
Кандидат проектирует получение данных из кластера из трёх реплик, пишет конкурентное решение на Go и прорабатывает подход к повторным попыткам. Интервьюер разбирает закрытие каналов, утечки goroutine и пограничные случаи.
Источник: it-interview
Открыть на YouTubeЭто мок-собеседование по Go с практической задачей. Интервьюер предлагает представить базу данных с тремя синхронными репликами и написать функцию получения значения по ключу и адресу реплики. Кандидат обходит адреса в цикле, запускает goroutine и передаёт результат через канал. По ходу реализации интервьюер просит идти небольшими шагами: сначала запись и чтение, потом закрытие канала. Отдельно разбирается опасность блокирующей записи после ошибки not found: незавершённые goroutine могут зависнуть и дать утечку. Во второй части кандидат прорабатывает ретраи: выносит запрос в отдельную функцию, обсуждает число попыток, задержку и ошибки, на которых повтор следует прекратить. В финале он получает фидбек о необходимости точнее учитывать неблокирующие операции и пограничные случаи.
25:41Автор разбирает ответы Go-кандидата о назначении языка, конкурентности и рантайме, а также спор о race condition.
1:20:35Интервьюер проводит техническую беседу с Go-разработчиком о map, горутинах и планировщике, затем предлагает задачи по конкурентности. В конце кандидат получает обратную связь по ответам.
47:17Мок-собеседование Go-разработчика уровня Middle/Senior: goroutine и планировщик Go, синхронизация, context, PostgreSQL, Kafka и микросервисы.