Golang
Յուրաքանչյուր SELECT- ը պետք է ունենա նույն քանակությամբ սյունակներ, թե կարող է տարբեր լինել?
Պատմիր պессիմիստական և օպտիմիստական արգելքների մասին
Ինչպե՞ս իրականացնել հակառակ կողմը — Inbox ձևանմուշ notification ծառայության կողմում: Ինչպե՞ս ապահովել իրագործման նույնականությունը միջոցառումների մշակման ժամանակ։
Ինչու է անհրաժեշտ ստորակետը պակեթների ներմուծման ժամանակ?
Ի՞նչ է deadlock-ը և race condition-ը, ինչպես պայքարել նրանց դեմ:
Հիշեք ձեր նախորդ փորձից մի իրավիճակ, երբ տեսաք, որ թիմի ղեկավարի կամ ճարտարապետի առաջարկած ճարտարապետական լուծումը օպտիմալ չէր։ Ինչ եք արել այդպիսի իրավիճակում։ Ինչ-որ կերպ պաշտպանե՞լ եք ձեր տեսակետը։
Ինչպե՞ս ես օգտագործում նեյրոնային ցանցերը աշխատանքի մեջ։
Բարելավեք լուծումը յուրաքանչյուր namespace-ի համար՝ հաշվի առնելով, որ ծառայությունները կարող են լինել տարբեր կլաստերներում, բայց նույն namespace-ում (պետք է միացնել)
Բոլոր փաստաթղթերը կարգին են (հրամանատան գրքույկ, պաշտոնական ձևակերպումներ)?
Ավելացրեք ավելի շատ տեղեկություններ հակաֆրոդ ծառայության մասին՝ ինչ եք անում, ինչի համար եք պատասխանատու:
func (p *Pool) Stop() { p.mu.Unlock() // Այժմ անվտանգ է փակել ալիքը close(p.tasks) // ազդանշան աշխատողներին՝ նոր առաջադրանքներ չեն լինի, կարդացեք մնացորդը p.wg.Wait() // սպասում ենք բոլոր գորուտինների ավարտին p.cancel() // անհրաժեշտության դեպքում չեղյալ հայտարարում ենք կոնտեքստը fmt.Println("Pool կանգնեց.") } // ForceStop ուժեղորեն կանգնեցնում է բոլոր աշխատողներին՝ սպասելու Tasks-ի ավարտին չպահանջելով: // Աշխատողները անմիջապես կկտրվեն կոնտեքստի միջոցով: func (p *Pool) ForceStop(timeout time.Duration) { fmt.Printf("Համառորեն կանգնեցնելու պուլը (timeout: %v)...\n", timeout) // Բլոկավորում է նոր առաջադրանքների ավելացումը p.mu.Lock() p.isOpen = false p.mu.Unlock() // Ալիքը փակվում է, որպեսզի աշխատողներն այլևս չստանան նոր առաջադրանքներ close(p.tasks) // Կոնտեքստը չեղյալ է հայտարարվում – դա կկտրի բոլոր ընթացիկ առաջադրանքները p.cancel() // Մ محدود ժամանակ է տրվում ավարտին հասցնելու համար done := make(chan struct{}) go func() { p.wg.Wait() close(done) }() select { case <-done: fmt.Println("Պուլը ուժեղորեն կանգնեցվեց (բոլոր աշխատողները ավարտվեցին)") case <-time.After(timeout): fmt.Println("Պուլը ուժեղորեն կանգնեցվեց (timeout, կարող են մնալ կախված goroutine-ներ)") } }
Որ գումարից եք դիտարկում առաջարկը աշխատավարձի առումով։
Առաքումը եկել է պահեստ, ապա 5 հատ դուրս են գցվել պահեստից մեքենա։ Ինչպե՞ս կանցնի տեղեկատվական համակարգում գործընթացը։
Ինչ է տեղի ունենում տվյալների հետ DELETE-ով PostgreSQL-ում?
Իմացրու վերջին աշխատանքային փորձդ, տեխնոլոգիական շերտը և ձեռքբերումները
Ի՞նչ է օգտագործվում կոնտեքստը: Ինչպես եք օգտագործել պրակտիկայում?
Ի՞նչ է Singleton ձևանմուշը: Դա ձևանմուշ է թե հակափուլ?
Կարող ես մեկ defer- ի մեջ պանիկա մշակել?
Կարո՞ղ եք նշել, որ ստիպված եք եղել գրել նոր միկրոսերվիսներ նոր ֆունկցիայի համար սկզբից։
Ինչու է օգտագործվում segmentio/kafka-go, դա մեկ գրադարան է կամ երկու՞: Ինչպես են աշխատում producer և consumer?