Golang
Шта ради defer?
Da li među opisanima timovima ili oblastima postoje neki naredbe ili smernice koje vam posebno odjekuju ili koje biste radije izbegli?
// тражећи најбоље -- ??? // ако не пронађете, упоредите inflight
Kako je izgledao spor upit za izveštaj i koji je bio celokupni put od zahteva korisnika do dobijanja rezultata?
Која је сврха буфера канала?
Шта је услов трке и како га открити?
Ispričajte o slučaju kada ste smanjili vreme pretraživanja istorije transakcija sa 2–5 sekundi na 150 milisekundi koristeći agregaciju podataka u Elasticsearchu: kakvi su bili početni podaci i arhitektura, šta je tačno promenjeno i koji je bio rezultat?
О чему говоримо у погледу скалирања?
Шта је контекст у Go?
Koje indekse ste koristili u praksi i zašto?
// kod za funkciju best() // sa obradom grešaka ako backend nije dostupan
#клируэй #техничка 1. Шта је импресивно у Go? - горутине и планер који омогућава да радите без размишљања о томе како ради са конкуренцијом. 2. Које недостатке видите у Go? - обрада грешака 3. Како сте дошли до Go? 4. Шта обезбеђује лакоћу у Go и зашто се гоуни потоци прекидају брже? Зашто у ОС то није могло да се уради? 5. Шта жртвујемо када уместо ОС потоци користимо горутине? 6. Шта је конкуренција и паралелност? 7. Шта је интерфејс net.Listener и какви су његови методи? 8. Радили сте директно са мрежама или преко оквира и који? 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. Имамо функцију која прихвата функцију и након извршења покреће горутину и врши callback, а ми подавамо метод структуре који такође ништа не прихвата и не враћа - да ли ћемо имати грешку при компилацији или нешто друго? Тј. њена сигнатура је празна, и имамо неки метод који захтева такву функцију, а уместо да подесимо чисту функцију, подесили смо метод, тј. објекат.функција. 35. Има функцију која прихвата int32, а ми покушавамо да подесимо int16, шта ће се десити и на ком кораку? 36. Колико бајтова заузима у меморији слайс на amd64, на пример? 24 бајта, а подаци се не преносе у функцију? 37. Како можете реализовати множество у Golang и какве су њихове разлике и нюанси? 38. Шта је UUID и да ли је био код вас у пројекту, где и којом библиотеком сте користили? 39. Имаш мапу од 1 000 000 елемената, шта ће се десити ако додамо још 1 елемент? Који сценарији су могући и како ће се променити брзина приступа подацима? 41. Да ли сте користили Docker (контейнере/подове)? И које друге услуге сте имали пре Docker-а, "како распоредити бинарник на серверу"? После компилације кода, шта треба да се уради да овај сервис стартује при покретању ОС?
Шта је проблем N+1 у базама података?