Opowiedz o przejściu z architektury synchronicznej na asynchroniczną: dlaczego dokonano zmiany, jak zidentyfikowano problem?
Golang
Jakiej biblioteki logowania używasz?
Jak zaimplementowaliście buforowanie? Czy używaliście blokad Redis?
Gdybyś miał sześć ofert od firm fintech, na co zwróciłbyś uwagę przy wyborze?
W jakiej kolejności wykonywane są różne defer w jednej funkcji?
Jaki indeks złożony byś utworzył?
Ile partycji było w tematach i jak wybierano ich ilość?
Czy było krytyczne, że dane w pamięci podręcznej mogą być nieaktualne?
Jak planista przerywa gorutynę, która weszła w nieskończoną pętlę?
Czy można użyć indeksu na kolumnach A, B, C tylko do filtrowania po A?
Jak powinny być rozdzielane partycje między podami podczas odczytu?
Opowiedz o strategiach shardingowania baz danych: kiedy zacząć sharding i według jakich kryteriów wybierać klucz shardingowy?
Jakie gwarancje dostawy obsługujesz, mówiąc o Kafka?
Gdzie będzie znajdować się nowa kawałek w pamięci po zmianie pojemności?
Czy kilku konsumentów z jednej grupy konsumentów może jednocześnie czytać jedną partycję?
Jaki format wiadomości używać w Kafka dla usługi o dużym obciążeniu: JSON czy binarny?
Czy można było zmieniać limity i zasady w czasie działania? Czy było do tego UI?
Jak zorganizować współpracę między frontendem a backendem w celu wysyłania powiadomień w czasie rzeczywistym?
W którym momencie dajesz ACK? Od razu po otrzymaniu czy po przetworzeniu?
func updateV1(px *int) { x2 := 20 px = &x2 } func updateV2(px *int) { *px = 20 } func main() { x := 10 updateV1(&x) fmt.Println(x) updateV2(&x) fmt.Println(x) }