Golang
Qu'est-ce qu'une map en Go ? Comment est-elle structurée (nouvelle implémentation dans Go 1.24) ?
Qu'est-ce que etcd et pourquoi a-t-il été choisi comme stockage pour Kubernetes ? Quelles propriétés possède-t-il ?
Go peut-il détecter un deadlock ? Comment le runtime de Go détecte-t-il un deadlock ?
De quoi sont responsables les StatefulSets et quand sont-ils utilisés?
Lors du recalcul du hachage, le hachage reste-t-il le même ou en est-il un nouveau pour la clé?
Qu'est-ce que la concurrence et le parallélisme ? En quoi diffèrent-ils ? Peuvent-ils coexister ?
Quelle quantité de mémoire occupe le type bool?
Parle des slices en Go.
Que résout Repeatable Read et que ne résout pas ? (anomalie de Repeatable Read)
Comment fonctionne GOMAXPROCS et à quoi sert P (processeur) dans le modèle GMP?
/* Il y a deux serveurs PostgreSQL : * PROD - serveur OLTP, * STATS - serveur pour des requêtes analytiques longues. Sur le serveur actuel, dans la base de données prod, il y a une grande table (10Tb) de la forme suivante : CREATE TABLE profiles( id SERIAL, data JSONB ) La table peut contenir des "trous", c'est-à-dire que certains `id` peuvent être manquants. Il faut écrire un programme pour copier la table profiles de PROD à STATS. On suppose que l'on utilisera les interfaces suivantes pour travailler avec les bases de données : type Row []interface{} type Database interface { // l'implémentation de l'interface Database peut rétablir les connexions // l'appel à SaveRows est idempotent io.Closer GetMaxID(ctx context.Context) (uint64, error) LoadRows(ctx context.Context, minID, maxID uint64) ([]Row, error) // [minID, maxID] SaveRows(ctx context.Context, rows []Row) error } func Connect(ctx context.Context, dbname string) (Database, error) // CopyTable // Si full=false, continuer le transfert de données depuis le point de l'erreur précédente // Si full=true, transférer toutes les données func CopyTable(fromName string, toName string, full bool) error { // ... votre code } Si l'option `full=false` est passée, le programme doit continuer le transfert de données depuis le point de l'erreur précédente. Si `full=true`, il doit transférer toutes les données. **Niveau de base** : - transfert séquentiel des données en un seul flux - récupération après erreur (option `full=false`) Informations supplémentaires : - si nécessaire, vous pouvez étendre l'interface en ajoutant vos propres méthodes - si nécessaire, vous pouvez utiliser directement le package **database/sql**
Que faisiez-vous avec le retard du consommateur lors de la reconfiguration ou de l'arrêt du service?
Que se passe-t-il en cas de collisions de hachage dans une map ?
Avez-vous examiné les grands entrepôts, et les dark stores faisaient-ils également partie de votre analyse?
Sur combien d'instances/conteneurs le service fonctionnait-il?
func maxPlaces(arr []int) int { maxDistance := 0 prev, first := -1, -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if first == -1 { first = i maxDistance = max(maxDistance, i) } else { maxDistance = max(maxDistance, (i - prev) / 2) } prev = i } } maxDistance = max(maxDistance, len(arr) - 1 - prev) return maxDistance }
Quelle est la différence entre JSON et JSONB dans PostgreSQL?
À quoi servent réellement les index ?
Que se passe-t-il lors de l'enregistrement d'une valeur dans une map avec la clé 123 ? Comment la valeur est-elle stockée ?
Vous avez un gros fichier avec des millions d'URL d'images. Vous devez toutes les télécharger et les stocker sur le disque. Comment organiseriez-vous le code pour que le téléchargement soit rapide, que l'ordinateur ne plante pas, que le programme ne redémarre pas, et que le service externe ne soit pas bloqué pour des requêtes trop fréquentes?