Golang
Jakie metryki produktu zbieracie?
Co się stanie, jeśli defer będzie na zewnątrz goroutine, a nie wewnątrz niej?
Jak działają operacje atomowe?
Jak zdecydowałeś, że nadszedł czas na zmianę czegoś? Na podstawie jakich metryk?
Zgodnie z CV, obecnie pracujesz w [organizacja], czy tak?
Czym jest indeks B-drzewo?
/* Istnieje aplikacja z architekturą mikroserwisów. Mikroserwis można abstrakcyjnie reprezentować za pomocą interfejsu Backend. Aby uzyskać dostęp do instancji mikroserwisu, można użyć typu BackendImpl, który jest już zaimplementowany. Każdy mikroserwis ma kilkadziesiąt uruchomionych instancji, z których każda jest dostępna pod własnym adresem addr. Jednak pojedyncze instancje mikroserwisu nie są niezawodne: mogą się zawiesić, być niedostępne lub przeciążone. Dlatego musisz zaimplementować typ Balancer, który również implementuje interfejs Backend i wykonuje balansowanie obciążenia po stronie klienta między instancjami mikroserwisu, wybierając za każdym razem **najmniej obciążoną** instancję. */ type Request interface{} type Response interface{} type Backend interface { Invoke(ctx context.Context, req Request) (Response, error) } var _ Backend = &BackendImpl{} // addr zawiera ip:port konkretnej instancji func NewBackend(addr string) *BackendImpl type Balancer struct { // TODO } var _ Backend = &Balancer{} // addrs zawierają adresy wszystkich balansowanych instancji func NewBalancer(addrs []string) *Balancer { // TODO }
package main import ( "fmt" ) func main() { c := make(chan string) go fmt.Println(<-c) c <- "Hello World!" fmt.Println("Exit!") }
Musisz przetworzyć bardzo duży plik CSV w Go. Jak byś to zrobił bez ładowania całego pliku do pamięci?
Czy znasz profil obciążenia odczytu/zapisu w RPS?
Jak oceniasz siebie jako programistę Golang? Czy jesteś teraz middle, middle+, senior?
Czym jest API Gateway i dlaczego jest nam potrzebny?
Jak myślisz, jaki jest problem z rozwiązaniem w pamięci? Co się stanie, jeśli zrestartujesz usługę?
Opowiedz o swoim doświadczeniu z bazami danych — oprócz ClickHouse, jakie bazy i jak głęboko?
Czym jest ACID?
Jak są przetwarzane wiadomości wysyłane do użytkowników w trybie offline?
Opowiedz o procesie przeglądu kodu i oceny w zespole (360, przegląd wydajności).
Czy używałeś brokerów wiadomości w pracy?
Czym jest dobrze wykonana aplikacja?
Jak jest zorganizowany kanał pod maską w Go?