Sobes.tech

Golang

Es gibt 3 Entitäten: Benutzer, Chat, Nachricht • Der Benutzer hat einen Namen und ein Registrierungsdatum • Der Chat hat einen Namen und ein Erstellungsdatum • Die Nachricht hat Text, Autor und Erstellungsdatum • Ein Benutzer kann gleichzeitig in mehreren Chats sein • Eine Nachricht gehört unbedingt zu einem Chat und kann nicht gleichzeitig mehreren Chats zugeordnet sein • Der Anwendungsbereich soll in Form von Tabellen beschrieben werden

183

Wie ist ein Slice in Go von innen aufgebaut? Wie funktioniert die Funktion append?

183

Was ist ein Race Condition in Go? Geben Sie ein Beispiel.

182

Was sind EXPLAIN und EXPLAIN ANALYZE in PostgreSQL, was ist der Unterschied?

182

Erzähle von einer interessanten oder komplexen technischen Aufgabe, die du gelöst hast

177

Wie viele Jahre Berufserfahrung in der Entwicklung mit Go?

175

Wir haben eine Datenbank mit Benutzerpasswörtern, die Passwörter sind gehasht (Funktion hashPassword), und es ist auch bekannt, welche Zeichen in den Passwörtern verwendet werden können (Variable alphabet). Unsere Aufgabe ist es, die Funktion RecoverPassword zu implementieren, damit sie das Passwort anhand des bekannten Hashes wiederherstellt und TestRecoverPassword erfolgreich ist. Grundlegende Anforderungen: Jede Methode ist erlaubt 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() {

173

Welche HTTP-Methoden gibt es? Welche davon sind idempotent?

171

Hauptpaket importiere ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func PasswortWiederherstellen(h []byte) string { return "" } func hashPasswort(eingabe string) []byte { h := md5.Sum([]byte(eingabe)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPasswort(exp) act := PasswortWiederherstellen(h) if act != exp { fmt.Printf("Fehler: Erwartet %q, erhalten %q\n", exp, act) ok = false } } if ok { fmt.Println("Alle Tests erfolgreich bestanden") } }

170

Wie verläuft der Prozess des Sendens und Empfangens von Nachrichten zwischen zwei Clients? Beschreiben Sie den vollständigen Ablauf.

169

Code-Review: Cache in Go mit Mutex. Finden Sie Probleme und schlagen Sie Verbesserungen vor. Bedingung: Lese-/Schreibbelastung 80/20.

167

package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func WiederherstellenPasswort(h []byte) string { return "" } func hashPasswort(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashPasswort(exp) act := WiederherstellenPasswort(h) if act != exp { fmt.Printf("Fehler: erwartet %q, erhalten %q\n", exp, act) ok = false } } if ok { fmt.Println("Alle Tests erfolgreich bestanden") } } Für die korrekte Ausführung des Codes: Einstiegspunkt -- Funktion main im Paket main Aufgabe: Implementieren Sie die Funktion WiederherstellenPasswort, die das ursprüngliche Passwort anhand des MD5-Hashes wiederherstellt, bestehend aus Zeichen des gegebenen Alphabets.

164

Wie implementiert man einen sanften Shutdown eines Go-Dienstes in Kubernetes beim Deployment einer neuen Version?

163

Beschreiben Sie die Struktur einer HTTP-Anfrage und -Antwort. Wie werden die Antwortcodes klassifiziert?

162

Warum ziehst du neue Angebote in Betracht? Aktive oder passive Suche?

161

Was möchtest du jetzt — was sind deine Erwartungen an die neue Arbeit?

159

Welche Tabellen und Felder werden in der PostgreSQL-Datenbank für diesen Messenger benötigt?

159

Was war das Schwierigste und Interessanteste beim Umstieg von einem Monolithen auf Microservices?

156

Was bedeutet es, wenn der Top-Prozess 150% CPU anzeigt? Ist das normal?

154
/4