Kuidas muuta Acquire/Lock semaforit, et ooteaega saaks tühistada või ajaliselt piirata?
Golang
Millises suunas soovite areneda?
Kas teiega veel suhtlete teiste ettevõtetega? Võib-olla juba pakkumised olemas?
Millal ja kuidas vahetatakse goroutine'e?
Milliste kriteeriumide järgi valiksid pakkumise, kui neid oleks mitu?
Kas konkurentsivõimeline ja paralleelne osa programmi täitmine on sama?
WaitGroup tuumas kasutab Atomic arvutamiseks. WaitGroup võib vastu võtta töökaalu. Kuidas sa kirjutaksid ümber semafori nii, et meetodid Lock(weight int), TryLock(weight int) ja Release(weight int) võtaksid kaalu? Goroutine haarab ressursid kohe kogu operatsiooni jaoks ja pärast iga etapi (IO-bound, CPU-bound) vabastab natuke. Kuidas sa selle realiseeriksid?
Millised koormused viimastel töökohtadel (RPS)?
Räägi mulle netpollerist Go-s.
Mis juhtub, kui deklareerite välja primaarvõtmena PostgreSQL-is?
Rääkige GMP-mudelist Go keeles: kuidas töötavad G, M ja P, ajastaja, netpoller ja sysmon?
Kuidas töötab context.WithCancel tühistamisega?
Millist tüüpi indeks on PostgreSQL-is vaikimisi?
Mis on operatsiooni idempotentsusomadus?
Rääkige oma kõige huvitavamast projektist kogu töö kogemuse jooksul. Mida olete ellu viinud, millised olid tehnilised ja ärilised ülesanded?
Miks otsustasite turule siseneda? Mis teie praegusel kohal ei meeldi?
Kas saaks rääkida oma viimase projektiga seotud kogemustest: millega sa tegelesid, mida ise kirjutasid ja milline oli meeskond?
Kuidas erineb map sync.Map-st?
On probleem lõimede turvalisusega: kui kaks goroutine'i samaaegselt kutsuvad Lock'i tsükliga, nad võivad segamini minna. Kuidas seda parandada?
tüüp Sem liides { Lock() error //tagastab vea, kui kanal on täis TryLock() bool // lihtsalt püüame lukustada, kui õnnestub, tagastab true Release() //kanali vabastamine Cap() int // töö gorutinide arv FreeSpace() int //näitab, kui palju vaba ruumi kanalil on } //struktuur //channel - mõelda pufferile //capacity int //mutex