Sobes.tech

Code review: кэш на Go с мьютексом. Найди проблемы и предложи улучшения. Условие: нагрузка чтение/запись 80/20.

Middle+
Ozon ФинтехOzon Финтех
11

Расскажи про сборщик мусора в Go

Senior
I-teco
11

Как работает планировщик горутин в Go (GMP модель)? Что такое M в GMP модели?

Senior
Гос крипта
11

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() }

Senior
Wildberries & Russ Bank
11

Как найти количество полигонов/вершин объектов в Blender?

Senior
АЙ-ТЕКОАЙ-ТЕКО
11

В чем основное различие Kafka от RabbitMQ?

Middle
Small
11

Чем отличается INNER JOIN от LEFT/RIGHT JOIN?

Middle
Япоки
11

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-хэшу восстанавливает исходный пароль, состоящий из символов из заданного алфавита.

Senior
Ozon ФинтехOzon Финтех
11

Откуда взялось 5k RPS?

Senior
bip.ru
11

Как работает хеш-таблица?

Middle
VKVK
11

Для чего на практике используют ключевое слово select?

Senior
Flant
11

Напишите SQL-запрос, который выведет **имя клиента**, его **город** и **общую сумму** всех его заказов. В итоговую выборку должны попасть только те клиенты, суммарные траты которых составляют **более 1000** у.е. --- **Схема данных:** 1. **Таблица `customers`:** - `customer_id` (int) – уникальный идентификатор клиента. - `customer_name` (varchar) – имя клиента. - `city` (varchar) – город проживания. 2. **Таблица `orders`:** - `order_id` (int) – уникальный номер заказа. - `customer_id` (int) – ID клиента, совершившего покупку. - `total_amount` (decimal) – сумма конкретного заказа.

Senior
Бюро 1440Бюро 1440
11

В чём разница между буферизованным и небуферизованным каналом в Go?

Senior
Магнит Тех
11

Готовы к релокации в Грузию?

Senior
.wrk
11

Какие типы переменных есть в Go?

Middle
Япоки
11

Что делает команда top под капотом (вопрос от интервьюера)?

Middle+
OZONOZON
11

Можно ли структуру использовать для параметров HTTP-запроса?

Senior
SberAuto
11

Чем опасно долгоживущее TCP-соединение?

Middle+
MAX LTD Group
11

What pipeline?

Middle+
МВидеоМВидео
11

Что ты ждёшь от команды/руководителя? Что он должен сделать, как помочь?

Senior
OZONOZON
11
/371