Comment garantir la cohérence des données : que le message soit enregistré dans la base de données et livré au destinataire?
Golang
Comment l'interface est-elle structurée à l'intérieur (en mémoire) dans Go?
Qu'est-ce que le protocole HTTP ? De quelles parties se compose une requête HTTP ? Qu'est-ce que les en-têtes, les cookies ?
Que se passe-t-il sur le réseau lorsque vous saisissez https://wildberries.ru dans le navigateur ? Décrivez le processus de résolution DNS.
Quelle est la différence entre TCP et UDP ? Pourquoi TCP est-il utilisé pour HTTPS ?
Avez-vous des questions pour nous?
Y a-t-il eu des douleurs avec la séparation de la base de données unifiée?
Que devons-nous faire pour que tu voies une haute culture d'ingénierie?
Quels moyens de synchronisation des goroutines existent en Go ? Corrigez l'exemple avec la course en utilisant atomic
Qu'est-ce que la variable GOMAXPROCS en Go ? Un programme peut-il utiliser plus de threads que ce qui est indiqué dans GOMAXPROCS ?
Condition Nous avons une base de données avec les mots de passe des utilisateurs, les mots de passe sont hachés (fonction hashPassword), et nous connaissons également l'ensemble des caractères pouvant être utilisés dans les mots de passe (variable alphabet). Notre tâche est d'implémenter la fonction RecoverPassword pour qu'elle restaure le mot de passe à partir du hash connu et que TestRecoverPassword se termine avec succès. Exigences de base: N'importe quelle méthode est acceptable package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPassword(exp) act := RecoverPassword(h) if act != exp { fmt.Printf("Erreur : attendu %q, obtenu %q\n", exp, act) ok = false } } if ok { fmt.Println("Tous les tests ont réussi") } }
Quelles primitives de synchronisation connaissez-vous dans les systèmes d'exploitation?
Comment tuer un processus sous Linux ? Que faire si kill pid ne fonctionne pas ?
Nous avons une base de données avec des mots de passe utilisateur, les mots de passe sont hachés (fonction hashPassword), et nous connaissons également l'ensemble des caractères pouvant être utilisés dans les mots de passe (variable alphabet). Notre tâche est d'implémenter la fonction RecoverPassword pour qu'elle restaure le mot de passe à partir du hash connu et que TestRecoverPassword réussisse. Exigences de base: Tout moyen est acceptable package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func RecoverPassword(h []byte) string { return "" } func hashPassword(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() {
Comment avez-vous utilisé Kafka et RabbitMQ comme brokers ? Pourquoi deux ?
Avez-vous déjà eu quelque chose que vous avez fait longtemps, mais qui finalement n'a pas été mis en œuvre ou a été repoussé dans la pile?
À quelle fréquence effectuiez-vous des revues de code dans l'équipe?
À quoi sert un broker de messages (Kafka) ? Comment s'intègre-t-il dans l'architecture ?
Que souhaitez-vous davantage en ce moment : développement de produits ou développement de plateformes?
Comment fonctionne une table de hachage ? Quelle est la complexité de l'insertion et de la lecture ? Caractéristiques de l'implémentation en Go.