Проект: крупная телеком компания. Требуется сильный Go-разработчик в SIP/RTP media gateway (concurrency, сетевой I/O, gRPC, тесты). Опыт VoIP/телекомa (SIP, SDP, RTP) желателен. На протяжении интервью необходимо присутствовать с включенной камерой и выполнять задания на ПК без внешних помощников.

Условия: удаленно (доступность специалиста МСК ±3ч), занятость: фулл тайм. Устройство на 1/1000 в ПАО МТС. Срок подачи резюме указан в объявлении.

Требования:

  • Сильный Go: идиомы, packages, interfaces, error handling
  • Глубокая concurrency: goroutines, channels, context, mutex/atomic, понимание race и утечек
  • Сетевой I/O: TCP/UDP, таймауты, долгоживущие сессии, graceful shutdown
  • gRPC (в т.ч. streaming)
  • Тестирование: unit/integration, понимание race detector
  • Observability: метрики, логи, базовый tracing, pprof
  • Docker, CI, code review
  • Знания в телеком: SIP (диалоги, транзакции, provisional responses, CANCEL, re-INVITE/UPDATE), SDP, RTP/RTCP, B2BUA/media gateway/SBC/softswitch
  • Кодеки: G.711, AMR, EVS (понимание)
  • Опыт поддержки сложных чужих библиотек/форков, CGO/нативные зависимости
  • Опыт Asterisk/Kamailio/WebRTC желателен
  • Опыт работы с high-throughput/low-latency сервисами, оптимизация hot path (alloc, pooling)

Задачи:

  1. Эффективное использование стандартной библиотеки Go и организация кода (модули/пакеты, именование, комментарии)
  2. Написание unit и интеграционных тестов, поддержание качества кода (lint, форматирование)
  3. Оптимизация производительности: профилирование (pprof), уменьшение аллокаций, пуллинг
  4. Разработка микросервисов и межсервисной коммуникации (REST/gRPC)
  5. Обеспечение наблюдаемости, отладки и мониторинга сервисов
  6. Работа с сетевыми и real-time медиасервисами, отладка signaling/media проблем