Golang
Mesélj az adatbázis tranzakciókról: miért szükségesek, hol használtad őket?
Mi történik fizikailag a törölt rekordokkal a PostgreSQL-ben? Mikor törlődnek?
package main import ( "crypto/md5" "fmt" ) var alphabet = []rune{'a', 'b', 'c', 'd', '1', '2', '3'} func VisszaállítJelszó(h []byte) string { return "" } func hashJelszó(in string) []byte { h := md5.Sum([]byte(in)) return h[:] } func main() { tests := []string{"a", "12", "abc333d"} ok := true for _, exp := range tests { h := hashJelszó(exp) act := VisszaállítJelszó(h) if act != exp { fmt.Printf("Hiba: várva %q, kapva %q\n", exp, act) ok = false } } if ok { fmt.Println("Minden teszt sikeresen lefutott") } } A helyes kód futtatásához: belépési pont -- main függvény a main csomagban Feladat: Implementálja a VisszaállítJelszó függvényt, amely a MD5 hash alapján rekonstruálja az eredeti jelszót, a megadott ábécé karaktereiből.
Mi az a szemafor és hol szerezhető be Go-ban?
Mi a különbség a heap és a stack között a Go-ban, és hogyan használja mindkettőt?
Milyen stílusú Saga-t használtak: koreográfia vagy hangszerelés?
Mi történik, ha a kapcsolat azt mondja, hogy nincs kapcsolatok? Mit tegyen ilyen helyzetben?
Hogyan voltak beállítva a metrikák? A szolgáltatás küldte a metrikákat vagy gyűjtötte őket?
Mi az adatok igazítása a Go-ban?
Mik a várakozásaid egy új munkahelytől?
Mi a fő programozási nyelved? Mióta dolgozol szakmailag Go-val?
Hogyan írtál a adatbázisba? Egyenként vagy csoportosan?
Mekkora a buffer mérete egy nem bufferelt csatornában?
Mesélj a Go ütemezőjéről. Hogyan működik a blokkoló műveletekkel?
Nevezzen meg tervezési mintákat különböző kategóriákból (kreatív, szerkezeti, viselkedési, párhuzamos programozás), és részletesen ismertesse az egyik kedvencét.
fő csomag import "idő" func munkás() csatorna int { ch := make(chan int) go func() { time.Sleep(3 * time.Second) ch <- 42 }() return ch } func main() { timeStart := time.Now() _, _ = <-munkás(), <-munkás() println(int(time.Since(timeStart).Seconds())) // }
Hogyan oszlanak meg a feladatok a csapatban a backend-ek között?
fő csomag import ( "fmt" ) func main() { c := make(chan string, 1) go fmt.Println(<-c) c <- "Helló Világ!" fmt.Println("Kimenet!") } fatális hiba: minden goroutine alvó állapotban - deadlock! goroutine 1 [csatorna fogadás]: main.main() /tmp/sandbox[phone]/prog.go:10 +0x3a A program kilépett: státusz 2.
Milyen összegtől számítod az ajánlatot?
Ha ez a cache valódi alkalmazásban használták volna, és problémák adódtak volna a teljesítménnyel, hogyan lehetne javítani a megoldást?