Golang
Maximale belasting: 25k lezingen / 5k schrijvingen per seconde Nieuw datavolume: 10 TB per jaar Maximale paralleliteit: 120k gelijktijdige verzoeken Jaarlijkse groei van gebruikers: 30% Doel p99 vertraging: <150 ms voor lezingen, <400 ms voor schrijvingen Doelbeschikbaarheid: 99,95% Uw taak is het ontwikkelen van een architectonische oplossing die de huidige problemen wegneemt, consistentie en fouttolerantie garandeert, en ook mechanismen voor tracering implementeert voor volledige monitoring van de levenscyclus van de bestelling. Beschrijf het foutafhandelingsmechanisme, het migratieplan vanaf de huidige architectuur, en leg uit hoe de voorgestelde oplossing de betrouwbaarheid en transparantie van het systeem zal verbeteren.
Heb je ervaring met systeemontwerp — het bedenken van architectuur vanaf nul, verdedigen voor het team?
Wat zijn errors.Is en errors.As, waar zijn ze voor en welk probleem lossen ze op?
Wat is JWT en Cookie, waarin verschillen ze?
Is de GIN-index geschikt voor full-text zoeken?
Hoe werkt een map in Go?
Wat interesseert je? Welke taken zou je willen? Welke domein?
Hoe zorgt Go voor veiligheid bij het werken met kaarten bij gelijktijdige toegang en welke synchronisatiemechanismen worden in de praktijk toegepast?
Wordt de registratie via GPH niet in het arbeidsboekje weergegeven?
Als de service een fout 500 retourneert, hoe gaat u het probleem aanpakken?
Wordt een map door verwijzing doorgegeven aan een functie in Go?
Heb je gewerkt met Domain-Driven Design en schone architectuur?
Wat gebeurt er met de gegevens bij een DELETE in PostgreSQL?
Architectuurvraag: hoe garandeer je dat een gebeurtenis naar Kafka wordt gestuurd bij het registreren van een gebruiker in een microservices-architectuur (gebruikersservice + notificatieservice), als Kafka een asynchroon kanaal is?
Wat is een inode in Linux?
Hoe los je het probleem van concurrerende reserveringen bij het overstappen naar een echte database?
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 }
Is de time-out voor iedereen hetzelfde? Hoe wordt deze time-out berekend?
func main() { defer func() { if r := recover(); r != nil { fmt.Println("hersteld") } }() defer func() { fmt.Println("uitstellen") }() go func() { fmt.Println("binnen goroutine start") panic("bom") fmt.Println("binnen goroutine end") }() time.Sleep(time.Second) }
Wat is het verschil tussen Dependency Inversion en Dependency Injection?