Golang
Egy menedzser futva jött és azt mondta, hogy a programban hiba van, itt vannak a naplók. Milyen lépéseket teszel, hogyan debuggingolsz?
Honnan szerezhető be az esemény azonosítója az idempotencia érdekében, és hol generálható?
Hogyan gyorsítható egy lassú API végpont — milyen megközelítések vannak?
Mi a különbség a slice és az array között Go-ban, és hogyan működik az append?
A toborzó kérdése a fizetési elvárásokról és a projekt szerinti foglalkoztatási feltételekről (230 ezer vs 280 ezer, határozott idejű szerződés)
Normális, hogy közvetlenül a rendelési szolgáltatásból a fizetési szolgáltatásba megyünk?
Mennyire aktívak a keresések? Lehet, hogy már vannak ajánlatok?
Milyen üzenetkezelőket használtál?
[név] kérdezte: mesélj az eseményalapú architektúráról.
Miért használtál mutexet? Hogyan látod itt a versenyhelyzetet és miért nem biztonságos a térkép szálak számára?
Mit lehet tenni egy nil szelettel, és mit nem?
Hogyan kezeli a rendszer egy olyan szállítási eseményt, amely minden szükséges adat nélkül érkezik?
Hogyan kezeljük a duplikált webhook eseményeket, ha a küldő szolgáltatás nem garantálja az egyediséget?
Mik a pénzügyi elvárásaid? Add meg a minimum és a kényelmes szintet.
```go func fail() { panic("Sikertelen!") } func main() { fmt.Println("Kezdet!") var wg sync.WaitGroup wg.Add(1) go func() { defer func() { if e := recover(); e != nil { fmt.Println(e) } }() fail() wg.Done() }() wg.Wait() fmt.Println("Vége!") } ```
A CDN itt úgy működik, mint egy korlátozott memóriával rendelkező gyorsítótár, az adatok érvénytelenítését valamilyen stratégiával fogjuk végezni — az LRU-t javasolnám mint alapértelmezett érvénytelenítési stratégiát. Mit gondolsz, használjuk itt?
Miért nem lesz pánik a test2 := test1[3:] soron, és miért jelenik meg [4 5]?
fő csomag func oneStep(yield func() bool) { yield() } func f() { az esetben oneStep { nyomtatás("f ") recover() } } func g() { az esetben 1 { nyomtatás("g ") recover() } } func checkPanic(loop func(), c chan<- struct{}) { defer func() { println(recover() != nil) c <- struct{}{} }() defer loop() panic(123) } func main() { c := make(chan struct{}, 1) go checkPanic(f, c) <-c go checkPanic(g, c) <-c }
Korlátoztad a görgetés mélységét? Említetted, hogy a bulkot használtad az adatok kezdeti betöltéséhez, de hogyan kezelted az inkrementális frissítéseket, amikor változott az ár vagy a termék neve? Hogyan biztosítottad az Elasticsearch szinkronizációját?
Mi az az ld, rd := 1<<62, 1<<62 az algoritmus kontextusában?