func Copy(src io.Reader, dst io.Writer) error { //... } import gocopy s := file.Open() err := gocopy.Copy(s, d) func Copy(src io.Reader, dst io.Writer) (statusCh, error) { //... go func() { statusCh }() } func Read() { select { case status := <-statusCh: } } type Stat struct { status string err error } func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) go func() { statusCh{ } } return statusCh } func Read() { select { case status := <-statusCh: } }
Golang
Ի՞նչ ես փնտրում աշխատանքում, ինչով ուզում ես զբաղվել?
Կա `unpredictableFunc()` ֆունկցիա, որը պետք է պատված լինի այնպես, որ այն աշխատի ժամանակային սահմանափակմամբ (օրինակ՝ 1 վայրկյան) և գրանցի գործարկման ժամանակը: // Կա ֆունկցիա, որը անընդհատ աշխատում է և վերադարձնում թիվ: // Նրա մարմինը փոխել չի կարելի (պատկերացրեք, որ ներսում ցանցային հարցում կա): func unpredictableFunc() int64 { rnd := rand.Int63n(5000) time.Sleep(time.Duration(rnd) * time.Millisecond) return rnd } // Պետք է փոխել պատված ֆունկցիան, որը կաշխատի սահմանված ժամանակային սահմանափակմամբ (օրինակ՝ 1 վայրկյան): // Եթե "երկար" ֆունկցիան ավարտվի այդ ժամանակում, դա լավ է, վերադարձնում ենք արդյունքը: // Եթե ոչ, վերադարձնում ենք սխալ: Այս դեպքում աշխատանքի արդյունքը մեզ չի հետաքրքրում: // // Ավելին, պետք է չափել, թե որքան ժամանակ է աշխատել այս ֆունկցիան (պարզապես գրեք լոգում): // Պատված ֆունկցիայի սիգնատուրան կարող է փոխվել: func predictableFunc() int64 { return unpredictableFunc() }
Որտե՞ղ եք աշխատել բանկում: Թիմի առաքելությունը ինչ էր?
Ինչպես է աշխատում SSL/TLS-ը: Նկարագրեք կապի հաստատման գործընթացը։
Ինչպես են կառուցված քարտեզները Go-ում?
Ի՞նչ է slice-ը Go-ում։
Դու գրել ես օպերատորներ Kubernetes-ի համար?
Ինչպես է աշխատում context.WithTimeout-ի ներսում?
Ի՞նչ են գործարքների մեկուսացման մակարդակները: Որոնք եք օգտագործել?
Ինչպե՞ս ստուգել CPU և հիշողության բեռը Linux-ում։
Ինչ կցուցադրվի կոդը? package main import "fmt" func main() { nums := make([]int, 1, 2) fmt.Println(nums) // appendSlice(nums, 1024) fmt.Println(nums) // mutateSlice(nums, 1, 512) fmt.Println(nums) // } func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val }
**Շարք** Մի քանի URL-ների հարցումները պետք է կատարվեն միաժամանակ։ Հաշվեք HTTP վիճակները, կառավարեք սխալները։ ```go package main func main() { urls := []string{"[link]"} // Մի բան արա } ```
Ինչպե՞ս են գորուտինները տարբերվում օպերացիոն համակարգի թելերից: Ինչու՞ են գորուտինները անհրաժեշտ:
Արդյոք դիտարկվել է տվյալների բաժանումը տաք (վերջին 3 ամիսները) և սառը՝ բեռը նվազեցնելու համար Elasticsearch-ի փոխարեն?
Ինչպես գտնել PostgreSQL-ում դանդաղ հարցումը և ինչպես այն օպտիմալացնել?
պատմիր resp.Body.Close() մասին — ինչու է դա անհրաժեշտ և ինչու ես դրել բուֆեր 10?
Ինչպե՞ս տարբերում եք Ջունիոր, Միջին և Սինյոր ծրագրավորողներին: Որոնք են ձեր Սինյոր լինելու չափանիշները?
Քանի տող էր տվյալների բազայում?
Ինդեքսները ինչ են տվյալների բազաներում: Որոնք են ինդեքսների տեսակները?