Golang
Dlaczego przeszedłeś z [firma] do [firma]?
Jakimi kryteriami wybierasz firmy, na co się opierasz?
Czy możemy przekazać slice jako parametr do funkcji?
Jak zadania trafiają do pracy? Opowiedz mi o tym procesie.
Opowiedz o bazach danych — z czym pracowałeś i z czym pracujesz teraz?
Pytanie o wolne działanie serwisu Na przykładzie tworzenia zamówienia. Jest zapytanie do serwisu i odpowiedź, między tymi dwoma działaniami zapisujemy w analizie zamówione produkty (np. do liczenia popularności produktów). Serwis analityczny działa czasami wolno lub timeoutuje, i nie zdążamy odpowiedzieć, tracimy zamówienia. Co zrobić, aby przestać tracić zamówienia i pieniądze? Wymyślić, jak równolegle obsługiwać zamówienie i analizę.
Jak obsługiwane są błędy w Go? Czym różnią się errors.Is i errors.As?
Doprecyzowanie zakresu odpowiedzialności: maszyna stanów, Outbox Transakcyjny, blokady optymistyczne
Wyobraź sobie sytuację: nie możesz znaleźć wspólnego języka z testerem w swoim zespole, który ciągle 'czepia się' Ciebie. Jak będziesz się zachowywał?
Czym są brokerzy wiadomości? Które znasz? Czym różni się RabbitMQ od Kafka?
Co się stanie, jeśli trzeba będzie zrezygnować z Kafka i zastąpić ją innym brokerem wiadomości? Jak odizolować Kafka od usług zewnętrznych?
Jak wygląda proces wydania? Jak przebiegło ostatnie wydanie z twoim udziałem?
Co trzeba zrobić, aby serwer REST API (repozytorium kodu) zaczął działać w Kubernetes?
Opowiedz o łagodnym zamknięciu: czym jest, co się dzieje podczas niego, jak jest wywoływane? Jakie procesy wykonuje usługa w Kubernetes po otrzymaniu SIGTERM?
Gdzie, Twoim zdaniem, zaczyna się highload? Jaka jest granica między highload a nie-highload?
Masz usługę, która tworzy wiele goroutine. Jak ograniczyłbyś liczbę goroutine działających jednocześnie?
Czym jest wywołanie systemowe (syscall)?
Opowiedz więcej o projektach na Go
Które z poniższych jest najbardziej prawdopodobne podczas próby uruchomienia bardzo dużej liczby goroutine (np. dziesiątek tysięcy) bez dodatkowej kontroli? - Głównym problemem będzie zablokowanie globalnego mutexa w runtime, co doprowadzi do całkowitego zatrzymania działania programu - Planista Go będzie wykonywał goroutine w małych grupach sekwencyjnie, więc wzrost ich liczby prawie nie wpłynie na zużycie pamięci - Masowe tworzenie goroutine może prowadzić do znacznego zużycia pamięci i narzutu planisty; w takich przypadkach odpowiedni jest pul pracowników - Jeśli liczba goroutine przekracza liczbę procesorów logicznych, Go automatycznie zacznie odrzucać nowe uruchomienia goroutine z paniką
Opowiedz o Kubernetes — czym jest, czym różni się od Dockera, jakie są główne składniki?