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() }
Китепкана моделин сүрөттөшү керек. 3 объект бар: "Автор", "Китеп", "Окуучу". -- Физикалык жактан, бир гана китеп бар жана ал бир окуучуга гана таандык болушу мүмкүн. -- Бир китепке бир нече авторлор болушу мүмкүн.
Кайдан баштап жеткиликтүү болосуз?
Жалпысынан алганда, кайсы долбоорду көбүрөөк көрүүчүлүктү арттыруу үчүн каалайсыз: кайсы жактар, процесстер жана тапшырмалар менен?
Сокеттер эмне жана кандай түрлөрү бар?
Go пландоочуусу жөнүндө айтып бериңиз, ал кантип иштейт жана кайсы алгоритмди колдонуп жатат.
Эки кесим тікелей теңдік операторымен салыстыруға бола ма?
Техникалык өнүгүүңдү кандай көрөсүң? Нени үйрөнгүң келет?
PostgreSQL-деги транзакциялардын кайсы деңгээлдери менен тааныш болдуңуз?
NUMERIC колдонбостон учуу чекитинин маселесинен кантип качууга болот? INT түрү менен альтернативдүү ыкма кандай?
Жаз SQL суроо, ал ар бир колдонуучунун буйрутмалар санын кайтарат, алардын жалпы баасы 1000 же андан жогору болгон учурда, буйрутмалар санына карата тескери тартипте: +---------+--------------+ | user_id | order_count | +---------+--------------+ | 111 | 2 | | 222 | 1 | | 333 | 1 | +---------+--------------+
Goroutine'лерди которуу үчүн кандай жолдорду билесиң? Горутина'ны кол менен кантип которсо болот?
Ережелер кыймылдаткычы кандай иштеди?
Транзакциялардын изоляция деңгээлдери кандай? Каржылык операциялар үчүн кайсыны колдонуу керек?
Акыркы иш ордуңузду эмне үчүн таштадыңыз?
Range пайдаланып, жолды айналып өтіп, байттарды алмаштырып, руна instead?
PostgreSQL-де узак/аяң сурөттөмөлөр менен кантип иштештиңиз?
Азыр иште эмне маанилүү, маңдайлыктан тышкары, кайсы нерсеге көңүл бурасыз?
Тим жетекчилиги же окутуучу катары тажрыйбаңыз барбы?
Менторлук тажрыйбаңыз кандай болду, ыңгайлуу сездинбиңиз?