Что произойдёт при чтении из закрытого канала в Go?
Как прорабатываете архитектуру — есть ли архитектор в команде, платформа, комитет?
В чём отличие между Kafka и RabbitMQ?
На основании чего делали партиционирование в Amazon Athena?
Как можно использовать встроенные структуры для имитации наследования в Go?
Как вы выбираете способ решения сложной задачи? Как принимаете архитектурные решения?
В какой момент вы даёте ACK? Сразу при получении или после обработки?
Как справлялся с долгими/медленными запросами в PostgreSQL?
Что такое сущность Service в Kubernetes?
Слышали ли вы про Domain-Driven Design (DDD)? Был ли у вас опыт применения паттернов из DDD?
Почему HTTP работает поверх TCP, а не UDP?
Расскажи про сборщик мусора в Go
var defaultTxOptions = &sql.TxOptions{} const defaultCurrency = "RUB" func CreateUserWithDefaultCurrency(ctx context.Context, db *sql.DB, email, passwordHash string) error { tx, err := db.BeginTx(ctx, defaultTxOptions) if err != nil { return err } defer func() { if err != nil{ tx.Rollback() } }() _, err = tx.Exec("INSERT INTO users (email, password) VALUES (?, ?)", email, passwordHash) if err != nil { return err } rows, err := tx.Query("SELECT id FROM users WHERE email = ?", email) if err != nil { return err } defer rows.Close() id := 0 for rows.Next() { err = rows.Scan(&id) if err != nil { return err } } _, err = tx.Exec("INSERT INTO balances (user_id, currency, current_balance) VALUES (?, ?, 0)", id, defaultCurrency) if err != nil { return err } return tx.Commit() }
Были ли у вас с руководителем регулярные встречи в формате one-to-one?
Как найти количество полигонов/вершин объектов в Blender?
В чем основное различие Kafka от RabbitMQ?
Чем отличается INNER JOIN от LEFT/RIGHT JOIN?
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("Все тесты пройдены успешно") } } Для корректного исполнения кода: входная точка -- функция main в пакете main Задача: Реализовать функцию RecoverPassword, которая по MD5-хэшу восстанавливает исходный пароль, состоящий из символов из заданного алфавита.
Откуда взялось 5k RPS?
Как работает хеш-таблица?