#клируэй #техничка
1. Go-догу эмне керемет? - горутиндер жана планировщик, ал иштебей туруп иштөө мүмкүнчүлүгүн берет, бул конкуренция менен иштөөдө.
2. Go-догу кандай кемчиликтерди көрөсүз? - ката иштетүү
3. Go-га кантип келдиңиз?
4. Go-догу жеңилдик кандай камсыздалат жана эмне үчүн горутины тез алмашат? Эмне үчүн ОСте ошондой кылуу мүмкүн эмес?
5. Биз эмне үчүн жоготобуз, ОС жиптеринин ордуна горутины колдонулганда?
6. Конкуренция жана параллелизм деген эмне?
7. net.Listener интерфейси жана анын методдору кандай?
8. Түздөн-түз тармактар менен иштедиңизби же framework аркылуу жана кайсыл?
9. TCP менен UDP кандай айырмасы бар жана бул эмне жана эмне үчүн колдонулат?
10. TCP жана UDP колдонууда кандай коркунучтар бар?
11. bigEndian жана LittleEndian деген эмне?
12. TLS деген эмне?
13. Микросервистер арасында маалымат өткөрүүнүн кандай жолдору бар (мисалы команда/сурак/жооп/файл өткөрүү)? Биз кайсы моделдерди же каражаттарды тандай алабыз жана алардын нюанстары кандай?
14. Тармак аркылуу маалымат өткөрүүнүн кандай жолдору жана алардын артыкчылыктары/кемчиликтери?
15. Эмне СУБД менен иштедиңиз жана кандай каражаттарды колдондуңуз?
16. Ар бир маалымат базасы үчүн гошкода кайсы китепкананы колдондуңуз?
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. AMD64 сыяктуу системада слайс кандай байтты ээлейт? 24 байт, жана маалыматтар функцияга өткөрүлбөйт?
37. Golangда топтомду кандайча ишке ашырса болот жана алардын айырмачылыктары жана нюанстары кандай?
38. UUID деген эмне жана ал сиздин долбоордо колдонулду беле, кайда жана кайсы китепкананы колдондуңуз?
39. 1 000 000 элементтен турган картаңыз бар, дагы бир элемент кошсок, эмне болот? Кандай сценарийлер мүмкүн жана маалыматка жетүүнүн ылдамдыгы кандай өзгөрөт?
41. Docker (контейнерлер/поддар) колдондуңузбу? Жана Dockerден мурда кандай кызматтар бар эле, "бинардык файлды серверге жайгаштыруу"? Кодду түзгөндөн кийин, бул кызмат ОС башталганда автоматтык түрдө иштей баштоо үчүн эмне кылуу керек?