Перейти к содержимому

Employcity

  • С какой бд работал? sql/general
  • Какие индексы знаешь в pg? sql/indexes
  • Что можешь сказать про тип jsonb? sql/schema-design
  • Что такое составной индекс и для чего нужен? sql/indexes
  • Была ли у тебя задача где требовалось работать с разными типами изоляции? sql/transactions
  • За счет чего на уровне serializable достигается консистентность бд? architecture/general
  • Встречал ли в транзакциях дедлоки? sql/transactions
  • Как можно повысить производительность бд в плане масштабируемости? sql/general
  • Какие есть способы синхронизации реплик в pg? sql/replication-scaling
  • Возможна ли ситуация когда реплика отстает от мастера? sql/replication-scaling
  • Работал ли с шардированием? sql/replication-scaling
  • Для какой задачи шардирование лучше подходит, чем репликация? sql/replication-scaling
  • Как можно оптимизировать медленный запрос? sql/query-optimization
  • С какими nosql системами хранения работал? nosql-cache/general
  • Работал ли с очередями kafka, rabbit, nats? algorithms/data-structures
  • Что такое горутина и как работает планировщик в Go? go/concurrency
  • Как проводится переключение горутин? go/concurrency
  • Почему горутины потребляют очень мало ресурсов относительно тредов ос? go/concurrency
  • Стек горутины всегда занимает 2кб? go/concurrency
  • Как распределяется размещение данных в стек и кучу? go/memory-gc
  • В какой момент определяется это распределение? go/memory-gc
  • Если в канал передать структуру, то она скопируется? go/channels
  • Если в это структуре будет слайс, то он будет полностью скопирован? go/slices-arrays
  • Как работает функция append? go/slices-arrays
  • Как работает сборщик мусора? go/memory-gc
  • Вызывает ли сборщик мусора паузы stop the world при работе? go/memory-gc
  • Как мьютексы устроены внутри? go/sync
  • Что такое атомик и за счет происходит атомарность операции? go/sync
  • Как думаешь почему мьютексы реализованы через атомики? go/sync
  • Работал ли с рефлексией? go/runtime
  • Писал ли что-то для кодогенерации? go/stdlib-tooling

Задача: Необходимо закончить функцию processInParallel чтобы производилась параллельная работа processData в 5 потоков. go/concurrency

Заголовок раздела «Задача: Необходимо закончить функцию processInParallel чтобы производилась параллельная работа processData в 5 потоков. go/concurrency»
func main() {
in := make(chan int, 100)
out := make(chan int, 100)
// Generating input data
go func() {
for i := 0; i < 100; i++ {
in <- i
}
close(in)
}()
processInParallel(in, out, 5)
for result := range out {
fmt.Println("Processed:", result)
}
}
func processInParallel(in <-chan int, out chan<- int, workers int) {
panic("not implemented ")
}
func processData(data int) int {
time.Sleep(100 * time.Millisecond) // Simulate time-consuming task
return data * 2
}