ID 3463 - Senior Golang разработчик
пао_мтс · На сервисе с: 25.08.26 15:45
ID 3463 - Senior Golang разработчик
🌍 Локация/гражданство: РФ
💼 Удаленно (Доступность специалиста МСК +- 3ч)
🕔 Занятость: фулл тайм
🏢 Проект: Крупная телеком компания.
Требуется сильный Go-разработчик в SIP/RTP media gateway: concurrency, сетевой I/O, gRPC, тесты. Опыт VoIP/телекома (SIP, SDP, RTP) желателен.
Минимум: готовность быстро освоить SIP/SDP/RTP, если сильный Go.
На протяжении всего интервью необходимо присутствовать с включенной камерой и иметь возможность решать технические задания на ПК без гугл, GPT и помощников.
❗️Устройство на 1/1000 в ПАО МТС
❗️❗️Срок подачи резюме до ••••••••:00 мск
💡 Требования:
- Сильный Go: идиомы, packages, interfaces, error handling;
- Глубокая concurrency: goroutines, channels, context, mutex/atomic, race и leaks;
- Сетевой 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, понимание real-time media;
- B2BUA/media gateway / SBC / softswitch (хотя бы один из доменов);
- Кодеки: G.711, AMR, EVS - на уровне понимания задачи;
- Опыт поддержки сложных чужих библиотек/форков;
- Опыт в телекоме;
- High-throughput/low-latency сервисы;
- Оптимизация hot path (alloc, pooling);
- CGO/нативные зависимости;
- Опыт Asterisk/Kamailio/SIP/RTP/WebRTC;
- Разбор проблем вроде one-way audio, signaling races.
📋Задачи:
1. Стандартная библиотека:
- Знание и эффективное использование стандартной библиотеки Golang, включая пакеты для работы с файлами, сетью, консолью и другими аспектами программирования.
2. Структура и организация кода:
- Модули и пакеты: Использование модулей и пакетов для организации кода, обеспечение разделения ответственности;
- Именование: Придерживание стандартов именования переменных, функций и пакетов для улучшения читаемости кода;
- Комментарии: Добавление комментариев, особенно для сложных участков кода, для облегчения понимания и поддержки.
3. Тестирование и качество кода:
- Unit-тесты: Написание unit-тестов для каждой функции и модуля для обеспечения надежности и возвратности изменений;
- Интеграционные тесты: Разработка интеграционных тестов для проверки взаимодействия различных компонентов системы;
- Code linting и форматирование: Использование инструментов для поддержания единого стиля кода, таких как go fmt и go lint.
4. Оптимизация и производительность:
- Эффективное использование ресурсов: Разработчики должны уметь оптимизировать использование памяти, процессора и сети;
- Профилирование: Использование инструментов для профилирования производительности, таких как pprof, для выявления узких мест.
5. Разработка микро сервисов:
- Архитектура микро сервисов: Умение проектировать и реализовывать архитектуру микро сервисов, обеспечивая независимость и масштабируемость;
- Коммуникация между сервисами: Использование REST, gRPC или других методов коммуникации между микро сервисами.
6. Безопасность:
- Проверка входных данных: Обработка входных данных для защиты от атак типа SQL- инъекций, межсайтового скриптинга и других видов атак;
- Безопасное использование сторонних библиотек: Проверка библиотек на наличие уязвимостей перед их использованием в проекте.
7. Инструменты и среды разработки:
- Редакторы кода: Использование удобных редакторов кода, таких как Visual Studio Code, GoLand, или Atom, с расширениями и плагинами для Golang;
- Системы контроля версий: Знание и использование систем контроля версий, таких как Git, для управления изменениями в коде.
8. Обновление и поддержка:
- Обновление технологий: Следование рекомендациям по обновлению Golang и библиотек, чтобы использовать последние улучшения и исправления;
- Документирование: Создание и поддержание документации для проектов, чтобы облегчить понимание и поддержку кода.
9. Командная работа:
- Сотрудничество: Умение работать в команде, обсуждать и решать проблемы, используя совместные усилия;
- Коммуникация: Эффективное использование инструментов коммуникации для обмена информацией внутри команды и с заказчиками.
10. Учет контекста:
- Контекст использования: Умение применять знания и навыки в новых контекстах, учитывая специфику проекта и требования заказчика.
📨 Отклик — через форму: •••••••• или напрямую рекрутеру ••••••••
❗️Откликайтесь только при релевантном опыте.
❗️При первичном отклике:
ID вакансии / ФИО / локация / возраст / занятость (работаете/нет) / формат работы (удаленка, гибрид, офис) / стек / опыт / резюме / сверка с требованиями
❗️Повторный отклик: ID вакансии + сверка.
#Golang #Удаленно #вакансия
HireSeeker собирает вакансии со всех площадок и присылает только релевантные. Бесплатно.