Проект: крупная телеком компания. Требуется сильный 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)
Задачи:
- Эффективное использование стандартной библиотеки Go и организация кода (модули/пакеты, именование, комментарии)
- Написание unit и интеграционных тестов, поддержание качества кода (lint, форматирование)
- Оптимизация производительности: профилирование (pprof), уменьшение аллокаций, пуллинг
- Разработка микросервисов и межсервисной коммуникации (REST/gRPC)
- Обеспечение наблюдаемости, отладки и мониторинга сервисов
- Работа с сетевыми и real-time медиасервисами, отладка signaling/media проблем