Матрица компетенций: Go

Hard skills

Skill Passport — Backend
API и сетевые протоколы (Skill Passport)Самостоятельно проектирует REST-эндпоинт с версионированием (например, `/v1/...`) и валидацией входных данных без готового шаблона; может объяснить идемпотентность методов — почему `PUT` идемпотентен, а `POST` нет.
БД/SQLСамостоятельно проектирует схему таблиц с ключами и индексами под новую фичу; находит узкое место в медленном запросе через `EXPLAIN`/`EXPLAIN ANALYZE` и предлагает минимум один вариант оптимизации (индекс, переписанный запрос); объясняет разницу между уровнями изоляции транзакций (READ COMMITTED vs REPEATABLE READ) минимум на одном примере аномалии (dirty read или phantom read), которую они предотвращают.
System DesignМожет декомпозировать задачу вида «нужен сервис для X» на компоненты — не только «нам нужен сервис» без деталей.
Message queuesСамостоятельно подключает и настраивает consumer/producer для готовой очереди под задачу; объясняет разницу между at-least-once и at-most-once доставкой и указывает, какая гарантия нужна для его кейса.
Микросервисная архитектураСамостоятельно выделяет границы нового сервиса по зоне ответственности (bounded context) без готового шаблона; называет минимум два паттерна межсервисного взаимодействия (синхронный REST/gRPC-вызов, событийная асинхронная интеграция) и говорит, когда какой уместен.
Кэширование (Redis)Использует кэширование там, где это снижает число запросов к БД/API минимум вдвое; настраивает TTL и объясняет, зачем он нужен, чтобы не отдавать устаревшие данные бессрочно.
Тестирование кодаСамостоятельно пишет unit- и интеграционные тесты на новую фичу без готового примера, включая минимум один edge case (пустой ввод, граница диапазона, ошибка внешнего вызова); использует моки/стабы для изоляции внешних зависимостей.
Docker/контейнеризацияСамостоятельно пишет Dockerfile для своего сервиса с многоэтапной сборкой (multi-stage build), снижающей размер финального образа; настраивает docker-compose для локального окружения с зависимостями (БД, кэш).
Go (направление)Самостоятельно реализует фичу по спецификации без пошаговой декомпозиции; использует горутины и каналы (или `sync.WaitGroup`/`Mutex`) для конкурентной обработки задач и объясняет, как избежать гонки данных (data race) в своём коде; оборачивает ошибку контекстом при возврате наверх по стеку вызовов (`fmt.Errorf` с `%w`), а не пробрасывает голую ошибку без объяснения, где она возникла.

Soft skills

Skill Passport — Автономность и глубина
Автономность и масштаб задачОписывает случай, когда самостоятельно довёл фичу или модуль от постановки задачи до результата в проде без пошагового контроля — включая случаи, когда сам принимал технические решения по ходу работы, а не только выполнял готовый план. Называет конкретную зону ответственности (что именно делал и за что отвечал), а не общую фразу «участвовал в проекте».
Глубина технических решенийНазывает минимум два реально рассмотренных варианта и объясняет, почему выбрал один из них — аргумент привязан к конкретным деталям своей задачи (объём данных, срок, ограничение инфраструктуры), а не общая теория без применения к ситуации.

Типовые задачи

Практические задачи для собеседования — доступны после регистрации

Зарегистрироваться