Golang
Есть ли предпочтение — продуктовая команда или платформенная?
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() }
Что такое ACID-свойства транзакций? Расскажите про каждое свойство.
Что такое TLS и зачем нужен сертификат?
Перечислите базы данных, которые знаете, и оцените по 10-балльной шкале.
Что такое слайс в Go?
[имя] спросил: применяли ли вы Clean Architecture?
Как тебе работать с продуктовыми историями, влиянием на пользовательские метрики?
Что такое defer в Go и в какой момент он вызывается?
Какие объёмы данных попадали в ClickHouse?
Могут ли CTE помочь в решении проблемы консистентности двух запросов?
Что такое паника (panic) в Go и чем она отличается от ошибки? Как отловить панику?
Что происходит в INNER JOIN если одной строке слева соответствует несколько строк справа?
Где будут располагаться массив и map — на куче или на стеке?
Как организована коммуникация между микросервисами?
Расскажи про Transactional Outbox паттерн — что это такое и зачем используется?
Как вы решали проблему рассинхронизации данных при миграции между хранилищами?
Вы всё ещё работаете в [компания]?
Что такое MVCC в PostgreSQL и как работают уровни изоляции?
Общаешься ещё с какими-либо компаниями? Есть ли уже офферы?