Golang
Czym jest SELECT FOR UPDATE i do czego służy?
Za co odpowiada zbieracz śmieci (GC) w Go i kiedy zwykle uruchamia się automatycznie? Uwalnia pamięć nieosiągalnych obiektów i uruchamia się automatycznie, gdy rośnie heap (gdy ilość przydzielonej pamięci przekracza próg w czasie działania) Porządkuje rozmieszczenie zmiennych w pamięci w celu optymalizacji cache i uruchamia się ściśle według timera co 10 ms Monitoruje liczbę uruchomionych goroutine i włącza się tylko po zakończeniu funkcji main Synchronizuje pracę mutexów i uruchamia się, gdy dostępna pamięć RAM spadnie poniżej 5%
Podaj przykład, kiedy nie zgadzałeś się z decyzją techniczną zespołu. Jak poradziłeś sobie z tym po podjęciu decyzji?
Balancer musi rozumieć, że backend odpowiada błędami, i po przekroczeniu progu na określony czas, wykluczyć go z równoważenia (Circuit Breaker)
Czy możesz podać przykład wąskiego gardła, które udało się znaleźć za pomocą profilowania z pprof?
Jak nazywa się konstrukcja WITH ... AS (...) w linii 84 zapytania?
Opowiedz o najbardziej obciążonej usłudze, którą zaprojektowałeś i napisałeś.
Gotowy wyjść od razu, czy masz plany/odpoczynek?
Jakie są główne części systemu Transactional Outbox?
Jeśli przekażesz slice do funkcji i dodasz do niego nowy element, czy zmiany będą widoczne poza funkcją? A co, jeśli pojemność nie jest przekroczona?
Czy mieszkałeś w [miasto], a potem przeprowadziłeś się do [miasto]?
Test na rozkład równomierny nie przechodzi: backend[0] oczekiwano 5 wywołań, otrzymano 10, backend[1] oczekiwano 5 wywołań, otrzymano 0
```go type User struct { ID int Name string } var ( dbHits int ) func getUserInfoFromDB(id int) User { time.Sleep(100 * time.Millisecond) dbHits++ return User{ID: id, Name: fmt.Sprintf("User-%d", id), } } func main() { var wg sync.WaitGroup for i := 0; i < 5; i++ { wg.Add(1) go func(i int) { defer wg.Done() fmt.Println(getUserInfoFromDB(i)) }(42) } wg.Wait() fmt.Println("DB hits:", dbHits) } ``` Napraw błąd w kodzie związany z równoczesnym dostępem do zmiennej dbHits.
Czy możesz opowiedzieć o idempotencji? Jak ją wdrożyłeś? Jak ona w ogóle działała?
W jakim języku programowania pracujesz? Dlaczego pojawiły się trudności ze składnią?
Jak są powiązane blockchain i twierdzenie CAP? Czy blockchain jest zawsze dostępny?
Ogólnie, jakiego projektu chciałbyś, aby zwiększyć widoczność: z jakimi podejściami, procesami i zadaniami?
Opowiedz, dlaczego zdecydowałeś się szukać nowych projektów i jakiego rozwoju oczekujesz.
Jakie problemy z dostępem współbieżnym występują podczas wywoływania metod Get i Set z różnych gorutyn? Jak je rozwiązać?
Jaki typ indeksu jest domyślny w PostgreSQL?