Përmbajtje[Fshih][Shfaqje]
- 1. Përshkruani Golang.
- 2. Çfarë përparësish ka Go ndaj gjuhëve të tjera?
- 3. Në programimin Golang, çfarë është fmt?
- 4. Çfarë është saktësisht Go Interfaces?
- 5. Çfarë janë saktësisht literalet e vargjeve?
- 6. Si janë konfiguruar mjediset dhe parametrat e punës në Golang?
- 7. Përshkruani paketat Golang?
- 8. Cilat lloje të të dhënave mbështeten nga Golang?
- 9. Çfarë kuptoni me deklarimin e tipit statik të një variabli në Golang?
- 10. Në Golang, çfarë është deklarimi i ndryshores dinamike?
- 11. Si mund të përdor paketat e personalizuara në gjuhën e programimit GO?
- 12. Çfarë është saktësisht një gorutinë? Si mund ta ndaloni atë?
- 13. Përshkruani një rune.
- 14. Cila është idioma Go për paraqitjen e enums?
- 15. Si kontrollohet lloji i një ndryshoreje në kohën e ekzekutimit?
- 16. Përshkruani kanalet Go.
- 17. Shpjegoni metodat Golang.
- 18. Çfarë është saktësisht një garë e të dhënave?
- 19. Çfarë është saktësisht mbledhja e mbeturinave Go?
- 20. Përshkruani fazat e testimit duke përdorur Golang.
- 21. Çfarë janë saktësisht fetat në Go?
- 22. Çfarë është saktësisht kujtesa e grumbullit?
- 23. Çfarë saktësisht janë mbylljet e funksioneve?
- 24. Çfarë do të thotë deklarata goto e Golang?
- 25. Në Golang, çfarë janë Lvalue dhe Rvalue?
- 26. Në Go, cilat janë konstruktet looping?
- 27. Çfarë janë saktësisht modelet e dizajnit?
- 28. Cila është paketa më e mirë Golang për operacione të thjeshta me skedarë? Cilat paketa shtesë Golang përdoren për manipulimin e skedarëve?
- 29. Jepni një shpjegim të Arkitekturës së Orientuar nga Objektet e Golang.
- 30. Cilat lloje të konvertimit mbështet Golang?
- 31. Përshkruani qëllimin dhe funksionimin e pohimit të llojit.
- 32. Çfarë është saktësisht një lloj strukture?
- 33. Shpjegoni grupin mbështetës të një vlere të pjesës.
- 34. A është e nevojshme të kemi edhe variablat GOPATH dhe GOROOT, dhe nëse po, pse?
- 35. A mundëson Golang trashëgiminë?
- 36. Në Golang, si shfaqet CGo?
- 37. Cili është lloji i treguesit në Golang?
- Përfundim
Gjuha e programimit Go, e njohur shpesh si Golang, është një gjuhë programimi me burim të hapur që është e krahasueshme me C, por është krijuar për përpilim të shpejtë, harmonizim të qetë dhe lehtësi të zhvilluesit.
Kjo gjuhë u zhvillua dhe u përdor nga Google, por ajo ka fituar tërheqje në firma të tjera vitet e fundit pasi kërkesa për programim të njëkohshëm dhe të rrjetëzuar është rritur.
Golang e bën zhvillimin më të lehtë për zhvilluesit duke ofruar përpilim optimal për zhvillimin e shpejtë të aplikacioneve të softuerit, njëkohshmëri më të butë, efikasitet të përmirësuar të kohës së funksionimit dhe më pak defekte.
Golang po bëhet shpejt një gjuhë programimi e njohur e korporatave, me disa opsione punësimi. Shumë gjigantë të IT-së, si Google, Uber dhe Apple, adhurojnë Golang për kohën më të shkurtër të zhvillimit, lehtësinë e të mësuarit, kohën e përmirësuar të funksionimit, mbledhjen e mbeturinave dhe përfitime të tjera.
Ndërsa më shumë firma përdorin Golang, nevoja për programues Golang rritet. Në fund të fundit? Mësimi i Golang do të ofronte disa perspektiva punësimi.
Nëse dëshironi të punoni si zhvillues Golang, duhet të përgatiteni në mënyrë adekuate për intervistën tuaj. Kjo është arsyeja pse ne përpiluam këtë koleksion gjithëpërfshirës të pyetjeve të intervistës Golang.
Në këtë postim, ne do të paraqesim pyetjet themelore deri të avancuara të intervistës Golang, kështu që ju mund ta kaloni lehtësisht intervistën.
1. Përshkruani Golang.
Go është një nivel i lartë, me qëllim të përgjithshëm gjuhë programimi që mbështet mbledhjen e mbeturinave dhe programimin e njëkohshëm dhe është shtypur shumë ngushtë dhe statikisht. Aplikacionet Go krijohen duke përdorur paketa, të cilat ofrojnë menaxhim efektiv të varësisë.
Për më tepër, ai përfiton nga qasja e përpilimit të lidhjes për të krijuar binare të ekzekutueshme nga kodi burimor. Go është një gjuhë e drejtpërdrejtë me struktura sintaksore të bukura dhe të qarta.
Ajo vjen me një sërë bibliotekash standarde të forta që mund të përdoren nga zhvilluesit për të zgjidhur çështjet pa kërkesën për paketa të tjera.
2. Çfarë përparësish ka Go ndaj gjuhëve të tjera?
- Kodi Go u zhvillua duke pasur parasysh prakticitetin, në kontrast me gjuhët e tjera që filluan si eksperimente intelektuale. Çdo zgjedhje në sintaksë dhe veçori bëhet duke pasur parasysh komoditetin e programuesit.
- Meqenëse grumbullimi automatik i plehrave funksionon njëkohësisht me aplikacionin, ai është shumë më efektiv se Java ose Python.
- Shkallueshmëria dhe konkurenca janë të dyja prioritare në Golang.
- Golang zakonisht konsiderohet të jetë më i kuptueshëm se gjuhët e tjera pasi ka një strukturë të vetme kodi të standardizuar.
3. Në programimin Golang, çfarë është fmt?
Paketa Format shënohet me simbolin fmt. Përdoruesit mund ta përdorin këtë funksionalitet për të formatuar tekstin bazë, vlerat ose çdo gjë tjetër dhe ta printojnë atë.
Ai gjithashtu i lejon përdoruesit të marrin hyrje në terminal, të shkruajnë në një skedar me një shkrimtar dhe madje të krijojnë mesazhe gabimi të zbukuruara me porosi. Kjo paketë ka të bëjë me formatimin e hyrjes dhe daljes.
4. Çfarë është saktësisht Go Interfaces?
Ndërfaqet në Go ndryshojnë nga ato në gjuhët e tjera. Ndërfaqet Go janë një lloj i veçantë që përdoret për të shprehur një koleksion të një ose më shumë nënshkrimeve të metodës.
Ndërfaqja formohet duke përdorur termin "lloj", e ndjekur nga emri dhe ndërfaqja e fjalës kyçe. Ndërfaqet mund të përcaktohen si më poshtë:
- një koleksion metodash
- Tipi
5. Çfarë janë saktësisht literalet e vargjeve?
Një varg literal është një konstante e vargut të prodhuar nga bashkimi i shkronjave. Literalet e papërpunuara dhe të interpretuara të vargut janë dy llojet e literaleve të vargut. Literalet e vargjeve të papërpunuara janë të mbyllura me shenja të pasme (foo) dhe përmbajnë karaktere UTF-8 të painterpretuara.
Literalet e vargjeve të interpretuara janë vargje të shkruara brenda thonjëzave të dyfishta dhe përfshijnë çdo karakter përveç thonjëzave të reja dhe jo të plota.
6. Si janë konfiguruar mjediset dhe parametrat e punës në Golang?
Mjediset dhe cilësimet e punës mund të konfigurohen duke përdorur JSON, i cili përdoret gjerësisht këto ditë. Fakti që JSON përfshihet në bibliotekën standarde është përfitimi kryesor i tij.
Biblioteka standarde ofron metoda të shkrimit për qëllimin struktura e të dhënave, gjë që e bën atë shumë të lexueshëm. Paketa YAML për Go është një zgjedhje shtesë.
7. Përshkruani paketat Golang?
Paketat janë dosje që strehojnë paketa të tjera dhe kodin e tyre burimor në hapësirën e punës Go. Paketat e lidhura përfshijnë të gjithë kodin, duke përfshirë variablat, funksionet dhe llojet, që janë shkruar në skedarët burimor.
Çdo skedar burimor është pjesë e një pakete, dhe paketat go mund të ruhen gjithashtu brenda paketave.
8. Cilat lloje të të dhënave mbështeten nga Golang?
Golang përdor llojet e mëposhtme:
- Metoda e dërgesës
- Boolean
- Numerike
- Varg
- akrep
- funksion
- Interface
- Fetë
- Struktura
- hartë
- kanal
- Grup
9. Çfarë kuptoni me deklarimin e tipit statik të një variabli në Golang?
Përpiluesi mund të vazhdojë me një kompilim tjetër pa pasur nevojë të ketë informacion gjithëpërfshirës për variablin falë deklaratave të variablave të tipit statik, të cilat e sigurojnë atë se ka vetëm një variabël me llojin dhe emrin e dhënë.
Një deklaratë variabël është e rëndësishme vetëm gjatë përpilimit; kompajleri kërkon një ndryshore reale dhe një deklaratë kur lidhet me aplikacionin.
10. Në Golang, çfarë është deklarimi i ndryshores dinamike?
Përpiluesi duhet të shpjegojë llojin e variablit në një lloj deklarimi dinamik të variablës bazuar në shumën e transferuar në të. Si kusht i kërkuar, përpiluesi nuk kërkon një variabël për ta kategorizuar në mënyrë statike.
11. Si mund të përdor paketat e personalizuara në gjuhën e programimit GO?
Nëse po krijoni një projekt të veçantë go get-table për bibliotekën tuaj dhe është vetëm për përdorim të brendshëm, mund të shkruani kod si ky.
- Vendosni drejtorinë e skedarëve të bibliotekës nën drejtorinë e projektit tuaj.
- Referojuni bibliotekës sipas rrugës së saj në lidhje me rrënjën e hapësirës së punës që përmban projekti.
12. Çfarë është saktësisht një gorutinë? Si mund ta ndaloni atë?
Një gorutinë është një funksion ose procedurë që ekzekutohet njëkohësisht me gorutina të tjera në një fije të dedikuar gorutine. Fijet Goroutine janë më të lehta se fijet e zakonshme dhe shumica e aplikacioneve Golang përdorin mijëra gorutina njëkohësisht.
Një gorutinë mund të ndalet duke i kaluar një kanal sinjali. Gorutinat mund t'u përgjigjen sinjaleve vetëm nëse drejtohen për të kontrolluar, prandaj përfshijnë kontrolle në vende të arsyeshme si në krye të ciklit tuaj për.
13. Përshkruani një rune.
Në Go, një rune është një lloj i integruar me emrin int32. Unicode CodePoint shërben si rune në Go. Pavarësisht se sa bajt zë pika e kodit, ajo mund të përfaqësohet nga një rune.
Runet nuk kërkohet të jenë në rregull në një varg. Edhe pse ne mund të konvertojmë midis vargut dhe runës, ato nuk janë të njëjta.
14. Cila është idioma Go për paraqitjen e enums?
Gjuha e programimit Golang nuk mbështet drejtpërdrejt enums. Jota dhe konstantet mund të përdoren për të zbatuar enums. Secila nga qasjet e mëposhtme mund të përdoret për të zbatuar një lloj të numëruar:
- duke prezantuar një lloj të ri të numrit të plotë
- Jota përdoret për të treguar vlerën e saj.
- Duke ofruar një funksion String për llojin
15. Si kontrollohet lloji i një ndryshoreje në kohën e ekzekutimit?
Ndërprerësi i tipit është qasja më efektive për përcaktimin e llojit të një ndryshoreje në kohë reale. Variablat vlerësohen sipas llojit dhe jo sipas vlerës kur përdorni Ndërprerësin e Tipit.
Si një rast i paracaktuar, i cili ekzekutohet nëse asnjë nga rastet nuk është i vërtetë dhe të paktën një rast, i cili shërben si një deklaratë e kushtëzuar, është i pranishëm në çdo Switch. Ju mund, për shembull, të dizajnoni një Ndërprerës Lloji që përcakton nëse vlera e ndërfaqes që përfshij është lloji int ose string:
16. Përshkruani kanalet Go.
Një kanal "go" mundëson transmetimin dhe transferimin e të dhënave ndërmjet gorutinave. Të dhënat e të njëjtit lloj mund të dërgohen nëpër një kanal.
Gorutinat janë në gjendje të dërgojnë dhe marrin të dhëna në të njëjtin kanal për shkak të rrjedhës së të dhënave dydrejtimëshe të kanalit.
17. Shpjegoni metodat Golang.
Golang nuk ofron klasa, por mbështet metoda. Këto metoda janë identike me funksionet, me përjashtim që metodat Go kanë një parametër marrës.
Metoda Go ka akses në atributet e marrësit nëpërmjet parametrave të marrësit. Metodat Go, të njohura gjithashtu si funksionet e marrësit, ndihmojnë në prezantimin e një ideje më të saktë dhe më reale.
18. Çfarë është saktësisht një garë e të dhënave?
Korrigjimi më i zakonshëm dhe më i vështirë është një garë e të dhënave. Qasja e pasinkronizuar në memorien e përbashkët ose ekzekutimi i disa gorutinave në të njëjtën kohë pa trajtim të veçantë rezulton në një defekt të garës së të dhënave.
19. Çfarë është saktësisht mbledhja e mbeturinave Go?
Mbledhja e mbeturinave ripërdor hapësirën e ruajtjes që i është caktuar në mënyrë dinamike një programi për përdorim nga objekte të tjera. Fjala shpesh i referohet rigjenerimit të automatizuar të grumbulluesit të mbeturinave për ruajtjen rutinë dhe jo kodit të qartë (të dhënë nga një programues) për të lëshuar blloqe të veçanta memorie.
Grumbullimi automatik i plehrave shpesh fillon kur sasia e RAM-it të lirë bie nën një prag të paracaktuar ose pas një numri të caktuar alokimesh.
Eliminimi i artikujve që softueri nuk kërkon më për të krijuar një vend në memorie për objekte më dinamike quhet "mbledhja e mbeturinave".
20. Përshkruani fazat e testimit duke përdorur Golang.
Golang ofron testim të automatizuar të paketave duke përdorur suita testimi me porosi. Për të krijuar një grup të ri, krijoni një skedar që përfundon me _test.go dhe përfshin një funksion TestXxx, ku Xxx zëvendësohet me emrin e veçorisë që po testoni.
Një funksion që teston aftësitë e hyrjes, për shembull, do të quhet TestLogin. Skedari i grupit të testimit përfshihet më pas në të njëjtën paketë me skedarin që testohet.
Skedari i testit do të anashkalohet gjatë ekzekutimit të zakonshëm, por do të ekzekutohet kur të futni komandën go test.
21. Çfarë janë saktësisht fetat në Go?
Slices janë një lloj i rëndësishëm i të dhënave Go që ofron një ndërfaqe më të fuqishme për sekuencat sesa vargjet. Fetat, ndryshe nga vargjet, shtypen vetëm në varësi të elementeve që përmbajnë (jo numrit të elementeve).
Për të ndërtuar një pjesë të zbrazët me një gjatësi që nuk është zero, përdorni fjalën kyçe të integruar "make".
22. Çfarë është saktësisht kujtesa e grumbullit?
Ne ruajmë objekte dhe ndryshore të formuara në mënyrë dinamike në kujtesën e grumbullit. Kur nuk përdorim më një objekt, zakonisht fshijmë kujtesën e grumbullit që ka zënë.
23. Çfarë saktësisht janë mbylljet e funksioneve?
Mbylljet e funksioneve janë një lloj vlere funksioni që krijon variabla të referuara nga jashtë. Funksioni ka akses dhe kontroll mbi vlerat e variablave të referuara.
Si ilustrim, mbyllja e kthyer nga një adder() është secila e lidhur me një variabël të shumës së referuar të ndryshme.
24. Çfarë do të thotë deklarata goto e Golang?
Deklarata goto funksionon si një deklaratë kërcimi në Golang. Goto përdoret për të siguruar një kontroll të specifikuar të etiketës mbi programin.
Mund të përdoret për të kapërcyer disa pjesë të kodit dhe për të shkuar drejt në deklaratat e nevojshme, ose mund të përdoret për të përsëritur një pjesë të kodit të programit duke pasur parasysh një rrethanë të caktuar.
25. Në Golang, çfarë janë Lvalue dhe Rvalue?
Vlera:
- Aludon për një vend kujtimi.
- Mund të ndryshohet.
- Ai tregon një identifikues të ndryshores.
- Mund të ndodhë në të majtë ose në të djathtë të operatorit =.
- Në rreshtin x =20, për shembull, x është një vlerë l dhe 20 është një vlerë r.
Vlera:
- Ai nënkupton një vlerë fikse.
- Ai përfaqëson një vlerë të të dhënave të ruajtura në memorie.
- Ndodh gjithmonë në anën e djathtë të operatorit =.
- Shprehja 10 = 20 është e pasaktë, për shembull, pasi ekziston një vlerë r (10) në të majtë të operatorit =.
26. Në Go, cilat janë konstruktet looping?
Ekziston vetëm një komponent looping në Go: cikli for. Cikli for përbëhet nga tre pjesë që ndahen me pikëpresje:
- Deklarata Init ekzekutohet përpara se të fillojë cikli. Shpesh është një deklaratë e ndryshueshme që shfaqet vetëm brenda fushës së ciklit for.
- Para çdo përsëritjeje, deklarata e kushtit vlerësohet si një Boolean për të vendosur nëse cikli duhet të vazhdojë.
- Deklarata e postimit ekzekutohet në përfundim të çdo përsëritjeje.
27. Çfarë janë saktësisht modelet e dizajnit?
Modelet e dizajnit janë copa kodi që mund të ripërdoren për të trajtuar çështjet e zakonshme të softuerit. Nëse përdorni modele dizajni, projektet tuaja do të gjenerojnë softuer më modular, të shkallëzuar dhe efikas. Modelet e dizajnit ju ndihmojnë të zgjeroni aplikacionet tuaja dhe të punoni me një ekip. Modelet e zakonshme të dizajnit përfshijnë metodën e fabrikës, Singleton, Fasadën dhe Dekoratorin.
28. Cila është paketa më e mirë Golang për operacione të thjeshta me skedarë? Cilat paketa shtesë Golang përdoren për manipulimin e skedarëve?
Ndërfaqja e pavarur nga platforma ofrohet nga paketa standarde e bibliotekës os. Kur ndërveprojmë me skedarë, ne i përdorim ato për funksionet e sistemit. Ndërfaqja OS është menduar të jetë e qëndrueshme në të gjitha sistemet operative.
Si rezultat, aplikacionet që ne zhvillojmë funksionojnë njësoj në Windows, Linux dhe Mac. Paketa të tjera standarde të bibliotekës Go përfshijnë io, ioutil dhe bufio. Ata funksionojnë me skedarë dhe shtojnë funksionalitet. Megjithatë, ato nuk kërkohen për operacionet themelore të skedarëve. Ne kërkojmë vetëm paketën OS.
29. Jepni një shpjegim të Arkitekturës së Orientuar nga Objektet e Golang.
Golang nuk përdor një dizajn klasë-objekt si konvencional Programimi i Orientuar nga Objektet bën. Strukturat komplekse të të dhënave dhe sjellja ruhen në struktura dhe metoda.
Një strukturë është thjesht një skemë me një plan për të dhënat që do të mbajë një strukturë. Strukturat mund të përdoren për të simbolizuar ide nga bota aktuale, si libra, njerëz ose automobila.
30. Cilat lloje të konvertimit mbështet Golang?
Kur bëhet fjalë për shkrimin e qartë, Go është shumë zgjedhës. Asnjë konvertim i tipit nuk bëhet automatikisht. Për të përcaktuar një variabël të një lloji në tjetrin, konvertimi i tipit duhet të bëhet në mënyrë eksplicite.
31. Përshkruani qëllimin dhe funksionimin e pohimit të llojit.
Në GO, konvertimi i tipit përdoret për të transformuar lloje të ndryshme. Një vlerë e qartë e tipit të specifikuar nxirret nga një vlerë ndërfaqeje me një pohim tipi.
32. Çfarë është saktësisht një lloj strukture?
Një strukturë përbëhet nga një listë e komponentëve të emërtuar të quajtur fusha. Ka një lloj dhe një emër për çdo fushë. Një mënyrë tjetër për të konceptuar një strukturë është si një grup i vetive të lidhura. Ato janë të dobishme për kombinimin e të dhënave për të krijuar regjistrime.
33. Shpjegoni grupin mbështetës të një vlere të pjesës.
Kur ndërtojmë një pjesë, Go prodhon një grup sekret të quajtur grup mbështetës ose grup themelor në prapaskenë, dhe variabla e tipit të ri të fetës i referohet asaj. Artikujt, jo feta, ruhen në grupin mbështetës.
Slices zbatohen në Go si struktura të dhënash të quajtura tituj të pjesëve, të cilat veprojnë si paraqitje e kohës së funksionimit të pjesës.
34. A është e nevojshme të kemi edhe variablat GOPATH dhe GOROOT, dhe nëse po, pse?
Zakonisht, asnjëra nuk është e nevojshme. E vetmja variabël që duhet të vendoset për të treguar pemën ose pemët e paketës Go është GOPATH.
GOROOT i referohet rrënjës së drejtorisë kryesore për gjuhën e programimit Go, megjithatë, pothuajse me siguri është vendosur tashmë në vendndodhjen e instalimit aktual Go.
Nëse ka shumë versione të gjuhës Go në të njëjtin sistem, ose nëse gjuha Go është shkarkuar si një paketë binare nga interneti ose është zhvendosur nga një makinë tjetër, ndryshorja GOROOT duhet të vendoset.
35. A mundëson Golang trashëgiminë?
Trashëgimia është një nocion bazë në programimin e orientuar nga objekti që i referohet kalimit të vetive të superklasës në klasën bazë.
Meqenëse Golang-ut i mungojnë klasat, trashëgimia realizohet duke përdorur ngulitjen e strukturës dhe strukturat nuk mund të zgjerohen drejtpërdrejt, ne duhet të përdorim idenë e kompozimit për të krijuar objekte të reja me strukturën.
36. Në Golang, si shfaqet CGo?
Nga një skedar burimor Go me veçori të përcaktuara, cGo krijon skedarë Go dhe C që mund të bashkohen në një paketë unike Go. C i referohet një "pseudo-pakete", e cila është një frazë e ndryshme e krijuar nga cGo për t'iu referuar hapësirës së emrave të C.
37. Cili është lloji i treguesit në Golang?
Emërtimet alfanumerike ose etiketat për rajone të caktuara të memories njihen si variabla. Një lloj variabli i njohur si pointer ruan adresën e memories së një variabli tjetër.
Adresa e një variabli përfaqësohet nga një vlerë treguese, ose zero nëse ndryshorja nuk është vendosur ende. Ashtu si një ndryshore përfaqëson vendndodhjen e kujtesës së një vlere, një tregues tregon atë adresë.
Përfundim
Qëllimi i gjuhës së programimit Golang ishte të krijonte programe efektive më shpejt. Kompanitë filluan të përdorin Golang ndërsa filluan të kuptojnë mundësitë e tij të favorshme.
Golang ka qenë jashtëzakonisht efektiv në ndezjen e interesit të zhvilluesve, rritjen e përdorimit të bazës së tyre dhe, rrjedhimisht, mundësitë e punësimit. Përgjigjet e pyetjeve të lartpërmendura, të cilat janë ato më të zakonshmet që bëhen gjatë intervistave në Golang, mund t'ju ndihmojnë të arrini punën në Golang që kërkoni.
Shiko Seria e intervistave të Hashdork për ndihmë në përgatitjen e intervistës.
Lini një Përgjigju