Golang
Как найти PID процесса?
Сколько лет уже в Go?
Почему решили вынести логику сегментации в отдельный микросервис?
Расскажи о своём опыте работы и стеке технологий
При переполнении map создаётся новая цепочка бакетов. Расскажи, что происходит со старыми и новыми ключами при переносе? Почему данные переносятся лениво, а не сразу как в slice?
Как у вас проходит code review? Как решаете споры на ревью?
В чём разница между Mutex и RWMutex?
Расскажи подробнее про ООП и его основные принципы (полиморфизм, интерфейсы)
Если представить, что прошёл год в компании — что должно произойти, чтобы ты понял, что правильно сюда попал?
Рассматриваешь ли работу в Челябинске (офис или удалённый формат)?
Что такое load balancer и в чём разница между ingress и egress балансировкой?
Почему mutex не подходит для distributed lock?
Когда вы готовы выйти на работу? Нужно ли вам время на отдых после увольнения?
Как использовался RabbitMQ и ClickHouse?
Что произойдет при закрытии неинициализированного канала?
Уточнение зоны ответственности: стейт-машина, Transactional Outbox, оптимистичные блокировки
Что делает систему высоконагруженной? Опираясь на свою экспертизу.
// Вопрос 2. Что выведет на экран package main import "fmt" func main() { { defer fmt.Println(1) } defer fmt.Println(2) panic("aaaa") defer func(){ if r := recover(); r != nil{ fmt.Println("Паника обработана", r) } }() }
Как top считает CPU%? По какому алгоритму?
У нас есть база данных с паролями пользователей, пароли захешированы (функция hashPassword), а так же известен набор символов которые могут быть использованы в паролях (переменная alphabet). Наша задача реализовать функцию RecoverPassword так, чтобы она восстанавливала пароль по известному хэшу и TestRecoverPassword завершился успешно Базовые требования: Решить как угодно package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPassword(exp) act := RecoverPassword(h) if act != exp { fmt.Printf("Ошибка: ожидалось %q, получено %q\n", exp, act) ok = false } } if ok { fmt.Println("Тесты пройдены успешно") } }