Как да променя семафора Acquire/Lock, за да може да се отменя или ограничи времето за изчакване?
Golang
Къде искаш да се развиваш, в коя посока?
WaitGroup в ядрото използва Atomic за броене. WaitGroup може да приема тежестта на работата. Как бихте преписали семафор, така че методите Lock(weight int), TryLock(weight int) и Release(weight int) да приемат тежест? Горутина захваща ресурсите веднага за цялата операция, а след всеки етап (IO-bound, CPU-bound) освобождава малко. Как бихте реализирали това?
Конкурентното и паралелното изпълнение на части от програмата са едно и също нещо?
Все още комуникирате с други компании? Може би вече има оферти?
Кога и как се превключват горутините?
Защо решихте да излезете на пазара? Какво не ви харесва в текущото ви място?
По какви критерии ще избереш оферта, ако има няколко?
Разкажете за модела GMP в Go: как работят G, M и P, планировчикът, netpoller и sysmon?
Какво се случва, когато обявите поле за първичен ключ в PostgreSQL?
Как работи context.WithCancel с отмена?
Разкажи ми за netpoller в Go.
Какви натоварвания на последните работни места (RPS)?
Защо решихте да напуснете текущата компания (Abit) и какво търсите за себе си?
Какъв тип индекс е стандартният в PostgreSQL?
Разкажи за най-интересния си проект през цялата си професионална кариера. Какво реализира, какви технически и бизнес задачи имаше?
Можеш ли да разкажеш за последния си проект: с какво се занимаваше, какво сам написа и каква беше екипът?
Какво е свойството на идемпотентност на операцията?
Каква е разликата между map и sync.Map?
Има проблем с безопасността на нишките: ако две горутини едновременно извикват Lock с цикъл, те могат да се смесват. Как да го поправим?