#կլիուեյ #տեխնիկա
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-ը, "ինչպես տեղադրել բինարային ֆայլը սերվերում": Ինչ անել, որպեսզի այս ծառայությունը սկսվի ОС-ի սկսման ժամանակ: