Wat is het verschil tussen een B-tree index en een hash-index in PostgreSQL? Welke andere indexen ken je?
Golang
Hoe implementeer je technisch de OpenAPI-specificatie? Wat is Swagger?
Welke linters gebruik je in Go en waar voer je ze uit?
// taak 2 // 1. OpenAPI + gRPC // (YAML) // info: // title: Boek API // version: .. // paths: // /books: // get: // responses: // "200"
Vertel over Docker: basisprincipes, multistage builds, CLI-commando's
Welke andere synchronisatie-primitieven, naast mutex en WaitGroup, ken je? Gebruikssituaties?
Vertel me over het Transactional Outbox patroon — wat is het en waar wordt het voor gebruikt?
// mkdir project // cd project // go mod init project // touch main.go // vim main.go // --maak code-- package main import "syscall" // func main() { // msg := []byte("Hallo, wereld!\n") // syscall.Write(1, msg) // } // --code voltooid-- // go build -o app // ./app // go test ./... // git nint // git add . // git commit -m "init"
Wat weet je over Transactional Outbox en Saga? Vertel een praktisch voorbeeld.
Wat weet je over het runtime-pakket? Welke methoden heb je gebruikt?
Wat zijn de belangrijkste artefacten van DDD? Waaruit bestaat het?
Wat weet je over de scheduler van goroutines in Go?
Vertel me over de architectuur van het huidige project
Fout: # command-line-arguments 2486763/main.go:34:9: ongedefinieerd: sync 2486763/main.go:35:9: ongedefinieerd: sync 2486763/main.go:45:32: ongedefinieerd: fmt.Errorf
Waarom heb je het trefwoord defer gebruikt?
func collectRTT(ctx context.Context, urls []string) (map[string]time.Duration, error) { pingMap := make(map[string]time.Duration, len(urls)) var mu sync.Mutex var wg sync.WaitGroup errCh := make(chan error, 1) for _, url := range urls { wg.Add(1) go func(u string) { defer wg.Done() dur, err := rtt(ctx, u) if err != nil { select { case errCh <- fmt.Errorf("fout bij RTT %s, %w", u, err): default: } return } mu.Lock() pingMap[u] = dur mu.Unlock() }(url) } wg.Wait() close(errCh) if err := <-errCh; err != nil { return nil, err } return pingMap, nil }
Vertel over je profiling flow in Go
Hoe kun je een goroutine beëindigen? Welke methoden zijn er?
Wat is het verschil tussen /books en /books/{id}?
Hoeveel goroutines kunnen op één machine worden gemaakt? Hoe tellen we?