Saturs[Paslēpt][Rādīt]
- 1. Aprakstiet Golangu.
- 2. Kādas ir Go priekšrocības salīdzinājumā ar citām valodām?
- 3. Kas ir fmt Golang programmēšanā?
- 4. Kas īsti ir Go saskarnes?
- 5. Kas īsti ir stīgu literāļi?
- 6. Kā Golangā tiek konfigurēta darba vide un parametri?
- 7. Aprakstiet Golang paketes?
- 8. Kādus datu tipus atbalsta Golang?
- 9. Ko jūs domājat ar mainīgā statiskā tipa deklarāciju Golangā?
- 10. Kas Golangā ir dinamiskā mainīgā deklarācija?
- 11. Kā es varu izmantot pielāgotas pakotnes GO programmēšanas valodā?
- 12. Kas īsti ir gorutīna? Kā jūs varat to apturēt?
- 13. Aprakstiet rūnu.
- 14. Kas ir Go idioma, lai attēlotu enums?
- 15. Kā izpildlaikā tiek pārbaudīts mainīgā tips?
- 16. Aprakstiet Go kanālus.
- 17. Izskaidrojiet Golang metodes.
- 18. Kas īsti ir datu sacīkstes?
- 19. Kas īsti ir Go atkritumu savākšana?
- 20. Aprakstiet testēšanas posmus, izmantojot Golang.
- 21. Kas īsti ir šķēles programmā Go?
- 22. Kas īsti ir kaudzes atmiņa?
- 23. Kas īsti ir funkciju slēgšanas?
- 24. Ko nozīmē Golanga goto paziņojums?
- 25. Kas Golangā ir Lvalue un Rvalue?
- 26. Kādas ir cilpas konstrukcijas programmā Go?
- 27. Kas īsti ir dizaina modeļi?
- 28. Kāda ir labākā Golang pakotne vienkāršām failu operācijām? Kādas papildu Golang pakotnes tiek izmantotas failu manipulācijām?
- 29. Sniedziet Golangas objektorientētās arhitektūras skaidrojumu.
- 30. Kurus reklāmguvumu veidus atbalsta Golang?
- 31. Aprakstiet tipa apgalvojuma mērķi un darbību.
- 32. Kas īsti ir struktūras tips?
- 33. Izskaidrojiet slāņa vērtības atbalsta masīvu.
- 34. Vai ir nepieciešami gan GOPATH, gan GOROOT mainīgie, un ja jā, tad kāpēc?
- 35. Vai Golang nodrošina mantošanu?
- 36. Kā Golangā parādās CGo?
- 37. Kāds ir rādītāja veids Golangā?
- Secinājumi
Go programmēšanas valoda, bieži pazīstama kā Golanga, ir atvērtā koda programmēšanas valoda, kas ir salīdzināma ar C, taču ir paredzēta ātrai kompilēšanai, vienmērīgai vienlaicībai un izstrādātāju ērtībām.
Šo valodu izstrādāja un izmantoja Google, taču pēdējos gados tā ir guvusi pievilcību citos uzņēmumos, jo ir pieaudzis pieprasījums pēc vienlaicīgas, tīklā savienotas programmēšanas.
Golang atvieglo izstrādi izstrādātājiem, piedāvājot optimālu kompilāciju ātrai programmatūras lietojumprogrammu izstrādei, vienmērīgāku vienlaicīgumu, uzlabotu izpildes laika efektivitāti un mazāku defektu skaitu.
Golang ātri kļūst par populāru korporatīvo programmēšanas valodu ar vairākām nodarbinātības iespējām. Daudzi IT lielinieki, piemēram, Google, Uber un Apple, dievina Golang par tā īsāku izstrādes laiku, vieglu mācīšanos, uzlabotu izpildes laiku, atkritumu savākšanu un citām priekšrocībām.
Tā kā arvien vairāk uzņēmumu izmanto Golang, pieaug nepieciešamība pēc Golang programmētājiem. Apakšējā līnija? Golanga apguve nodrošinātu vairākas nodarbinātības iespējas.
Ja vēlaties strādāt par Golang izstrādātāju, jums ir atbilstoši jāsagatavojas intervijai. Tāpēc mēs apkopojām šo visaptverošo Golang intervijas jautājumu kolekciju.
Šajā ziņojumā mēs iepazīstināsim ar Golang intervijas pamatjautājumiem un sarežģītiem jautājumiem, lai jūs varētu viegli tikt galā ar interviju.
1. Aprakstiet Golangu.
Go ir augsta līmeņa vispārējas nozīmes programma programmēšanas valoda kas atbalsta atkritumu savākšanu un vienlaicīgu programmēšanu un ir ļoti cieši un statiski drukāti. Go lietojumprogrammas tiek veidotas, izmantojot pakotnes, kas nodrošina efektīvu atkarības pārvaldību.
Turklāt tas izmanto kompilēšanas saites pieeju, lai izveidotu izpildāmus bināros failus no pirmkoda. Go ir vienkārša valoda ar skaistām un skaidrām sintaktiskām struktūrām.
Tas ir aprīkots ar spēcīgu standarta bibliotēku komplektu, ko izstrādātāji var izmantot, lai atrisinātu problēmas, neprasot citas pakotnes.
2. Kādas ir Go priekšrocības salīdzinājumā ar citām valodām?
- Go kods tika izstrādāts, paturot prātā praktiskumu, atšķirībā no citām valodām, kas sākās kā intelektuāli eksperimenti. Katra sintakse un funkcijas izvēle tiek veikta, paturot prātā programmētāja ērtības.
- Tā kā automātiskā atkritumu savākšana darbojas vienlaikus ar lietojumprogrammu, tā ir daudz efektīvāka nekā Java vai Python.
- Golangā prioritāte ir mērogojamība un vienlaicība.
- Golang parasti tiek uzskatīts par saprotamāku nekā citas valodas, jo tai ir viena, standartizēta koda struktūra.
3. Kas ir fmt Golang programmēšanā?
Formātu pakotne tiek apzīmēta ar simbolu fmt. Lietotāji var izmantot šo funkcionalitāti, lai formatētu pamata tekstu, vērtības vai jebko citu un izdrukātu to.
Tas arī ļauj lietotājiem saņemt termināļa ievadi, rakstīt failā ar rakstītāju un pat izveidot īpaši pielāgotus izdomātus kļūdu ziņojumus. Šī pakotne ir paredzēta ievades un izvades formatēšanai.
4. Kas īsti ir Go saskarnes?
Go saskarnes atšķiras no citām valodām. Go saskarnes ir īpašs veids, ko izmanto, lai izteiktu vienas vai vairāku metodes parakstu kolekciju.
Saskarne tiek veidota, izmantojot terminu “tips”, kam seko nosaukums un atslēgvārda saskarne. Saskarnes var definēt šādi:
- metožu kolekcija
- tips
5. Kas īsti ir stīgu literāļi?
Virknes literāls ir virknes konstante, kas iegūta, savienojot burtus. Neapstrādāti un interpretēti virkņu literāļi ir divu veidu virknes literāļi. Neapstrādātas virknes literāles ir ietvertas ar atzīmes (foo) un satur neinterpretētas UTF-8 rakstzīmes.
Interpretētie virkņu literāļi ir virknes, kas rakstītas dubultpēdiņās un ietver jebkuru rakstzīmi, izņemot jaunās rindiņas un nepilnīgās dubultpēdiņas.
6. Kā Golangā tiek konfigurēta darba vide un parametri?
Darba vidi un iestatījumus var konfigurēt, izmantojot mūsdienās plaši izmantoto JSON. Fakts, ka JSON ir iekļauts standarta bibliotēkā, ir tā galvenā priekšrocība.
Standarta bibliotēka nodrošina rakstīšanas metodes paredzētajam datu struktūra, kas padara to ļoti lasāmu. YAML pakotne pakalpojumam Go ir papildu izvēle.
7. Aprakstiet Golang paketes?
Paketes ir mapes, kurās ir citas pakotnes un to pirmkods darbvietā Go. Saistītajās pakotnēs ir iekļauts viss kods, tostarp mainīgie, funkcijas un veidi, kas ir ierakstīti avota failos.
Katrs avota fails ir pakotnes daļa, un go pakotnes var glabāt arī pakotnēs.
8. Kādus datu tipus atbalsta Golang?
Golang izmanto šādus veidus:
- Piegāde
- Būla
- Skaitliskais
- Rinda
- Rādītājs
- funkcija
- interfeiss
- Šķēle
- Struktūra
- karte
- kanāls
- Masīvs
9. Ko jūs domājat ar mainīgā statiskā tipa deklarāciju Golangā?
Kompilators var turpināt ar citu kompilāciju, bez nepieciešamības iegūt visaptverošu informāciju par mainīgo, pateicoties statiskā tipa mainīgo deklarācijām, kas pārliecina, ka ir tikai viens mainīgais ar norādīto veidu un nosaukumu.
Mainīgā deklarācija ir svarīga tikai kompilācijas laikā; kompilators, pieslēdzoties lietojumprogrammai, pieprasa reālu mainīgo un deklarāciju.
10. Kas Golangā ir dinamiskā mainīgā deklarācija?
Kompilatoram ir jāpaskaidro mainīgā veids dinamiskā tipa mainīgā deklarācijā, pamatojoties uz tam pārskaitīto summu. Kā obligāts nosacījums kompilatoram nav nepieciešams mainīgais, lai to statiski klasificētu.
11. Kā es varu izmantot pielāgotas pakotnes GO programmēšanas valodā?
Ja savai bibliotēkai veidojat atsevišķu go get -table projektu un tas ir paredzēts tikai iekšējai lietošanai, varat rakstīt šādu kodu.
- Ievietojiet bibliotēkas failu direktoriju zem sava projekta direktorija.
- Atsauciet uz bibliotēku pēc tās ceļa attiecībā pret darbvietas sakni, kurā atrodas projekts.
12. Kas īsti ir gorutīna? Kā jūs varat to apturēt?
Gorutīna ir funkcija vai procedūra, kas darbojas vienlaikus ar citām gorutīnas programmām īpašā gorutīnas pavedienā. Goroutine pavedieni ir vieglāki nekā parastie pavedieni, un lielākajā daļā Golang lietojumprogrammu vienlaikus tiek izmantoti tūkstošiem gorutīnu.
Gorutīnu var apturēt, nododot to signāla kanālam. Gorutines var reaģēt uz signāliem tikai tad, ja tie ir vērsti uz pārbaudi, tāpēc iekļaujiet pārbaudes saprātīgās vietās, piemēram, for cilpas augšdaļā.
13. Aprakstiet rūnu.
Programmā Go rūna ir iebūvēts tips ar nosaukumu int32. Unicode CodePoint kalpo kā rūna Go. Neatkarīgi no tā, cik baitus aizņem koda punkts, to var attēlot ar rūnu.
Rūnām nav jābūt sakārtotām virknē. Lai gan mēs varam pārvērst starp virkni un rūnu, tās nav vienādas.
14. Kas ir Go idioma, lai attēlotu enums?
Golang programmēšanas valoda tieši neatbalsta enums. Iota un konstantes var izmantot enumu ieviešanai. Uzskaitīta veida ieviešanai var izmantot jebkuru no šīm pieejām:
- ieviešot jaunu veselu skaitļu veidu
- Iota tiek izmantota, lai norādītu tās vērtību.
- Tipam nodrošinot virknes funkciju
15. Kā izpildlaikā tiek pārbaudīts mainīgā tips?
Tipa slēdzis ir visefektīvākā pieeja mainīgā tipa noteikšanai reāllaikā. Izmantojot tipa slēdzi, mainīgie tiek novērtēti pēc veida, nevis pēc vērtības.
Katrā Switch ir gan noklusējuma gadījums, kas tiek izpildīts, ja neviens no gadījumiem nav patiess, gan vismaz viens gadījums, kas kalpo kā nosacījuma paziņojums. Piemēram, varat izveidot tipa slēdzi, kas nosaka, vai iekļautā saskarnes vērtība ir tips int vai virkne:
16. Aprakstiet Go kanālus.
Go kanāls nodrošina datu pārraidi un pārsūtīšanu starp gorutīnām. Viena veida datus var nosūtīt pa vienu kanālu.
Kanāla divvirzienu datu plūsmas dēļ Goroutines var nosūtīt un saņemt datus vienā kanālā.
17. Izskaidrojiet Golang metodes.
Golang nenodrošina nodarbības, bet atbalsta metodes. Šīs metodes ir identiskas funkcijām, izņemot to, ka Go metodēm ir uztvērēja parametrs.
Go metodei ir piekļuve uztvērēja atribūtiem, izmantojot uztvērēja parametrus. Go metodes, kas pazīstamas arī kā uztvērēja funkcijas, palīdz prezentēt precīzāku un reālāku ideju.
18. Kas īsti ir datu sacīkstes?
Visizplatītākā un sarežģītākā atkļūdošana ir datu sacīkstes. Nesinhronizēta piekļuve koplietotajai atmiņai vai vairāku gorutīnu izpilde vienlaikus bez atsevišķas apstrādes rada datu sacīkšu kļūdu.
19. Kas īsti ir Go atkritumu savākšana?
Atkritumu savākšana atkārtoti izmanto krātuvi, kas ir dinamiski piešķirta programmai, lai to izmantotu citi objekti. Šis vārds bieži attiecas uz atkritumu savācēja automatizētu reģenerāciju ikdienas uzglabāšanai, nevis uz skaidru kodu (piegādā programmētājs), lai atbrīvotu noteiktus atmiņas blokus.
Automātiskā miskastes savākšana bieži tiek sākta, kad brīvās RAM daudzums nokrītas zem iepriekš noteikta sliekšņa vai pēc noteikta skaita piešķiršanas.
To vienumu likvidēšana, kas programmatūrai vairs nav nepieciešami, lai izveidotu vietu atmiņā dinamiskākiem objektiem, tiek saukta par "atkritumu savākšanu".
20. Aprakstiet testēšanas posmus, izmantojot Golang.
Golang nodrošina automatizētu pakotņu testēšanu, izmantojot pielāgotus testēšanas komplektus. Lai izveidotu jaunu komplektu, izveidojiet failu, kas beidzas ar _test.go un ietver funkciju TestXxx, kur Xxx tiek aizstāts ar testējamā līdzekļa nosaukumu.
Piemēram, funkcija, kas pārbauda pieteikšanās iespējas, tiks nosaukta par TestLogin. Pēc tam testēšanas komplekta fails tiek iekļauts tajā pašā pakotnē, kurā tiek pārbaudīts fails.
Parastās izpildes laikā testa fails tiks izlaists, bet tiks palaists, kad ievadīsit komandu go test.
21. Kas īsti ir šķēles programmā Go?
Šķēles ir svarīgs Go datu tips, kas nodrošina jaudīgāku saskarni sekvencēm nekā masīvi. Šķēles, atšķirībā no masīviem, tiek ierakstītas tikai atkarībā no tajās esošajiem elementiem (nevis elementu skaita).
Lai izveidotu tukšu šķēli, kuras garums nav nulle, izmantojiet iebūvēto atslēgvārdu “make”.
22. Kas īsti ir kaudzes atmiņa?
Mēs glabājam dinamiski veidotus objektus un mainīgos lielumus kaudzes atmiņā. Kad mēs vairs neizmantojam objektu, mēs parasti izdzēšam kaudzes atmiņu, ko tas aizņem.
23. Kas īsti ir funkciju slēgšanas?
Funkciju slēgšanas ir funkciju vērtību veids, kas veido ārēji atsauces mainīgos. Funkcijai ir piekļuve atsauces mainīgo vērtībām un to kontrole.
Piemēram, summas () atgrieztais aizvērums ir saistīts ar atšķirīgu atsauces summas mainīgo.
24. Ko nozīmē Golanga goto paziņojums?
Paziņojums goto darbojas kā lēciena paziņojums Golangā. Goto tiek izmantots, lai nodrošinātu noteiktas etiķetes kontroli pār programmu.
To var izmantot, lai izlaistu pāri koda daļām un pārietu tieši uz nepieciešamajiem paziņojumiem, vai arī to var izmantot, lai atkārtotu programmas koda daļu noteiktos apstākļos.
25. Kas Golangā ir Lvalue un Rvalue?
Lvērtība:
- Tas norāda uz atmiņas vietu.
- To var mainīt.
- Tas apzīmē mainīgā identifikatoru.
- Tas var rasties pa kreisi vai pa labi no operatora =.
- Piemēram, rindā x =20 x ir lvvērtība un 20 ir rvērtība.
Rvērtība:
- Tas apzīmē fiksētu vērtību.
- Tas attēlo atmiņā saglabāto datu vērtību.
- Tas vienmēr parādās operatora = labajā pusē.
- Izteiksme 10 = 20 ir nepareiza, piemēram, jo pa kreisi no operatora = ir rvērtība (10).
26. Kādas ir cilpas konstrukcijas programmā Go?
Programmā Go ir tikai viens cilpas komponents: for cilpa. For cilpa sastāv no trim daļām, kuras atdala ar semikolu:
- Init priekšraksts tiek palaists pirms cilpas sākuma. Bieži vien tā ir mainīgā deklarācija, kas parādās tikai for cilpas ietvaros.
- Pirms katras iterācijas nosacījuma priekšraksts tiek novērtēts kā Būla vērtība, lai izlemtu, vai cilpa jāturpina.
- Ziņas paziņojums tiek palaists katras iterācijas beigās.
27. Kas īsti ir dizaina modeļi?
Dizaina modeļi ir koda gabali, kurus var atkārtoti izmantot, lai risinātu izplatītas programmatūras problēmas. Ja izmantojat dizaina modeļus, jūsu projekti radīs modulārāku, mērogojamāku un efektīvāku programmatūru. Dizaina modeļi palīdz paplašināt lietotnes un strādāt ar komandu. Izplatītākie dizaina modeļi ietver rūpnīcas metodi, singletonu, fasādi un dekoratoru.
28. Kāda ir labākā Golang pakotne vienkāršām failu operācijām? Kādas papildu Golang pakotnes tiek izmantotas failu manipulācijām?
No platformas neatkarīgo saskarni nodrošina OS standarta bibliotēkas pakotne. Mijiedarbojoties ar failiem, mēs tos izmantojam sistēmas funkcijām. Operētājsistēmas saskarnei ir jābūt konsekventai visās operētājsistēmās.
Tā rezultātā mūsu izstrādātās lietotnes darbojas vienādi operētājsistēmās Windows, Linux un Mac. Citas Go standarta bibliotēkas pakotnes ietver io, ioutil un bufio. Tie darbojas ar failiem un pievieno funkcionalitāti. Tomēr tie nav nepieciešami pamata failu operācijām. Mums ir nepieciešama tikai OS pakotne.
29. Sniedziet Golangas objektorientētās arhitektūras skaidrojumu.
Golang neizmanto klases objektu dizainu kā parasto Objektu orientēta programmēšana dara. Tā vietā sarežģītas datu struktūras un uzvedība tiek glabātas struktūrās un metodēs.
Struktūra ir tikai shēma ar datu plānu, ko struktūra nesīs. Struktūras var izmantot, lai simbolizētu idejas no reālās pasaules, piemēram, grāmatas, cilvēki vai automašīnas.
30. Kurus reklāmguvumu veidus atbalsta Golang?
Kad runa ir par nepārprotamu rakstīšanu, Go ir ļoti izvēlīgs. Neviena veida konvertēšana netiek veikta automātiski. Lai apzīmētu viena veida mainīgo uz citu, tipa pārveidošana ir jāveic skaidri.
31. Aprakstiet tipa apgalvojuma mērķi un darbību.
Programmā GO tipa konvertēšana tiek izmantota, lai pārveidotu atšķirīgus tipus. Norādītā tipa precīza vērtība tiek iegūta no saskarnes vērtības, izmantojot tipa apgalvojumu.
32. Kas īsti ir struktūras tips?
Struktūra sastāv no nosauktu komponentu saraksta, ko sauc par laukiem. Katrai jomai ir savs veids un nosaukums. Vēl viens veids, kā iedomāties struktūru, ir savienotu īpašību grupa. Tie ir noderīgi, lai apvienotu datus, lai izveidotu ierakstus.
33. Izskaidrojiet slāņa vērtības atbalsta masīvu.
Kad mēs veidojam šķēlumu, Go izveido slepenu masīvu, ko sauc par aizkulises masīvu, un jaunais slāņa tipa mainīgais atsaucas uz to. Vienumi, nevis šķēle, tiek glabāti atbalsta masīvā.
Šķēles programmā Go tiek ieviestas kā datu struktūras, ko sauc par slāņu galvenēm, kas darbojas kā šķēluma izpildlaika attēlojums.
34. Vai ir nepieciešami gan GOPATH, gan GOROOT mainīgie, un ja jā, tad kāpēc?
Parasti neviens no tiem nav nepieciešams. Vienīgais mainīgais, kas jāiestata, lai norādītu uz Go pakotnes koku vai kokiem, ir GOPATH.
GOROOT attiecas uz Go programmēšanas valodas mājas direktorija sakni, taču gandrīz noteikti jau ir iestatīta pašreizējās Go instalācijas atrašanās vieta.
Ja vienā sistēmā ir vairākas Go valodu versijas vai ja Go valoda tika lejupielādēta kā bināra pakotne no interneta vai pārvietota no citas mašīnas, ir jāiestata mainīgais GOROOT.
35. Vai Golang nodrošina mantošanu?
Mantojums ir objektorientētās programmēšanas pamatjēdziens, kas attiecas uz virsklases īpašību nodošanu bāzes klasei.
Tā kā Golangam trūkst klašu, mantošana tiek veikta, izmantojot strukturu iegulšanu, un struktūras nevar tieši paplašināt, mums ir jāizmanto kompozīcijas ideja, lai izveidotu jaunus objektus ar struktūru.
36. Kā Golangā parādās CGo?
No Go avota faila ar noteiktām funkcijām cGo izveido Go un C failus, kurus var savienot unikālā Go pakotnē. C attiecas uz "pseidopakotni", kas ir cita frāze, ko cGo ģenerē, lai atsauktos uz C nosaukumvietu.
37. Kāds ir rādītāja veids Golangā?
Burtciparu apzīmējumi vai etiķetes noteiktiem atmiņas apgabaliem ir zināmi kā mainīgie. Mainīgais veids, kas pazīstams kā rādītājs, saglabā cita mainīgā lieluma atmiņas adresi.
Mainīgā adrese tiek attēlota ar rādītāja vērtību vai nulle, ja mainīgais vēl nav noteikts. Tāpat kā mainīgais apzīmē vērtības atmiņas vietu, rādītājs norāda uz šo adresi.
Secinājumi
Golang programmēšanas valodas mērķis bija ātrāk izveidot efektīvas programmas. Uzņēmumi sāka izmantot Golang, kad viņi sāka realizēt tās izdevīgās iespējas.
Golang ir bijis ārkārtīgi efektīvs, lai rosinātu izstrādātāju interesi, palielinātu viņu bāzes izmantošanu un līdz ar to arī darba iespējas. Atbildes uz iepriekš minētajiem jautājumiem, kas ir visbiežāk uzdotie Golang interviju laikā, var palīdzēt jums iegūt Golang darbu, kuru vēlaties.
redzēt Hašdorka interviju sērija par palīdzību interviju sagatavošanā.
Atstāj atbildi