Co je řetězec v Go? Jaká je jeho struktura a vlastnosti?
Golang
Co je to gorutina? V čem spočívá její lehkost?
Jaké metody optimalizace dotazů do databází jste použili? Co jste sledovali v EXPLAIN ANALYZE a v plánu dotazu?
Povězte nám o nové implementaci map v Go (Swiss Tables). Jaké metody řešení kolizí existují?
// Je třeba upravit funkci ap tak, aby do výstupního pole bylo zahrnuto číslo 6 a pole bylo seřazeno // Důležité - funkce ap nic nevrací package main import ( "fmt" ) func main() { v := []int{3, 4, 1, 2, 5} ap(v) fmt.Println(v) // očekávaný výsledek je - [3 4 1 2 5 6] } func ap(arr []int) { arr = append(arr, 10) arr[5] = 6 }
Co je to přepínání kontextu gorutin? Kdo ho provádí?
Jaké datové typy v Go mohou přijímat výchozí hodnotu nil?
Obecná otázka: připravenost na pohovor a zdroje otázek
Jaký typ multitaskingu používá plánovač Go? Jaké dva typy multitaskingu existují?
Na co je kanál v nepřerušované přenosu, pokud data jdou ze zásobníku do zásobníku? Jakou roli plní kanál?
Jaké jsou výhody Swiss Tables ve srovnání se starou implementací hash tabulky? Kolik bitů zabírá hash kód ve staré a nové implementaci?
Co je to escape analýza? Jak určuje, kde bude proměnná umístěna (zásobník nebo halda)?
Odkud pochází paměť pro proměnné? Co je alokátor paměti?
Jak probíhá přenos dat přes nebufferovaný kanál? Má nějaký buffer?
Co blokuje mutex v kanálu - goroutine nebo oblast paměti?
Jak lze snížit frekvenci volání garbage collectoru? Jaké optimalizační metody znáte?
Co se stane při uzavření neinicializovaného kanálu?
Jaké úkoly jste s Kafka vykonával? Jak jste nastavili záruky doručení (exactly-once)?
Jak funguje mutex v bufferovaném kanálu? Co chrání?
Povězte mi o své pracovní zkušenosti a technologickém stacku