1
Теория
1. Расскажи про указатели
2. Что такое MGP модель
3. Расскажи про кэши и масштабирование (репликация, шардирование)
2
Вопросы по коду
4. Расскажи про указатели и аппенд
3
Лайвкодинг
5. Задача: Написать воркер пул
package worker_pool
import (
"context"
"sync"
)
type WorkerPool struct {
tasks chan func()
workersQty int
active bool
cancel func()
wg sync.WaitGroup
finished chan struct{}
mtx sync.Mutex
}
func NewWorkerPool(numberOfWorkers int) *WorkerPool {
ctx, cancelF := context.WithCancel(context.Background())
wp := &WorkerPool{
tasks: make(chan func(), 0),
workersQty: numberOfWorkers,
cancel: cancelF,
finished: make(chan…