Когато map-ът се препълни, се създава нова верига от кофи. Разкажи, какво се случва със старите и новите ключове при прехвърлянето? Защо данните се прехвърлят лениво, а не веднага като в slice?
Golang
По време на работата на Garbage Collector има ли Stop the World?
Как се регулираше броят на инстансите? Кой определяше изискванията към ресурсите в Kubernetes?
Ако имаме 16 раздела и 2 потребителя, как ще се разделят? Какво ще се случи при добавяне на трети потребител?
Кога е по-добре да използвате партициониране и кога шардване?
При шардване потребителят не знае на коя машина са неговите данни. Как се решава това?
Винаги ли е добре да имаш индекс? Винаги ли вариантът с включен индекс ще бъде по-добър от без него?
Какви други варианти има за увеличаване на скоростта на базата данни освен индексите?
Как се измерва разходът в EXPLAIN? Какво е разход?
Какво е предимството на репликацията? Какви разходи носи тя?
Как си взаимодействаха услугите помежду си? Къде се намираха?
Има HTTP обработчик, който извършва сложен SELECT в базата данни, и потребителят не е доволен от дългото чакане. Каква е последователността от действия за диагностика и оптимизация?
Кои средства за синхронизация в Go познаваш?
Как се извърши разгръщането? С какво го разгръщахте в Kubernetes?
Практическа задача на Go: реализирайте функция (редове 15-17) за обработка на набор от задачи (jobs) с последователно изпълнение и проследяване на процента на завършване чрез канал за напредък.
Какво точно се правеше с дублиращите се след откриването им? Къде се почистват?
Има ли начини да управлявате (настройвате) моментите на стартиране на Garbage Collector? Например, настройки на компилатора.
Винаги ли pprof ще покаже, че имаш теч на памет или превишаване на лимита?
За какво е нужен top-hash в map?
Какво се случва, ако един от потребителите в групата се изключи? Разкажете за ребалансирането.