Golang
Откуда взялось 5k RPS?
Как 146% распределяется по 10 ядрам?
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() }
Почему HTTP работает поверх TCP, а не UDP?
В чём отличие между Kafka и RabbitMQ?
Как можно использовать встроенные структуры для имитации наследования в Go?
Как вы выбираете способ решения сложной задачи? Как принимаете архитектурные решения?
Вопрос о медленном сервисе На примере создания заказа. Есть запрос на сервис и есть ответ, между этими двумя действиями мы складываем в аналитику товары которые заказали (например для подсчета популярности товаров). Сервис аналитики периодически работает медленно или вовсе таймаутит, и мы не успеваем ответить, теряем заказы. Что делать, что бы перестать терять заказы, и деньги соответственно? Придумать как распараллелить заказ и аналитику.
Расскажи про опыт работы с базами данных — кроме ClickHouse, какие базы и насколько глубоко?
Где выделяется память для слайса — на стеке или в куче?
Что выведет программа? Почему? ```go func main() { timeStart := time.Now() _, _ = <-worker(), <-worker() println(int(time.Since(timeStart).Seconds())) } func worker() chan int { ch := make(chan int) go func() { time.Sleep(3 * time.Second) ch <- 1 }() return ch } ```
Готовы ли вы участвовать в проведении технических интервью в будущем?
Можешь привести последний пример задачи, от которой ты кайфанул?
Какие архитектурные паттерны вы применяли в своей работе?
Что такое consumer group в Kafka? Что такое партиции и зачем они нужны?
Можешь привести пример развивающего фидбэка, который тебе давал руководитель?
Какие механизмы защиты от медленных внешних сервисов существуют? Что такое Circuit Breaker?
Как устроен слайс в Go? Расскажите о внутренней реализации, подводных камнях и нюансах.
Что происходит при вводе URL в браузере? Как работает DNS-резолвинг?
Что за проект был на последнем месте работы? Какой функционал ты выполнял?