Golang
Ի՞նչ է անում defer-ը։
Արդյոք նկարագրված թիմերի կամ ոլորտների մեջ կան հրահանգներ կամ ուղղություններ, որոնք ձեզ հատկապես հուզում են, կամ որոնք դուք չեք ցանկանում անել?
// լավագույնը փնտրում ենք -- ??? // եթե չգտնվի, համեմատեք inflight-ով
Ինչպիսին էր դանդաղ հաշվետվության հարցումը և ինչ էր ամբողջ ճանապարհը օգտագործողի հարցումից մինչև արդյունքի ստացումը?
Ի՞նչ է ալիքային բուֆերային պահոցը:
Ի՞նչ է ռեյսային պայմանը և ինչպես հայտնաբերել այն:
Պատմեք դեպքի մասին, երբ դուք նվազեցրել եք գործարքների պատմության որոնման ժամանակը 2–5 секундից մինչև 150 միլիսեկունդ, օգտագործելով տվյալների հավաքագրման Elasticsearch-ում: ինչ էին սկզբնական տվյալները և ճարտարապետությունը, ինչն է հստակ փոխվել և ինչ էր արդյունքը?
Ինչ տեսակի մասշտաբավորման մասին ենք խոսում:
Ի՞նչ է կոնտեքստը Go-ում:
Որ ցուցանիշները եք օգտագործել պրակտիկայում և ինչու?
// best() ֆունկցիայի համար կոդ // սխալի կառավարում, երբ backend հասանելի չէ
#կլիուեյ #տեխնիկա 1. Ինչն է հիացմունքալի Go-ում? - գորուտիններ և պլանավորիչ, որը թույլ է տալիս աշխատել առանց մտածելու դրա մասին, ինչպես այն աշխատում է մրցակցայինության հետ: 2. Ինչ բացթողումներ տեսնում եք Go-ում? - սխալների մշակումը 3. Ինչպես եկաք դեպի Go? 4. Ինչով է ապահովվում թեթևությունը Go-ում և ինչու է գորուտինները արագ անցնում փոխ switch-ները? Ինչու դա չէր կարող անել օպերացիոն համակարգում? 5. Ինչ ենք զոհաբերում, երբ օպերացիոն համակարգի թելերը փոխարինում ենք գորուտիններով? 6. Ինչ է մրցակցայինությունը և պառալելությունը? 7. Ինչ է net.Listener ինտերֆեյսը և ինչ մեթոդներ ունի? 8. Աշխատե՞լ եք ուղղակի ցանցերի հետ կամ ֆրեյմվորկների միջոցով և որոնք? 9. Ինչ է TCP-ն տարբեր UDP-ից և ինչ է դա ընդհանրապես և ինչու է օգտագործվում? 10. Որո՞նք են ռիսկերը TCP և UDP օգտագործելիս? 11. Ինչ է bigEndian և LittleEndian? 12. Ինչ է TLS? 13. Ինչպիսի՞ն են տվյալների փոխանցման տարբեր եղանակները միկրոսերվիսների միջև (օրինակ՝ հրամաններ/հայցեր/պատասխաններ/ֆայլերի փոխանցում): Ինչ մոդելներ կամ գործիքներ կարող ենք ընտրել և ինչպիսի՞ն են դրանց նյուանսները: 14. Ինչպիսի՞ն են ցանցով տվյալների փոխանցման եղանակները և դրանց առավելություններն ու թերությունները: 15. Ինչ տվյալների բազաներով եք աշխատել և ինչ գործիքներ եք օգտագործել: 16. Ինչ գրադարան եք օգտագործել յուրաքանչյուր տվյալների բազայի համար Go-ում: 17. Ինչպե՞ս եք պայքարում, երբ տվյալների բազան մեծանում է զարգացման ընթացքում: 18. Տվյալների բազայում շեմը փոխվել է, դաշտերը փոխվել են, ինչպես լուծել այդ խնդիրը՝ չկործանելու հին տվյալները: Միգրացիաները, եթե անում եք, ինչպես և ինչի պլյուսներն ու մինուսները: 19. Ինչպե՞ս եք փոխում տվյալների բազան արտադրությունում: Ո՞վ է դա արել: 20. Ինչպես է ավելի լավ անել՝ որպեսզի տվյալների բազայի աշխատանքային կոմպոնենտը առանձնացվի ամբողջ հիմնական տրամաբանությունից, որպեսզի բոլոր SQL հարցումները, որպես մեթասիստեմներ, չփռվեն կոդում: Տեղափոխել դրանք առանձին ֆայլեր և տրամաբանություն, վերևից փոխանցել ինտերֆեյսներ, որպեսզի դրանք պատված լինեն և չկապվեն կոնկրետ տվյալների բազայի հետ + գրել նշաններ: 21. Ինդեքսների կարիքը ինչու է և ինչ են դրանց թերությունները: 22. Ձեզ տրվել է խնդիր՝ գրել կոդ, որը պետք է տեղադրել նախագծում և ինչ եք անելու արդյունքի փաստաթղթավորման համար: 23. Ինչպիսի՞ փաստաթղթավորում եք սովորաբար օգտագործում և ինչու + որտեղ է այն գնում: 24. Արդյո՞ք ակտիվորեն օգտագործում եք go doc և կա՞ նման պրակտիկա ձեր մոտ: 25. Ձեր կողմից ուղեկցվում են հատուկ նշաններ կամ դրանք ուղեկցվում են Markdown-ով: Ինչպես եք դա անում: 26. Ձեր աշխատանքային գործընթացը ինչպիսի՞ է, ով է գալիս առաջադրանքները և հետո ինչ: 27. Ինչքան մանրամասն են նկարագրված առաջադրանքները: Թե՞ միայն պետք է մուտք գործել կամ նաև մտածել մոդելավորման մասին և հարցնել ինչ-որ մեկից: 28. Մեր նախագծում շատ գորուտիններ կան: Պատմեք, ինչպիսի՞ միջոցներ են օգտագործվում սինխրոնիզացիայի համար, որպեսզի բոլոր գորուտինները հարթ ավարտվեն անվտանգ վայրում: 29. Որտե՞ղ եք օգտագործել գորուտիններ ձեր նախագծում: 30. Քանի՞ բայթ է զբաղեցնում ինտերֆեյսը, երբ փոխանցում եք այն ֆունկցիայում: 31. Ինչ է httpHandler-ը, ինչ է ստանում և ինչ կառուցվածք է և ինչ արգումենտներ և սիգնատուրա ունի: Ինչու է դա անհրաժեշտ և որտեղ է այն օգտագործվում: 32. Ինչ է middleware-ը և ինչպես օգտագործել: Ինչպես էր դա ձեր նախագծում: 33. Ինչ հատկություններ ունի Go լեզուն, որոնք թույլ են տալիս կառուցել այդ middleware-ները և ինչ է դա, ինչ է ընդունում և ինչ է վերադարձնում: 34. Ունեք ֆունկցիա, որը ընդունում է ֆունկցիա և հետո գործարկում goroutine և կատարում callback, իսկ մենք փոխանցում ենք այն մեթոդի, որը նույնպես ոչինչ չի ընդունում և ոչինչ չի վերադարձնում - կլինի՞ սխալ կոմպիլյացիայում կամ ինչ-որ այլ բան: Թե՛ նրա սիգնատուրան դատարկ է, և ունենք մի մեթոդ, որը պահանջում է այդպիսի ֆունկցիա, և փոխարենը, որ փոխանցենք մաքուր ֆունկցիա, փոխանցել ենք մեթոդ, այսինքն՝ օբյեկտ.մեթոդ: 35. Есть ֆունկցիա, որը ընդունում է int32, և մենք փորձում ենք փոխանցել int16, ինչ կլինի և որ փուլում: 36. Քանի՞ բայթ է զբաղեցնում հիշողության մեջ slice-ը, օրինակ՝ amd64-ում: 24 բայթ, և տվյալները չեն փոխանցվում ֆունկցիային: 37. Ինչպե՞ս կարող եք իրականացնել բազմություն Golang-ում և ինչ տարբերություններ և նյուանսներ ունեն: 38. Ինչ է UUID և արդյո՞ք այն եղել է ձեր նախագծում, որտեղ և ինչ գրադարանով եք օգտագործել: 39. Ձեր մոտ կա 1,000,000 տարրերով Map, ինչ կլինի, եթե ավելացնենք ևս մեկ տարր: Ինչպիսի՞ սցենարներ կարող են լինել և ինչպես կփոխվի տվյալների հասանելիության արագությունը: 41. Օգտագործե՞լ եք Docker (կոնտեյներներ/պոդներ): Եվ ինչ այլ ծառայություններ ունեիք նախքան Docker-ը, "ինչպես տեղադրել բինարային ֆայլը սերվերում": Ինչ անել, որպեսզի այս ծառայությունը սկսվի ОС-ի սկսման ժամանակ:
Ի՞նչ է N+1 խնդիրը տվյալների բազաներում: