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() }
Jāapraksta bibliotēkas modelis. Ir 3 entītijas: "Autors", "Grāmata", "Lasītājs". -- Fiziiski ir tikai viena grāmata un tā var piederēt tikai vienam lasītājam. -- Viena grāmata var būt ar vairākiem autoriem.
No kura brīža būsi pieejams?
Kopumā, kādu projektu vēlētos, lai palielinātu redzamību: ar kādām pieejām, procesiem un uzdevumiem?
Kas ir soketi un kādi tie ir?
Pastāstiet man par Go plānotāju, kā tas darbojas un kādu algoritmu tas izmanto.
Vai ir iespējams tieši salīdzināt divas šķēles ar vienlīdzības operatoru elementu pēc elementa?
Kā tu redzi savu tehnisko attīstību? Ko vēlies iemācīties?
Ar kuriem transakciju izolācijas līmeņiem esat saskāries PostgreSQL?
Kā izvairīties no peldošā punkta problēmas, neizmantojot NUMERIC? Kāds ir alternatīvs pieejas veids ar tipu INT?
Uzrakstiet SQL vaicājumu, kas atgriezīs katra lietotāja pasūtījumu skaitu ar kopējo cenu lielāku vai vienādu ar 1000, sakārtotu pēc pasūtījumu skaita dilstošā secībā: +---------+--------------+ | user_id | order_count | +---------+--------------+ | 111 | 2 | | 222 | 1 | | 333 | 1 | +---------+--------------+
Kādus veidus zini, kā pārslēgt gorutinas? Kā manuāli pārslēgt gorutinu?
Kā darbojās noteikumu dzinējs?
Kādi ir transakciju izolācijas līmeņi? Kuru izmantot finanšu operācijām?
Kāpēc atstājāt savu pēdējo darbu?
Vai ir iespējams izmantot range, lai pārietu pār virkni un iegūtu baitus vietā rune?
Kā jūs tika galā ar garajām/lēnajām vaicājumiem PostgreSQL?
Kas šobrīd ir svarīgi darbā, papildus algai, kam pievēršat uzmanību?
Vai jums ir pieredze komandas vadīšanā vai mentoringā?
Kā tev gāja ar mentoringa pieredzi, vai juties ērti?