Golang
Hoeveel partities moet een Kafka-topic hebben?
Kan foutafhandeling gestandaardiseerd worden?
/* We moeten gegevens van een bron naar een ontvanger overbrengen. De bron geeft gegevens in kleine batches (~tien records), terwijl de ontvanger efficiënter werkt met grote batches (~duizend records). Een echt voorbeeld is het overzetten van gegevens van Kafka-achtige wachtrijen naar een Clickhouse-database. Bron: - Bijna oneindig. - De bron geeft nooit meer dan MaxItems records terug in één Next-aanroep. - Tijdens één "sessie" (één aanroep van de Pipe-functie) geeft de bron bij elke Next-aanroep nieuwe gegevens. - Na een herstart begint de bron vanaf de vorige "bevestigde" positie, bepaald door cookie. Daarom moet elke cookie-waarde die Next teruggeeft, na het opslaan van gegevens in de ontvanger, worden bevestigd met een Commit-aanroep, in dezelfde volgorde als waarin ze door Next werden teruggegeven. Ontvanger: - Kan niet meer dan MaxItems tegelijk verwerken. Het is nodig om de functie func Pipe(p Producer, c Consumer) error te implementeren, die gegevens uit de bron leest, deze groepeert in een buffer van niet groter dan MaxItems en opslaat in de ontvanger, waarna de voortgang in de bron wordt bevestigd. */ const MaxItems = 9999 type Producer interface { // Next geeft: // - een batch van items om te verwerken // - cookie om te bevestigen wanneer de verwerking is voltooid // - fout Next() (items []any, cookie int, err error) // Commit wordt gebruikt om de gegevensbatch als verwerkt te markeren Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }
Welke leveringsgaranties biedt Kafka? Wat moet er op de producer gedaan worden om precies één keer te garanderen?
Kan een Docker-container zonder afbeelding worden gestart?
Hoe onderbouw je je standpunt als een collega het niet met je eens is?
Kan in Redis alleen order_id -> current_status worden opgeslagen en de volledige bestelkaart uit de replica worden gelezen? Hoe onderscheid je deze twee soorten leesbewerkingen?
Stel een index voor op de tabel users met de velden gender en age, als je gebruikers op geslacht of leeftijd moet selecteren
Vertel over een situatie waarin je iets hebt voorgesteld en je je standpunt moest bewijzen.
Als een string een palindroom is volgens het algoritme, geeft het dan true of niet?
Hoe werkt containerisatie, kun je meer vertellen over namespaces?
Wat te doen als de endpoint vertraagt? Beschrijf de diagnose-stappen.
Wat doe je nog meer nadat je iets hebt gerepareerd?
Welke eisen zou je als eerste stellen aan een systeem dat met persoonsgegevens werkt?
Welke taken zouden interessant zijn om op te lossen?
Ik heb een groot bestand verwijderd, maar de ruimte op de schijf is niet vrijgemaakt. Waarom? Hoe vind ik het en los ik het op?
Wat is de context in Go? Hoe wordt het gebruikt? Hoe werkt annulering via de context?
Wat is protobuf? Wat gebeurt er bij het toevoegen/verwijderen van een veld?
Helpt het toevoegen van meer consumers bij grote Kafka-lag? In welke gevallen helpt het en in welke niet? Wat als er 16 partitions en 2 consumers zijn?
Vertel over soft delete (zachte verwijdering). Wat is het en waarom is het nodig?