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() }
Kutubxona modelini tasvirlash kerak. 3 ta mavjudot mavjud: "Muallif", "Kitob", "O'quvchi". -- Fiziologik jihatdan, faqat bitta kitob bor va faqat bitta o'quvchiga tegishli bo'lishi mumkin. -- Bir kitobning bir nechta muallifi bo'lishi mumkin.
Qachondan boshlab mavjud bo'lasiz?
Umuman olganda, ko'rinishni oshirish uchun qanday loyiha qilishni xohlaysiz: qaysi yondashuvlar, jarayonlar va vazifalar bilan?
Socketlar nima va ular qanday bo'ladi?
Go rejalashtiruvchisi haqida gapirib bering, u qanday ishlaydi va qaysi algoritmni ishlatadi.
Ikki bo'lakni elementlar bo'yicha tenglik operatori bilan to'g'ridan-to'g'ri taqqoslash mumkinmi?
Texnik rivojlanishingizni qanday ko'rasiz? Nima o'rganishni xohlaysiz?
PostgreSQL'da qanday tranzaksiya izolyatsiya darajalari bilan ishladingiz?
NUMERIC ishlatmasdan suzuvchi nuqta muammosidan qanday qochish mumkin? INT turi bilan alternativ yondashuv nima?
Har bir foydalanuvchi uchun 1000 yoki undan ko'p bo'lgan narxlar bilan buyurtmalar sonini, buyurtmalar soniga qarab kamayib boradigan tartibda qaytaradigan SQL so'rovini yozing: +---------+--------------+ | user_id | order_count | +---------+--------------+ | 111 | 2 | | 222 | 1 | | 333 | 1 | +---------+--------------+
Gorutinalar orasida o'tishni qanday usullarni bilasiz? Qo'lda gorutinalarni qanday o'tkazish mumkin?
Qoidalar dvigateli qanday ishlardi?
Qaysi tranzaksiya izolyatsiya darajalari mavjud? Moliyaviy operatsiyalar uchun qaysi biri ishlatiladi?
So'nggi ish joyingizdan nima uchun ketdingiz?
Range ni foydalanib, satr bo'ylab yurish va baytlarni o'rniga rune olish mumkinmi?
PostgreSQL'da uzoq/tez ishlaydigan so'rovlar bilan qanday kurashdingiz?
Hozirgi ishda maoshdan tashqari nimga e'tibor qaratmoqdasiz?
Jamoa jamoa rahbarligi yoki murabbiylik tajribangiz bormi?
Mentorlik tajribangiz qanday o'tdi, qulay his qildingizmi?