Golang
pakiet główny import ( "fmt" ) func main() { c := make(chan string) go fmt.Println(<-c) c <- "Witaj świecie!" fmt.Println("Wyjście!") } błąd krytyczny: wszystkie goroutine są uśpione - deadlock! goroutine 1 [odbiór kanału]: main.main() /tmp/sandbox[phone]/prog.go:10 +0x3a Program zakończył się: status 2.
Czy masz zobowiązania do pracy, czy możliwy jest szybki przejście?
Jak są zaimplementowane operatory warunkowe (if) na poziomie asemblera?
Czy indeks B-drzewo w PostgreSQL ma tendencję do rozrastania się na szerokość?
Jakiego formatu pracy rozważasz?
Czym jest Mutex?
Czy możesz opowiedzieć o Go ogólnie — czym jest ten język, jakie są jego cechy?
Jaki jest najfajniejszy projekt lub funkcja, z której jesteś dumny?
Jak będą wybierane, jeśli kilka kanałów jest gotowych jednocześnie w select?
Opowiedz ogólnie, czym się zajmujesz w swojej obecnej firmie.
Kiedy warto wybrać RabbitMQ zamiast Kafka i odwrotnie?
Jak przeprowadzono test obciążeniowy i jakie metryki były monitorowane?
Czy możesz podać przykład wąskiego gardła, które udało się znaleźć za pomocą profilowania z pprof?
Rekruter nie rozumie priorytetów, po prostu mówi 'potrzebuję 300 kandydatów' — jak to obsłużyć?
Czym jest wyścig (race condition) w Go? Podaj przykład.
Czy masz do mnie pytania?
Dlaczego użyłeś Redis zamiast pamięci podręcznej w pamięci?
Czym są interfejsy w Go? Czym jest duck typing?
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // dodaj transakcję if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil } func (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) // dodaj $1 if err != nil { if err == sql.ErrNoRows { return p, errors.New("partner nie znaleziony") } return p, err } return p, nil }
Opowiedz ciekawe przypadki pracy z PostgreSQL