3 вопросов
-
middle theory Объясни модель concurrency в Go: goroutines vs threads, channels, select. Когда buffered, когда unbuffered? Что такое "share by communicating"?
-
senior theory Зачем `context.Context` в Go? Как правильно использовать в HTTP-хендлерах, БД-вызовах, gRPC? Что делает `ctx.Done()`?
-
middle theory Error handling в Go: явный `if err != nil`, sentinel errors, wrap через `%w`, `errors.Is`, `errors.As`. Когда что использовать?