1. Базы данных:
- Понимание работы с реляционными базами данных (PostgreSQL).
- Умение писать SQL-запросы, включая простые транзакции, `JOIN` и оптимизацию запросов.
- Опыт работы с Redis (базовые знания).
2. Язык программирования Go:
- Уверенные знания синтаксиса языка Go.
- Опыт работы с модулями (`go mod`).
- Понимание стандартной библиотеки Go.
3. Протоколы и API:
- Базовое понимание работы REST API.
- Знание основных сетевых протоколов и их уровней (HTTP, TCP/IP).
4. Конкурентность:
- Знание принципов конкурентного программирования в Go (goroutines, channels).
5. Инструменты и экосистема:
- Базовое представление о Docker и контейнеризации.
- Опыт работы с фреймворками GIN или Echo.
6. Архитектура и проектирование:
- Понимание основных принципов проектирования (SOLID, ООП).
- Знание базовых и расширенных паттернов проектирования.
- Опыт работы с gRPC.
7. Алгоритмы и структуры данных:
- Понимание базовых алгоритмов и их применения.
Дополнительные требования:
- Наличие pet-проектов на GitHub или других платформах, демонстрирующих навыки работы с Go.
- Желание учиться и развиваться в профессиональной среде.
Личностные качества:
- Умение работать в команде.
- Ответственность и организованность.
- Готовность к решению сложных задач.
Примечание:
Предпочтение кандидатам, имеющим практический опыт в использовании перечисленных технологий и подходов.