Golang
Wziąłeś paczkę 500 wiadomości z Kafka, ale nie możesz ich zapisać w bazie danych. Co się stanie? Jak długo można przetwarzać te 500 wiadomości?
Opowiedz o wykorzystaniu zdarzeń (podejście oparte na zdarzeniach) na twoim przykładzie
Dlaczego szukasz nowej pracy?
Opowiedz o swoim doświadczeniu zawodowym i ciekawych zadaniach
Gdzie obecnie mieszkasz i jaki format pracy rozważasz?
Czy pracowałeś z transakcjami w PostgreSQL i z jakimi poziomami izolacji?
Jakie praktyki istnieją, aby zmniejszyć rozmiar obrazu Docker?
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 }
Jak pochodna jest związana z polem?
Które polecenie pokazuje przestrzeń dyskową?
Dlaczego lepiej usunąć wskaźnik z slice'a w repozytorium? Argumenty za i przeciw.
Czym jest model OSI? Czym jest warstwa aplikacji?
Czego chcesz teraz — jakie masz oczekiwania wobec nowej pracy?
Co oznacza nazewnictwo w stylu RPC? W naszym przypadku gRPC i REST — czym się różnią?
Czy kiedykolwiek musiałeś śledzić czas, prowadzić ewidencję zadań w jakimś systemie?
Jak określić, czy produkt z około 1000 użytkownikami potrzebuje architektury mikroserwisów czy monolitycznej?
Na centrum handlowym jest parking: samochody wjeżdżają i wyjeżdżają, a po zakończeniu sesji parkowania trzeba pobrać opłatę. Jak to widzisz? Zaprojektuj system.
Jak uzyskać wynik 456, jeśli nie używasz wskaźnika (pointer receiver)?
1.21 func main() { var nums []*int for i := 0; i < 10; i++ { nums = append(nums, &i) } for _, v := range nums { go func() { fmt.Println(v) }() } }
Na jaką widełkę wynagrodzenia się orientujesz?