25:41Разбор Go-собеседования: конкурентность и споры с интервьюером
Автор разбирает ответы Go-кандидата о назначении языка, конкурентности и рантайме, а также спор о race condition.
Кандидат объясняет назначение Go для I/O-нагруженных сервисов, отличие goroutine от системных потоков и устройство runtime. Интервьюер уточняет race condition, data race и другие риски параллельности.
Источник: it father.
Открыть на YouTubeВ этой короткой записи проводится техническое собеседование Go-разработчика. Интервьюер начинает с вопроса о том, зачем создавали Go при наличии других языков, и кандидат связывает его с микросервисами и большим объёмом операций ввода-вывода. Далее обсуждаются ограниченный набор языковых сущностей, каналы и goroutine. Ведущий просит отличить легковесную goroutine от системного потока, а затем перейти к контекстным переключениям и составным частям Go runtime, включая планировщик. Финальный блок посвящён проблемам конкурентности: race condition, data race, deadlock, livelock и starvation. Интервьюер возвращает кандидата к неточным формулировкам, чтобы проверить понимание того, когда nondeterministic-поведение становится ошибкой.
25:41Автор разбирает ответы Go-кандидата о назначении языка, конкурентности и рантайме, а также спор о race condition.
47:17Мок-собеседование Go-разработчика уровня Middle/Senior: goroutine и планировщик Go, синхронизация, context, PostgreSQL, Kafka и микросервисы.
1:31:09Мок-собеседование на Middle Go-разработчика: устройство map и каналов, конкурентность и планировщик Go, panic/recover, PostgreSQL и индексы, микросервисы, SOLID и контейнеризация.