Kāda ir atšķirība starp B-koka indeksu un hash-indeksu PostgreSQL? Kādus citus indeksus pazīsti?
Golang
Kā tehniski īstenot OpenAPI specifikāciju? Kas ir Swagger?
Kādus linters izmantojat Go un kur tos palaidjat?
// uzdevums 2 // 1. OpenAPI + gRPC // (YAML) // info: // title: Grāmatu API // version: .. // paths: // /books: // get: // responses: // "200"
Pastāsti par Docker: galvenie principi, daudzposmu būvniecība, CLI komandas
Ko tu zini par runtime paketi? Kādas metodes esi izmantojis?
Kuras citas sinhronizācijas primitivas, izņemot mutex un WaitGroup, tev ir zināmas? Lietošanas gadījumi?
Pastāsti par Transactional Outbox paraugu — kas tas ir un kam tas tiek izmantots?
// mkdir projekts // cd projekts // go mod init projekts // touch main.go // vim main.go // --koda izveide-- package main import "syscall" // func main() { // msg := []byte("Sveiki, pasaule!\n") // syscall.Write(1, msg) // } // --kods pabeigts-- // go build -o app // ./app // go test ./... // git nint
Ko jūs zināt par Transactional Outbox un Saga? Pastāstiet praktisku gadījumu
Kādi ir galvenie DDD artefakti? No kādām daļām tas sastāv?
funkcija main() { ctx := context.Background() urls := []string{ "vk.ru", "ozon.ru", "pi.zone.ru", "lamoda.ru", "adidas.com", } pingMap, err := collectRTT(ctx, urls) if err != nil { fmt.Println("ERR:", err) return } data, _ := json.Marshal(pingMap) fmt.Println("RTT:", string(data)) } 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) { // ... (rest of the function implementation) }(url) } // ... (rest of the function implementation) } Įspėjimas: # command-line-arguments 2486763/main.go:34:9: undefined: sync 2486763/main.go:35:9: undefined: sync 2486763/main.go:45:32: undefined: fmt.Errorf
Ko tu zini par goroutine plānotāju Go?
Pastāsti par uzraudzības sistēmu: metriku vācēji, brīdinājumi
Pastāsti par pašreizējā projekta arhitektūru
Kāpēc jūs izmantojāt atslēgvārdu defer?
Pastāsti man savu profilēšanas plūsmu Go
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("RTT kļūda %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 }
Kāda ir atšķirība starp /books un /books/{id}?
Kā var pabeigt gorutinu? Kādas ir metodes?