Care este diferența dintre un index B-tree și un index hash în PostgreSQL? Ce alte indecși cunoști?
Golang
Cum se implementează tehnic specificația OpenAPI? Ce este Swagger?
Ce linters folosești în Go și unde le rulezi?
// sarcina 2 // 1. OpenAPI + gRPC // (YAML) // info: // title: API de Carte // version: .. // paths: // /books: // get: // responses: // "200"
Vorbește despre Docker: principii de bază, construcții multi-stage, comenzi CLI
Vorbește despre pattern-ul Transactional Outbox — ce este și pentru ce se folosește?
Ce alte primitive de sincronizare, în afară de mutex și WaitGroup, cunoști? Cazuri de utilizare?
// mkdir proiect // cd proiect // go mod init proiect // touch main.go // vim main.go // --crează codul-- package main import "syscall" // func main() { // msg := []byte("Salut, lume!\n") // syscall.Write(1, msg) // } // --codul a fost finalizat-- // go build -o app // ./app // go test ./... // git nint // git add . // git commit -m "init"
Ce știi despre Transactional Outbox și Saga? Povestește un caz practic.
Ce știi despre pachetul runtime? Ce metode ai folosit?
Care sunt artefactele principale ale DDD? Din ce părți este format?
Ce știi despre planificatorul de goroutines în Go?
Vorbește despre arhitectura proiectului actual
Eroare: # command-line-arguments 2486763/main.go:34:9: nedefinit: sync 2486763/main.go:35:9: nedefinit: sync 2486763/main.go:45:32: nedefinit: fmt.Errorf
De ce ai folosit cuvântul cheie defer?
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("eșec la 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 }
Spune-mi fluxul tău de profilare în Go
Care este diferența dintre /books și /books/{id}?
Cum se poate încheia o goroutine? Care sunt metodele?
Câte goroutines pot fi create pe o singură mașină? Cum se calculează?