Golang
Ռեզյումեում նշվում է, որ դուք իրականացրել եք tracing — կարող եք ավելին պատմել?
Ի՞նչ ինդեքսներ գիտես տվյալների բազայում։
Ի՞նչ եղանակներ գիտես goroutine-ների փոխարկման համար: Ինչպե՞ս ձեռքով փոխարկել goroutine-ները:
Ինչպե՞ս անել, որ ընդհանրապես չգնալ ծառայություն, որը հաստատ կպад կամ հասանելի չէ:
func fanin[T ցանկացած](chs ...<-chan T) chan T { out := make(chan T) wg := sync.WaitGroup{} for _, ch := range chs { wg.Add(1) go func(c <-chan T) { defer wg.Done() for v := range c { out <- v } }(ch) } go func() { wg.Wait() close(out) }() return out } func main() { ch1 := make(chan int, 5) ch2 := make(chan int, 5) for i := 1; i <= 5; i++ { ch1 <- i ch2 <- i * 2 } close(ch1) close(ch2) fmt.Println(fanin(ch1, ch2)) }
Ինչպե՞ս կարող են կոնտեյներները փոխազդել միմյանց հետ։
Դուք ձեր մոնոլիթի համար տվյալների բազան պահպանում եք ընդհանուր կամ այն բաժանված է առանձին տվյալների բազաների համար յուրաքանչյուր ծառայության համար?
Կարո՞ղ էր արդյոք փոփոխել սահմանները և կանոնները աշխատաժամանակ: Դրա համար կար UI?
Երբեք աշխատե՞լ եք որպես արտահոսք/արտահաստիք։
Եվ հետո ինչ եք անում այս տվյալների հետ?
Ի՞նչ են Go-ի գորուտինները և ինչպե՞ս են դրանք տարբերվում համակարգային թելերից։
Ինչու եք ընտրում ալիք՝ փոխարեն WaitGroup/errgroup-ի? Ինչու է errgroup-ը վատը?
Ի՞նչ ես հիմա փնտրում քեզ համար, որ ուղղությամբ ուզում ես զարգանալ?
Ինչու առաջացավ անհրաժեշտությունը նվազեցնել հատկացումները՝ դա բիզնեսի պահանջն էր, թե թիմի սեփական նախաձեռնությունը?
Կնքե՞լ եք զինվորական գրքույկը։
Քանի առևտրային փորձ ունես Go-ում?
Կարող եք ամբողջ ժամանակ հեռավար աշխատել կամ պատրաստ եք նաև գրասենյակային տարբերակները դիտարկել?
Ինչպե՞ս էին ստանում առաջադրանքները: Որտե՞ղ էին վարում առաջադրանքներն ու կարգավիճակները։
Redis կար բոլոր երեք տվյալների կենտրոններում?
Ներկայացրեք, թե ինչ է inventory_code (կոդ) դաշտը գրքերի աղյուսակում, դա ինչ է?