Golang
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?
Avez-vous déjà eu une expérience en gestion d'équipe?
Parlez-moi des caractéristiques de RPC et gRPC.
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**
Avez-vous écrit ou maintenu des services à haute charge?
Veux-tu te développer dans l'architecture?
Peux-tu parler des goroutines ? Que sais-tu d'elles, quelles sont leurs caractéristiques ?
Quelle est la différence entre les types de données int32, int64 et simplement int?
Avez-vous examiné les grands entrepôts, et les dark stores faisaient-ils également partie de votre analyse?
Êtes-vous prêt à participer à des entretiens techniques à l'avenir?
Quelle est la différence entre JSON et JSONB dans PostgreSQL?
Écrivez une requête : sélectionnez le titre de tous les livres qui sont actuellement en possession des lecteurs
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 ?
Connais-tu le langage C ou C++?
Pouvons-nous passer une tranche en tant que paramètre à une fonction ? Y a-t-il des nuances dans ce type de passage ?
Comment les arguments sont-ils passés à une fonction : par valeur ou par référence?
Explique la différence entre REST, gRPC et GraphQL.
Le poste implique une relocalisation obligatoire à Chypre et un format de bureau à 100 %. Dans quelle mesure cela vous convient-il ?