Sobes.tech

Golang

Ontwerp een worker voor de asynchrone verwerking van financiële transacties

Senior
Финтехробот
64

// tabel goederen: // ID | cnt_view // ----------- // 1 | 100 // twee gebruikers begonnen tegelijkertijd naar het product met id = 1 te kijken // en er zijn in onze database 2 parallelle transacties gestart // wat zal het resultaat zijn? postgresql func IncrementView(ctx context.Context, db *sql.DB, id int64) error { tx, err := db.BeginTx(ctx, nil) if err != nil { return err } defer tx.Rollback() var cnt int err = tx.QueryRowContext(ctx, "SELECT cnt_view FROM goods WHERE id = $1", id, ).Scan(&cnt) if err != nil { return err } cnt++ _, err = tx.ExecContext(ctx, "UPDATE goods SET cnt_view = $1 WHERE id = $2", cnt, id, ) if err != nil { return err } return tx.Commit() }

Middle+
Lenta Tech
64

Waarom queue (van welk woord Q)?

Senior
Cloud.ru
64

Formelere naam — benaderingsstringovereenkomst (het vinden van een benaderingsovereenkomst). Het is nodig om te controleren of de eerste string een subsequente is van de tweede. Een subsequente is wanneer je de eerste string uit de tweede kunt krijgen door sommige tekens te verwijderen. Input: 'car', 'cartwheel' Output: true Input: 'cwhl', 'cartwheel' Output: true Input: 'cwhee', 'cartwheel' Output: true Input: 'cartwheel', 'cartwheel' Output: true Input: 'cwheeel', 'cartwheel' Output: false Input: 'lw', 'cartwheel' Output: false

Middle
VKVK
64

Hoe oud bent u?

Middle+
X5
64

Welke webservers ken je naast Nginx?

Middle
АО Медиа Эффект
64

Hoe hebt u de schaalvergroting van Kafka-consumers uitgevoerd? Op basis van welke criteria?

Middle+
ВайлдберрисВайлдберрис
64

Hoe zou je definiëren dat een chat goed werkt als de gebruiker geen alternatief heeft?

Senior
AvitoAvito
64

Wat is een reverse proxy en hoe kan het worden geïmplementeerd?

Senior
purrweb
64

// Vraag 1. Wat wordt er op het scherm weergegeven? package main import "fmt" func main() { s := "Hello world" s[0] = "h" fmt.Println(s) }

Senior
МВидео/эльдорадо
64

Kun je me vertellen, wat is de samenstelling van het team qua aantal?

Senior
Магнит Тех
64

In HTTP/1.1 kunnen binaire gegevens in de request body worden verzonden — wat is dan het fundamentele verschil met HTTP/2?

Senior
X5 techX5 tech
64

Wie heeft het project ontworpen — jij als feature-lead, samen met het team, of als teamleider?

Senior
Холодильник.руХолодильник.ру
64

Vertel iets over jezelf en je werkervaring.

Middle+
BGStaff
64

[naam] vroeg: kent u het Saga-patroon?

Senior
BSS
64

Hoe los je het probleem van concurrerende reserveringen bij het overstappen naar een echte database?

Senior
2gis2gis
64

Wat zijn snelle spellen?

Senior
UPSL
64

func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(advertiserID) 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 }

Senior
Pasul LTD
64

Formaliteit van de vereisten voor het matchmaking-systeem: hoe een match zoeken, wat te doen als geen tegenstander wordt gevonden, hoe zetten we zetten om te valideren, is een timer nodig, hoe de rating bijwerken, is een geschiedenis van partijen nodig, wat te doen bij disconnectie?

Senior
Hi Rockits
64

Zijn er pre-offers in handen?

Senior
Датаджайл
64
/411