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

CyberOk / КиберОк

  • Почему горутины легче и дешевле потоков? go/concurrency
  • Что будет когда Go программа запущена в системе с одним ядром и в ней запускается 20 горутин, и одна из горутин начала выполнять тяжелую задачу? go/concurrency
  • В Go реализована вытесняющая или кооперативная многопоточность? go/concurrency
  • Как в Go устроено управление памятью? go/memory-gc
  • Сколько куч в Go? go/basics
  • Что такое фрагментация кучи? go/memory-gc
  • Как Go решает проблему фрагментации? go/stdlib-tooling
  • Как работает сборщик мусора? go/memory-gc
  • Случается ли при работе сборщика мусора событие stop the world? go/memory-gc

Задача: Есть два неотсортированных массива ip адресов: inList - сотни млн, blackList - десятки млн. Необходимо написать функцию, которая должна вернуть первый массив за вычетом второго. В первом массиве могут быть дубли и их нужно исключить. algorithms/data-structures

Заголовок раздела «Задача: Есть два неотсортированных массива ip адресов: inList - сотни млн, blackList - десятки млн. Необходимо написать функцию, которая должна вернуть первый массив за вычетом второго. В первом массиве могут быть дубли и их нужно исключить. algorithms/data-structures»
func unique(inList, blackList []int32) []int32 {}
  • Есть ли проблемы по использованию ресурсов? algorithms/complexity
  • Как это можно исправить? algorithms/general
  • Можем оценить перерасход ресурсов в данном решении? algorithms/complexity
  • Как устроено пустое значение в парадигме Go? go/basics
  • Как работает поиск элемента в мапе по ключу? algorithms/sorting-search
  • Как работает механизм коллизий? go/maps
  • Можем оценить время работы всей это функции? algorithms/complexity
  • Какие тут есть узкие места? algorithms/complexity
  • Будет ли тут эвакуации значений из бакетов? go/maps
  • Зачем нужна эвакуация? go/maps

Задача: Есть 50 тысяч горутин, которые пишут в 50 тысяч каналов. Необходимо написать функцию, которая должна читать из всех этих каналов пока они открыты и писать в один общий канал. go/concurrency

Заголовок раздела «Задача: Есть 50 тысяч горутин, которые пишут в 50 тысяч каналов. Необходимо написать функцию, которая должна читать из всех этих каналов пока они открыты и писать в один общий канал. go/concurrency»
func merge(in []<-chan int, out chan int) {}
  • Как предупредить утечку горутин? go/concurrency
  • Как оптимизировать чтобы не запускать все 50 тысяч горутин? go/concurrency
  • Сколько ресурсов потребляет управление одной горутиной? (около 0.15% cpu на 100 горутин) go/concurrency