Mi az a string a Go-ban? Milyen a szerkezete és jellemzői?
Golang
Meséljen az új map megvalósításáról Go-ban (Swiss Tables). Milyen ütközéskezelési módszerek léteznek?
// Azt kell módosítani az ap függvényen, hogy a 6 benne legyen a kiírt szeletben, és a szelet rendezett legyen // Fontos - az ap függvény nem ad vissza semmit package main import ( "fmt" ) func main() { v := []int{3, 4, 1, 2, 5} ap(v) fmt.Println(v) // a várt eredmény - [3 4 1 2 5 6] } func ap(arr []int) { arr = append(arr, 10) arr[5] = 6 }
Mi az a goroutine? Miben rejlik a könnyedsége?
Milyen adatbázis-kérdések optimalizálási módszereit használtad? Mit néztél az EXPLAIN ANALYZE-ben és a lekérdezési tervben?
Milyen adattípusok a Go-ban alapértelmezés szerint nil értéket vehetnek fel?
Hogyan történik az adatok átvitele egy nem pufferelt csatornán keresztül? Van-e benne puffer?
Mi az a goroutine-kontekstus váltás? Ki hajtja végre?
Honnan származik a memória a változók számára? Mi az a memóriafoglaló?
Általános kérdés: felkészülés az interjúra és kérdésforrások
Mi blokkolja a mutexet egy csatornában - egy goroutine vagy egy memória terület?
Mi történik, ha egy nem inicializált csatornát zárunk be?
Hogyan csökkenthető a garbage collector hívásainak gyakorisága? Milyen optimalizációs módszereket ismer?
Miért szükséges egy csatorna buffer nélküli átvitelnél, ha az adatok puskából puskába mennek? Milyen szerepet tölt be a csatorna?
Meséljen a munkatapasztalatáról és a technológiai stackjéről
Hogyan működik a mutex egy pufferelt csatornában? Mit véd?
Mi az előnye a Swiss Tables-nek a régi hash tábla megvalósításhoz képest? Hány bitet foglal el a hash-kód a régi és az új megvalósításban?
Milyen típusú multitaskingot használ a Go ütemező? Milyen két típusú multitasking létezik?
Mi az az escape-analízis? Hogyan határozza meg, hogy a változó hol lesz elhelyezve (verem vagy halom)?
Milyen feladatokat végeztek Kafka-val? Hogyan állították be a szállítási garanciákat (exactly-once)?