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() }
Il faut décrire le modèle de la bibliothèque. Il y a 3 entités : "Auteur", "Livre", "Lecteur". -- Physiquement, il n'y a qu'un seul livre et il ne peut appartenir qu'à un seul lecteur. -- Un livre peut avoir plusieurs auteurs.
À partir de quand serez-vous disponible?
En général, quel type de projet aimerais-tu pour augmenter la visibilité : avec quelles approches, processus et tâches ?
Qu'est-ce que les sockets et quels types existent-ils?
Parlez-moi du planificateur de Go, comment il fonctionne et quel algorithme il utilise.
Peut-on comparer deux tranches directement avec l'opérateur d'égalité pour vérifier l'égalité élément par élément ?
Comment vois-tu ton développement technique ? Qu'aimerais-tu étudier ?
Avec quels niveaux d'isolation des transactions dans PostgreSQL avez-vous travaillé?
Comment éviter le problème de point flottant sans utiliser NUMERIC ? Quelle approche alternative avec le type INT ?
Écrivez une requête SQL qui renvoie le nombre de commandes par utilisateur avec un total_price supérieur ou égal à 1000, trié par ordre décroissant du nombre de commandes: +---------+--------------+ | user_id | order_count | +---------+--------------+ | 111 | 2 | | 222 | 1 | | 333 | 1 | +---------+--------------+
Quelles méthodes connais-tu pour basculer entre les goroutines ? Comment basculer manuellement une goroutine ?
Comment fonctionait le moteur de règles?
Quels sont les niveaux d'isolation des transactions ? Lequel utiliser pour les opérations financières ?
Pourquoi avez-vous quitté votre dernier emploi?
Peut-on utiliser range pour parcourir une chaîne et obtenir des octets au lieu de runes ?
Comment gérez-vous les requêtes longues/lentes dans PostgreSQL?
Qu'est-ce qui est important dans le travail maintenant, en plus du salaire, auquel faites attention?
Avez-vous de l'expérience en tant que chef d'équipe ou mentor?
Comment as-tu trouvé l'expérience de mentorat, te sentais-tu à l'aise ?