Каква е разликата между B-дерево индекс и hash индекс в PostgreSQL? Какви други индекси познаваш?
Golang
Как технически да реализирате спецификацията OpenAPI? Какво е Swagger?
Какви линтери използваш в Go и къде ги изпълняваш?
// задача 2 // 1. OpenAPI + gRPC // (YAML) // info: // title: API за книги // version: .. // paths: // /books: // get: // responses: // "200"
Разкажи за Docker: основни принципи, многостепенни билдове, CLI команди
Кои други примитиви за синхронизация, освен mutex и WaitGroup, познаваш? Казуси за използване?
Разкажи ми за патърна Transactional Outbox — какво е и за какво се използва?
// mkdir проект // cd проект // go mod init проект // touch main.go // vim main.go // --създаване на код-- package main import "syscall" // func main() { // msg := []byte("Здравей, свят!\n") // syscall.Write(1, msg) // } // --кодът е завършен-- // go build -o app // ./app // go test ./... // git nint // git add . // git commit -m "init"
Какво знаеш за Transactional Outbox и Saga? Разкажи практически случай.
Какво знаеш за пакета runtime? Какви методи си използвал?
Какви са основните артефакти на DDD? От какви части се състои?
Какво знаеш за планировчика на горутините в Go?
Разкажи за архитектурата на текущия проект
Грешка: # command-line-arguments 2486763/main.go:34:9: не е дефинирано: sync 2486763/main.go:35:9: не е дефинирано: sync 2486763/main.go:45:32: не е дефинирано: fmt.Errorf
Защо използвахте ключовата дума 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("грешка при 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 }
Разкажи ми за твоя поток на профилиране в Go
Как може да се завърши горутината? Какви са начините?
Каква е разликата между /books и /books/{id}?
Какво се случва, когато въведеш [уебсайт] в браузъра? Разкажи възможно най-подробно кои протоколи се използват