Ответ
Разработка высоконагруженного микросервиса для обработки платежей с использованием gRPC и Redis для кеширования. Оптимизировал latency до <50ms при 10k RPS.
Реализация concurrent-пайплайна для обработки логов:
func processLogs(logCh <-chan string, resultCh chan<- Analysis) {
var wg sync.WaitGroup
for i := 0; i < runtime.NumCPU(); i++ {
wg.Add(1)
go func() {
defer wg.Done()
for log := range logCh {
resultCh <- analyze(log)
}
}()
}
wg.Wait()
}
Интеграция с legacy SOAP-сервисом через адаптер на Go с graceful degradation при ошибках. Особенно интересно было работать с context для timeout'ов.
Создание CLI-утилиты для деплоя с прогресс-баром и параллельной загрузкой артефактов. Использовал cobra и multiwriter для красивого вывода.
Видео-ответы
▶
▶
▶