Golang
Quelle est la différence entre JOIN et UNION?
Êtes-vous à Moscou?
Pourquoi le service de vérification antifraude a-t-il été ajouté à la zone de responsabilité du candidat?
Combien de microservices y avec lesquels travaillez-vous directement dans votre emploi actuel?
Que penses-tu, quel est le problème avec la solution en mémoire ? Que se passera-t-il si tu redémarres le service ?
Quand faut-il supprimer les index ? Qu'est-ce que la dénormalisation ?
À quoi servent réellement les buckets dans une table de hachage/carte ? Quel est leur rôle fonctionnel ?
Cela signifie-t-il que tout se terminera après ce délai d'attente ? Autrement dit, quelque chose pourrait ne pas fonctionner encore — quel est le problème ici ?
Décrivez le processus de chargement du serveur Linux depuis le démarrage jusqu'à l'exécution du terminal
Charge maximale : 25k lectures / 5k écritures par seconde Volume de nouvelles données : 10 To par an Parallélisme maximal : 120k requêtes simultanées Croissance annuelle des utilisateurs : 30% Latence p99 cible : <150 ms pour les lectures, <400 ms pour les écritures Disponibilité cible : 99,95% Votre tâche est de développer une solution architecturale qui élimine les problèmes actuels, garantit la cohérence et la tolérance aux pannes, et met également en œuvre des mécanismes de traçabilité pour une surveillance complète du cycle de vie de la commande. Décrivez le mécanisme de gestion des défaillances, le plan de migration depuis l'architecture actuelle, et expliquez comment la solution proposée améliorera la fiabilité et la transparence du système.
Qu'est-ce que les canaux en Go et quels sont leurs types?
Y a-t-il un moyen de gérer et d'ajuster le ramasse-miettes stop-the-world en Go?
// tableau des produits: // ID | cnt_view // ----------- // 1 | 100 // deux utilisateurs ont commencé à regarder le produit avec id = 1 en même temps // et dans notre base de données, 2 transactions parallèles ont été lancées // quel sera le résultat? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }
Avez-vous déjà eu à traiter des tâches d'architecture ? Comment les décisions architecturales ont-elles été prises ?
Pourquoi devons-nous interrompre le contexte dans la structure ? Pourquoi terminer les travailleurs ? Nous voulons interrompre la méthode Stop.
Où vont les goroutines lors de leur création : dans la file d'attente locale ou globale du planificateur Go ?
Comment avez-vous effectué la mise à l'échelle des consommateurs Kafka ? Selon quels critères ?
Comment les délais d'attente influencent-ils la réduction de la charge sur l'analytique?
Quel était le projet dans l'entreprise ? Quel microservice y avait-il ?
Index dans PostgreSQL : qu'est-ce que c'est, quels types connais-tu, en quoi B-tree est-il meilleur que Hash ?