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 {}Дополнительные вопросы по коду задачи 1
Заголовок раздела «Дополнительные вопросы по коду задачи 1»- Есть ли проблемы по использованию ресурсов?
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) {}Дополнительные вопросы по коду задачи 2
Заголовок раздела «Дополнительные вопросы по коду задачи 2»- Как предупредить утечку горутин?
go/concurrency - Как оптимизировать чтобы не запускать все 50 тысяч горутин?
go/concurrency - Сколько ресурсов потребляет управление одной горутиной? (около 0.15% cpu на 100 горутин)
go/concurrency