Golang
Ką daro defer?
Ar yra tarp aprašytų komandų ar sričių kokių nors komandų ar kryptių, kurios jums ypač rezonuoja, arba kurių daryti nenorėtumėte?
// ieškome geriausio -- ??? // jei nerandate, palyginkite inflight
Kaip atrodė lėtas ataskaitos užklausa ir koks buvo visas kelias nuo naudotojo užklausos iki rezultato gavimo?
Kokia yra kanalo buferio paskirtis?
Kas yra race condition ir kaip ją aptikti?
Aprašykite atvejį, kai naudodami duomenų agregaciją Elasticsearch'e sumažinote sandorių istorijos paieškos laiką nuo 2–5 sekundžių iki 150 milisekundžių: kokie buvo pradiniai duomenys ir architektūra, kas tiksliai pasikeitė ir koks buvo rezultatas?
Kokio tipo mastelio kalbame?
Kas yra kontekstas Go?
Kokius indeksus naudojote praktikoje ir kodėl?
// kodas funkcijai best() // su klaidų valdymu, jei nėra backend'o
#kliurej #technicka 1. Kas yra įspūdinga Go? - gorutinos ir planuotojas, kuris leidžia dirbti nesusimąstant apie tai, kaip jis veikia su konkurencija. 2. Kokius trūkumus matote Go? - klaidų tvarkymas 3. Kaip atėjote prie Go? 4. Kas užtikrina lengvumą Go ir kodėl gorutinos perjungia greičiau? Kodėl tai nebuvo įmanoma padaryti OS? 5. Ko aukojame, kai vietoje OS sruogų naudojame gorutinas? 6. Kas yra konkurencingumas ir paralelumas? 7. Kas yra net.Listener sąsaja ir kokie jos metodai? 8. Ar dirbote tiesiogiai su tinklais ar per karkasus ir kokius? 9. Kuo TCP skiriasi nuo UDP ir kas tai apskritai ir kam naudojama? 10. Kokie yra rizikos naudojant TCP ir UDP? 11. Kas yra bigEndian ir LittleEndian? 12. Kas yra TLS? 13. Kokie yra būdai perduoti duomenis tarp mikroservisų (pvz., komandos/užklausos/atsakymai/failų perdavimas)? Kokius modelius ar priemones galime pasirinkti ir kokie jų niuansai? 14. Kokie yra būdai perduoti duomenis per tinklą ir jų privalumai/trūkumai? 15. Su kokiomis DB dirbote ir kokius įrankius naudojote? 16. Kokią biblioteką naudojote kiekvienai DB Go kalboje? 17. Kaip kovoti, kai DB auga proceso metu? 18. DB pakeitė schemą, pakeitė laukus, kaip sprendžiate tokį uždavinį, kad neištrintumėte senų duomenų? migracijos, jei darote, kaip ir kokie jų privalumai/trūkumai? 19. Kaip gamyboje keisti DB? Kas tai darė? 20. Kaip geriau padaryti, kad DB komponentas būtų atskirtas nuo pagrindinės logikos, kad visi šie SQL užklausos, kaip metateisės, nesisklaidytų kode? Perkelti į atskirą katalogą ir logiką, o viršuje perduoti sąsajas, kad jos būtų apvyniojamos ir nepriklausytų nuo konkrečios DB + rašyti žymes? 21. Kam reikalingi indeksai ir kokie jų trūkumai? 22. Gavo užduotį: parašyti kodą - jį įdėti į projektą ir ką darysite dokumentacijos rezultatui? 23. Kokią dokumentaciją dažniausiai naudojate ir kam + kur ji eina? Pavyzdžiui, kas tai už šį sąsają, kam ji naudojama ir t.t.? Ar buvo tokia situacija? 24. Ar aktyviai naudojate go doc ir ar tokia praktika yra pas jus? 25. Ar turite specifikacijų ar jas lydite Markdown formatu? Kaip tai darote? 26. Koks jūsų darbo eiga, kas gaunasi užduotis ir kas toliau? 27. Kiek išsamiai aprašytos užduotys? T.y., ar tik įėjimas ar taip pat galvoti apie architektūrą ir klausti kažko? 28. Turime projektą su daugybe gorutinų. Papasakokite, kokie sinchronizacijos būdai naudojami, kad visi gorutinai pabaigtųsi saugiai ir elegantiškai? 29. Kur projekte naudojote gorutinas? 30. Kiek baitų užima sąsaja, kai ją perduodate funkcijoje? 31. Kas yra httpHandler, ką jis gauna ir kokia struktūra ir kokie argumentai ir signatūra? Kam jis reikalingas ir kur jis toliau naudojamas? 32. Kas yra middleware ir kaip jį naudoti? Kaip buvo jūsų projekte? 33. Kokios savybės Go kalboje leidžia kurti šiuos middleware ir kas tai yra, ką jis priima ir ką grąžina? 34. Turime funkciją, kuri priima funkciją ir po jos vykdymo paleidžia gorutina ir atlieka callback, o mes perduodame jos metodo, kuris taip pat nieko nepriima ir nieko negrąžina - ar turėsime klaidą kompiliuojant ar kažką kitą? T.y., jos signatūra yra tuščia, ir turime tam tikrą metodą, kuris reikalauja tokio tipo funkcijos, ir vietoje to, kad perduotume gryną funkciją, perdavėme metodą, t.y., objektą. metodą. 35. Yra funkcija, kuri priima int32, ir mes bandome perduoti int16, kas įvyks ir kokiame etape? 36. Kiek baitų užima atmintyje slice, pavyzdžiui, amd64? 24 baitus, o duomenys nėra perduodami į funkciją? 37. Kaip galite įgyvendinti rinkinį Golang ir kokie jų skirtumai ir niuansai? 38. Kas yra UUID ir ar jis buvo jūsų projekte, kur ir kokia biblioteka naudojote? 39. Turite žemėlapį su 1 000 000 elementų, kas įvyks, jei pridėsime dar vieną elementą? Kokie scenarijai galimi ir kaip pasikeis duomenų prieigos greitis? 41. Ar naudojote Docker (konteinerius/podus)? Ir kokias kitas paslaugas turėjote prieš Docker, "kaip įdiegti binarinį failą serveryje"? Po kodo sudarymo, ką reikia padaryti, kad šis paslaugas pradėtų automatiškai paleisti OS pradžioje?
Kas yra N+1 problema duomenų bazėse?