Ответ
Разрабатываю на Go более 3 лет, преимущественно backend-сервисы и микросервисы. Основной стек: Go, PostgreSQL, Redis, Kafka, Docker, Kubernetes.
Последний проект — highload API для финтех-стартапа. Оптимизировал запросы к БД, снизив latency на 40%, внедрил graceful shutdown и circuit breakers.
Пример кода для graceful shutdown:
func main() {
server := &http.Server{Addr: ":8080"}
go func() {
if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
log.Fatal(err)
}
}()
quit := make(chan os.Signal, 1)
signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
<-quit
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
if err := server.Shutdown(ctx); err != nil {
log.Fatal("Server forced to shutdown:", err)
}
}
Также есть опыт в code review, настройке CI/CD и работе с распределёнными системами.
Видео-ответы
▶
▶
▶
▶