Вернуться в видеотеку

Открытое собеседование на Middle Go-разработчика

Кандидат отвечает на вопросы о срезах, каналах, типах времени и средствах синхронизации Go, а затем решает задачи с пулом и ограничением времени обработки. В конце обсуждается текущий опыт кандидата.

Источник: Эйч Навыки — менторская программа

Открыть на YouTube

Коротко о видео

Это открытое мок-собеседование на Middle Go-разработчика с платформенной секцией. После знакомства интервьюер объясняет, что будет проводить разговор, и переходит к вопросам по языку. Кандидат рассуждает о поведении неинициализированного канала: чтение не вызывает панику, но блокируется навсегда. Далее проверяются различия констант и переменных при приведении к time.Duration, а также каналы, mutex и атомарные операции как средства синхронизации. В практическом блоке участники обсуждают структуру реализации пула и ограничение времени обработки заказов через select с ticker; также упоминается вариант с context. В финале кандидат рассказывает о работе в небольшом ecommerce-стартапе.

Затронутые темы

Что взять на заметку

  • Чтение из nil-канала блокируется, поэтому его нужно отличать от ситуации с паникой.
  • При работе с time.Duration важно понимать различие констант, переменных и приведения типов.
  • Каналы, mutex и атомарные операции решают разные задачи синхронизации.
  • Тайм-аут операций в Go можно моделировать через select и механизм времени.
  • В задаче на пул стоит сначала определить хранение состояния и конструктор.

Рекомендуем посмотреть