Golang
Ben je in Moskou?
Waarom is de antifraudecontroleservice toegevoegd aan het verantwoordelijkheidsgebied van de kandidaat?
Hoeveel microservices heb je in je huidige baan en waarmee werk je rechtstreeks samen?
Wat denk je dat het probleem is met de in-memorie oplossing? Wat gebeurt er als je de service opnieuw opstart?
Wanneer moeten indexen worden verwijderd? Wat is denormalisatie?
Waarvoor zijn bakken in een hash-tabel/map eigenlijk nodig? Wat is hun functionele rol?
Betekent dit dat alles toch eindigt na deze timeout? Met andere woorden, kan er nog steeds iets niet werken — wat is hier het probleem?
Beschrijf het laadproces van de Linux-server vanaf het starten tot het starten van de terminal
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.
Wat zijn kanalen in Go en welke soorten zijn er?
Is er een manier om de stop-the-world garbage collector in Go te beheren en aan te passen?
// 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() }
Heeft u ooit te maken gehad met architecturale taken? Hoe werden architecturale beslissingen genomen?
Waarom moeten we de context in de structuur onderbreken? Waarom de workers beëindigen? We willen de Stop-methode onderbreken.
Waar gaan goroutines na het maken: naar de lokale of globale wachtrij van de Go-planner?
Hoe hebt u de schaalvergroting van Kafka-consumers uitgevoerd? Op basis van welke criteria?
Hoe beïnvloeden time-outs de vermindering van de belasting op de analyse?
Wat voor project was er in het bedrijf? Wat voor microservice was daar?
Indexen in PostgreSQL: wat zijn het, welke soorten ken je, waarom is B-tree beter dan Hash?
Is het mogelijk om tegelijkertijd in één map te schrijven vanuit verschillende goroutines? Wat gebeurt er?