Golang
Opowiedz mi o swoim projekcie. Co tam robisz?
Opowiedz o Grupie Konsumenckiej. Jeśli są 3 partycje i 2 konsumenci, jak będą rozdzieleni?
Co oznaczają ld, rd := 1<<62, 1<<62 w kontekście algorytmu?
Czym różni się konkurencyjność od równoległości?
Jak zoptymalizować transakcję z blokadą wiersza przy dużym obciążeniu (problem wąskiego gardła podczas rejestracji za pomocą kodu zaproszenia)?
Czym są tokeny autoryzacyjne i jakie są?
Czym jest API i do czego służy w integracjach systemowych?
Gdzie kończą się konteksty w tym kodzie?
Jak zorganizować komunikację między gorutinami i jak radzić sobie z zakleszczeniami?
Czym jest observability? Co obejmuje to pojęcie i co jest potrzebne, aby usługa była gotowa do produkcji? Dlaczego potrzebne są metryki, trace'y i logi?
Czy pracowałeś z pamięcią podręczną? Jeśli tak, to z jaką?
Czy pisałeś funkcje okienne i CTE?
Który kanał jest lepszy do tego zadania: z buforem czy bez? Czym się różnią?
Do czego służą linters w kodzie? Które używałeś?
LRU przechowuje dane na poziomie aplikacji — w jaki sposób zachowanie pamięci podręcznej staje się nieprzewidywalne podczas skalowania?
Jaka jest różnica między odbiornikiem wskaźnika a odbiornikiem wartości przy implementacji interfejsu? Kiedy używać każdego podejścia?
func Pipe(p Producent, c Konsument) error { // TODO buf := make([]any, 0, MaxItems) cookies := make([]int, 0) flush := func() error { if len(buf) == 0 { return nil } if err := c.Process(buf); err != nil { return err } for _, cookie := range cookies { if err := p.Commit(cookie); err != nil { return err } } buf = buf[:0] cookies = cookies[:0] return nil } for { items, cookie, err := p.Next() if err != nil { flush() return err }
Proszę opowiedz, czym zajmowałaś się na swoim obecnym stanowisku, jakie ciekawe zadania wykonywałaś?
Czy kolejność, w jakiej pola są dodawane do indeksu złożonego, ma znaczenie?
W jakim przypadku najczęściej używa się atomów?