Golang
Если бы мы сначала прочитали все данные в память и потом только читали, можно ли обойтись без mutex? Имеет ли смысл использовать map в таком сценарии?
func (r *PayoutRepository) save(p Partner) error { _, err := r.db.Exec( fmt.Sprintf("UPDATE partners SET balance = %s, hold = %s WHERE id = %s", p.Balance, p.Hold, p.ID), ) if err != nil { return err } if err := r.eventPublisher.Publish("BalanceChanged", p); err != nil { return err } return nil }
А дефферы в какой момент исполняются?
Для чего делали ручной commit offset вместо автокоммита?
Есть горячая таблица в базе данных, которая постоянно читается. Как работать с индексами в этом случае?
У вас был монолит, который переписывали на микросервисную архитектуру — ты в этом участвовал?
Как передаются параметры функции в Go, в частности слайсы?
А вот тут ты еще пишешь про перекос при другом способе генерации. Можешь рассказать, про что это?
Какой поведенческий паттерн реализуют брокеры сообщений типа Kafka? Расскажи, как устроен этот паттерн (Pub/Sub), какие отношения между сущностями.
В каких случаях defer не будет вызван?
/ * Дана строка, содержащая символы (){}. Нужно определить, является ли входная строка сбалансированной с точки зрения скобок. * / func isBalanced(s string) bool { // TODO: implement this return false } fmt.Println(isBalanced("()")) // -> true fmt.Println(isBalanced("({()})")) // -> true fmt.Println(isBalanced("(()")) // -> false fmt.Println(isBalanced("(()))")) // -> false fmt.Println(isBalanced("({})")) // -> false
Расскажи про строки в Go: какие особенности, как с ними работать? Чем strings.Builder лучше bytes.Buffer для конкатенации строк?
Как контейнеры могут взаимодействовать между собой?
Какие ещё глобальные проблемы есть в коде? Как хранить деньги — можно ли использовать float?
У каждого сервиса своя база данных или есть общие?
Что означает поле issued_at?
Объясни, что за поле inventory_code (код) в таблице книг, что это такое?
Расскажи, что такое FNV (хэш-функция), которую ты использовала?
Определяется ли уровень конкурентности количеством горутин в приложении?
Расскажи, как реализовать шардирование кэша — как по ключу определять, в какую map класть/читать значение?