[имя] спросил: работали ли вы с уровнями кэширования — in-memory и распределёнными? знаете ли вы про каналы и select в Go?
Почему процесс может получить Out of Memory, даже если память показывает free?
Почему ушёл из [компания]?
Type Assertion — для чего нужна конструкция?
Находишься в активном поиске работы или точечно смотришь предложения?
Что такое etcd и почему его выбрали как хранилище для Kubernetes? Какими свойствами обладает?
Есть ли договорённости с другими работодателями или пока проходишь этапы интервью?
Как реализовать graceful shutdown? Как понять что пора делать graceful shutdown?
Что было самым сложным и самым интересным в переезде с монолита на микросервисы?
Какие тесты считаешь самыми эффективными?
Укажите, какой вывод получит данная программа, и дайте пояснение её работы, учитывая особенности каналов и горутин. ```go func main() { ch := make(chan struct{}) ch <- struct{}{} go func() { <-ch fmt.Println("good") }() } ```
Расскажи про пакет context в Go. Для чего нужны контексты?
Расскажи про свой последний проект — что он из себя представляет, чем конкретно ты там занимаешься?
Расскажите про MVCC (Multi-Version Concurrency Control) в PostgreSQL.
Что важно в работе, по какому критерию рассматриваешь новое место?
Можно ли вызвать WaitGroup.Add внутри горутины, а Done в конце? Будет ли это работать корректно?
На какой из нагрузок (CPU-bound или I/O-bound) в Go можно запустить наибольшее количество горутин?
Где ставить COMMIT и ROLLBACK в воркере?
В чём разница между интерпретируемым языком (Python) и компилируемым (Go)? Какие факторы влияют на выбор?
Что такое составные индексы и имеет ли значение порядок столбцов?