Pregled sadržaja[Sakriti][Pokazati]
- 1. Opišite Golang.
- 2. Koje prednosti Go ima u odnosu na druge jezike?
- 3. Što je fmt u Golang programiranju?
- 4. Što je točno Go sučelja?
- 5. Što su točno string literali?
- 6. Kako su radna okruženja i parametri konfigurirani u Golangu?
- 7. Opišite Golang pakete?
- 8. Koje vrste podataka podržava Golang?
- 9. Što mislite pod deklaracijom statičkog tipa varijable u Golangu?
- 10. Što je deklaracija dinamičke varijable u Golangu?
- 11. Kako mogu koristiti prilagođene pakete u programskom jeziku GO?
- 12. Što je zapravo goroutine? Kako to možete zaustaviti?
- 13. Opišite runu.
- 14. Što je Go idiom za predstavljanje enuma?
- 15. Kako se tip varijable provjerava tijekom izvođenja?
- 16. Opišite Go kanale.
- 17. Objasnite Golangove metode.
- 18. Što je zapravo podatkovna utrka?
- 19. Što je zapravo Go garbage collection?
- 20. Opišite faze testiranja pomoću Golanga.
- 21. Što su točno kriške u Go-u?
- 22. Što je točno heap memorija?
- 23. Što su zapravo zatvaranja funkcija?
- 24. Što znači Golangova izjava goto?
- 25. U Golangu, što su Lvalue i Rvalue?
- 26. Što su konstrukcije petlji u Gou?
- 27. Što su zapravo obrasci dizajna?
- 28. Koji je najbolji Golang paket za jednostavne operacije datoteka? Koji se dodatni Golang paketi koriste za manipulaciju datotekama?
- 29. Dajte objašnjenje Golangove objektno orijentirane arhitekture.
- 30. Koje vrste pretvorbe podržava Golang?
- 31. Opišite svrhu i rad tvrdnje tipa.
- 32. Što je točno tip strukture?
- 33. Objasnite prateći niz vrijednosti odsječka.
- 34. Je li potrebno imati i GOPATH i GOROOT varijablu, i ako je potrebno, zašto?
- 35. Omogućuje li Golang nasljeđivanje?
- 36. Kako se CGo pojavljuje u Golangu?
- 37. Koji je tip pokazivača u Golangu?
- Zaključak
Go programski jezik, često poznat kao Golang, je programski jezik otvorenog koda koji je usporediv s C-om, ali je dizajniran za brzu kompilaciju, glatku konkurentnost i pogodnost za razvojne programere.
Ovaj jezik je razvio i koristio Google, ali je postao popularan u drugim tvrtkama posljednjih godina kako je rasla potražnja za istodobnim, umreženim programiranjem.
Golang programerima olakšava razvoj nudeći optimalnu kompilaciju za brzi razvoj softverskih aplikacija, glatkiju konkurentnost, poboljšanu učinkovitost vremena izvođenja i manje nedostataka.
Golang brzo postaje popularan korporativni programski jezik, s nekoliko mogućnosti zapošljavanja. Mnogi IT velikani, poput Googlea, Ubera i Applea, obožavaju Golang zbog kraćeg vremena razvoja, lakoće učenja, poboljšanog vremena izvođenja, sakupljanja smeća i drugih prednosti.
Kako sve više tvrtki koristi Golang, potreba za Golang programerima raste. Donja linija? Učenje Golanga pružilo bi nekoliko mogućnosti zapošljavanja.
Ako želite raditi kao Golang programer, morate se adekvatno pripremiti za intervju. Zato smo sastavili ovu opsežnu zbirku pitanja za Golang intervju.
U ovom postu predstavit ćemo osnovna do napredna pitanja za Golang intervju, tako da možete lako proći kroz intervju.
1. Opišite Golang.
Go je opće namjene visoke razine programski jezik koji podržava skupljanje smeća i paralelno programiranje i vrlo je čvrsto i statički tipiziran. Go aplikacije stvorene su korištenjem paketa koji omogućuju učinkovito upravljanje ovisnostima.
Dodatno, iskorištava prednost pristupa povezivanja kompajliranja za stvaranje izvršnih binarnih datoteka iz izvornog koda. Go je jednostavan jezik s lijepim i jasnim sintaktičkim strukturama.
Dolazi sa skupom jakih standardnih biblioteka koje programeri mogu koristiti za rješavanje problema bez potrebe za drugim paketima.
2. Koje prednosti Go ima u odnosu na druge jezike?
- Go kod je razvijen imajući na umu praktičnost, za razliku od drugih jezika koji su započeli kao intelektualni eksperimenti. Svaki izbor sintakse i značajke napravljen je imajući na umu pogodnost programera.
- Budući da se automatsko prikupljanje smeća izvodi istodobno s aplikacijom, daleko je učinkovitije od Jave ili Pythona.
- Skalabilnost i konkurentnost imaju prioritet u Golangu.
- Golang se obično smatra razumljivijim od drugih jezika budući da ima jedinstvenu standardiziranu strukturu koda.
3. Što je fmt u Golang programiranju?
Paket Format je označen simbolom fmt. Korisnici mogu koristiti ovu funkciju za formatiranje osnovnog teksta, vrijednosti ili bilo čega drugog i ispis.
Također omogućuje korisnicima primanje ulaza s terminala, pisanje u datoteku s programom za pisanje, pa čak i izradu prilagođenih otmjenih poruka o pogrešci. Ovaj paket se bavi formatiranjem ulaza i izlaza.
4. Što je točno Go sučelja?
Sučelja u Go razlikuju se od onih u drugim jezicima. Go sučelja su posebna vrsta koja se koristi za izražavanje zbirke jednog ili više potpisa metode.
Sučelje se formira korištenjem izraza "vrsta", nakon kojeg slijedi naziv i ključna riječ sučelje. Sučelja se mogu definirati na sljedeći način:
- zbirka metoda
- Tip
5. Što su točno string literali?
String literal je string konstanta proizvedena ulančavanjem slova. Neobrađeni i interpretirani string literali dvije su vrste string literala. Neobrađeni literali niza okruženi su povratnim kvačicama (foo) i sadrže neprotumačene UTF-8 znakove.
Interpretirani string literali su nizovi napisani unutar dvostrukih navodnika i uključuju bilo koji znak osim novog retka i nepotpunih dvostrukih navodnika.
6. Kako su radna okruženja i parametri konfigurirani u Golangu?
Radna okruženja i postavke mogu se konfigurirati pomoću JSON-a, koji se danas široko koristi. Činjenica da je JSON uključen u standardnu biblioteku njegova je glavna prednost.
Standardna biblioteka nudi metode pisanja za one koji su namijenjeni struktura podataka, što ga čini vrlo čitljivim. YAML paket za Go je dodatni izbor.
7. Opišite Golang pakete?
Paketi su mape u kojima se nalaze drugi paketi i njihov izvorni kod u Go radnom prostoru. Povezani paketi uključuju sav kod, uključujući varijable, funkcije i tipove, koji su napisani u izvornim datotekama.
Svaka je izvorna datoteka dio paketa, a go paketi se također mogu pohraniti unutar paketa.
8. Koje vrste podataka podržava Golang?
Golang koristi sljedeće vrste:
- način
- Booleova
- Numerički
- Niz
- Pokazivač
- funkcija
- Sučelje
- Kriška
- struct
- Karta
- Kanal
- Poredak
9. Što mislite pod deklaracijom statičkog tipa varijable u Golangu?
Prevodilac može nastaviti s drugom kompilacijom bez potrebe za opsežnim informacijama o varijabli zahvaljujući deklaracijama varijabli statičkog tipa, koje ga uvjeravaju da postoji samo jedna varijabla s danom vrstom i imenom.
Deklaracija varijable važna je samo tijekom kompilacije; kompajler zahtijeva stvarnu varijablu i deklaraciju kada se povezuje s aplikacijom.
10. Što je deklaracija dinamičke varijable u Golangu?
Prevodilac mora objasniti vrstu varijable u dinamičkom tipu deklaracije varijable na temelju iznosa koji joj je prenesen. Kao obavezni uvjet, prevodilac ne zahtijeva varijablu za statičku kategorizaciju.
11. Kako mogu koristiti prilagođene pakete u programskom jeziku GO?
Ako stvarate zasebni go get -table projekt za svoju biblioteku i on je samo za internu upotrebu, možete napisati kod poput ovog.
- Postavite direktorij datoteka biblioteke ispod direktorija vašeg projekta.
- Referirajte se na biblioteku prema njenom putu relativnom prema korijenu radnog prostora koji sadrži projekt.
12. Što je zapravo goroutine? Kako to možete zaustaviti?
Goroutine je funkcija ili procedura koja se izvodi istovremeno s drugim goroutinama na posvećenoj gorutine niti. Goroutine niti su lakše od običnih niti, a većina Golang aplikacija istovremeno koristi tisuće goroutine.
Goroutine se može zaustaviti prosljeđivanjem signalnog kanala. Goroutine mogu odgovoriti na signale samo ako su usmjereni na provjeru, stoga uključite provjere na razumnim mjestima kao što je vrh vaše for petlje.
13. Opišite runu.
U Go-u, runa je ugrađena vrsta s imenom int32. Unicode CodePoint služi kao runa u Gou. Bez obzira koliko bajtova kodna točka zauzima, može se predstaviti runom.
Rune ne moraju biti poredane u nizu. Iako možemo pretvarati niz i rune obrnuto, oni nisu isti.
14. Što je Go idiom za predstavljanje enuma?
Programski jezik Golang ne podržava izravno enume. Iota i konstante mogu se koristiti za implementaciju enuma. Za implementaciju enumeriranog tipa može se koristiti bilo koji od sljedećih pristupa:
- uvođenje novog integer tipa
- Jota se koristi za označavanje njegove vrijednosti.
- Davanjem funkcije String tipu
15. Kako se tip varijable provjerava tijekom izvođenja?
Tipski prekidač je najučinkovitiji pristup određivanju tipa varijable u stvarnom vremenu. Varijable se procjenjuju prema vrsti, a ne prema vrijednosti kada se koristi tipski prekidač.
I zadani slučaj, koji se izvršava ako nijedan od slučajeva nije istinit, i barem jedan slučaj, koji služi kao uvjetni iskaz, prisutni su u svakom prekidaču. Možete, na primjer, dizajnirati Type Switch koji određuje je li vrijednost sučelja koju uključujem tip int ili string:
16. Opišite Go kanale.
Go kanal omogućuje prijenos podataka i prijenos između goroutina. Podaci iste vrste mogu se slati preko jednog kanala.
Goroutine mogu slati i primati podatke preko istog kanala zbog dvosmjernog toka podataka kanala.
17. Objasnite Golangove metode.
Golang ne nudi klase, ali podržava metode. Ove su metode identične funkcijama, s tim da Go metode imaju parametar primatelja.
Metoda Go ima pristup atributima primatelja preko parametara primatelja. Go metode, također poznate kao funkcije prijemnika, pomažu u predstavljanju točnije ideje iz stvarnog svijeta.
18. Što je zapravo podatkovna utrka?
Najčešći i najteži debug je podatkovna utrka. Nesinkronizirani pristup zajedničkoj memoriji ili izvršavanje nekoliko goroutina u isto vrijeme bez odvojenog rukovanja rezultira greškom podatkovne utrke.
19. Što je zapravo Go garbage collection?
Skupljanje smeća prenamjenjuje pohranu koja je dinamički dodijeljena programu za korištenje od strane drugih objekata. Riječ se često odnosi na automatiziranu regeneraciju sakupljača otpada za rutinsko skladištenje, a ne na eksplicitni kod (koji daje programer) za oslobađanje određenih memorijskih blokova.
Automatsko prikupljanje smeća često počinje kada količina slobodnog RAM-a padne ispod unaprijed definiranog praga ili nakon određenog broja dodjela.
Uklanjanje stavki koje softver više ne zahtijeva za stvaranje mjesta u memoriji za dinamičnije objekte naziva se "skupljanje smeća".
20. Opišite faze testiranja pomoću Golanga.
Golang pruža automatizirano testiranje paketa pomoću prilagođenih paketa za testiranje. Da biste uspostavili novi paket, izradite datoteku koja završava s _test.go i uključuje funkciju TestXxx, gdje je Xxx zamijenjen nazivom značajke koju testirate.
Funkcija koja testira mogućnosti prijave, na primjer, zvala bi se TestLogin. Datoteka paketa za testiranje tada je uključena u isti paket kao i datoteka koja se testira.
Testna datoteka bit će preskočena tijekom uobičajenog izvođenja, ali će se pokrenuti kada unesete naredbu go test.
21. Što su točno kriške u Go-u?
Odsječci su važan Go tip podataka koji pruža moćnije sučelje za sekvence od nizova. Odsječci se, za razliku od polja, tipiziraju isključivo ovisno o elementima koje sadrže (ne o broju elemenata).
Za konstruiranje prazne kriške s duljinom koja nije nula, koristite ugrađenu ključnu riječ "make".
22. Što je točno heap memorija?
Pohranjujemo dinamički oblikovane objekte i varijable u heap memoriju. Kada više ne koristimo objekt, obično brišemo heap memoriju koju je zauzimao.
23. Što su zapravo zatvaranja funkcija?
Zatvaranja funkcija vrsta su funkcijske vrijednosti koja čini vanjske referencirane varijable. Funkcija ima pristup i kontrolu nad vrijednostima referentnih varijabli.
Kao ilustracija, zatvaranje koje vraća adder() povezano je s drugom referenciranom varijablom zbroja.
24. Što znači Golangova izjava goto?
Naredba goto funkcionira kao naredba skoka u Golangu. Goto se koristi za pružanje određene kontrole oznake nad programom.
Može se koristiti za preskakanje dijelova koda i odlazak na potrebne izjave ili se može koristiti za ponavljanje dijela programskog koda s obzirom na određene okolnosti.
25. U Golangu, što su Lvalue i Rvalue?
Lvrijednost:
- Aludira na mjesto sjećanja.
- Može se promijeniti.
- Označava identifikator varijable.
- Može se pojaviti lijevo ili desno od operatora =.
- U retku x =20, na primjer, x je lvrijednost, a 20 je rvrijednost.
Rvrijednost:
- Označava fiksnu vrijednost.
- Predstavlja vrijednost podataka pohranjenu u memoriji.
- Uvijek se pojavljuje na desnoj strani operatora =.
- Izraz 10 = 20 nije točan, na primjer, jer postoji rvrijednost (10) lijevo od operatora =.
26. Što su konstrukcije petlji u Gou?
Postoji samo jedna komponenta petlje u Gou: for petlja. For petlja se sastoji od tri dijela koji su odvojeni točkom i zarezom:
- Naredba Init izvodi se prije početka petlje. To je često deklaracija varijable koja se pojavljuje samo unutar opsega for petlje.
- Prije svake iteracije, iskaz uvjeta se procjenjuje kao Booleov da bi se odlučilo treba li se petlja nastaviti.
- Post izjava se izvodi na kraju svake iteracije.
27. Što su zapravo obrasci dizajna?
Uzorci dizajna su dijelovi koda koji se mogu ponovno upotrijebiti za rješavanje uobičajenih problema sa softverom. Ako koristite uzorke dizajna, vaši će projekti generirati modularniji, skalabilniji i učinkovitiji softver. Uzorci dizajna pomažu vam u proširenju vaših aplikacija i radu s timom. Uobičajeni obrasci dizajna uključuju tvorničku metodu, singlton, fasadu i dekorater.
28. Koji je najbolji Golang paket za jednostavne operacije datoteka? Koji se dodatni Golang paketi koriste za manipulaciju datotekama?
Sučelje neovisno o platformi pruža paket standardne knjižnice os. U interakciji s datotekama koristimo ih za funkcije sustava. Os sučelje treba biti dosljedno u svim operativnim sustavima.
Kao rezultat toga, aplikacije koje razvijamo rade isto na Windowsima, Linuxu i Macu. Ostali paketi Go standardne knjižnice uključuju io, ioutil i bufio. Rade s datotekama i dodaju funkcionalnost. Međutim, oni nisu potrebni za temeljne operacije datoteka. Potreban nam je samo os paket.
29. Dajte objašnjenje Golangove objektno orijentirane arhitekture.
Golang ne koristi dizajn klase-objekta kao uobičajen Objektno orijentirano programiranje radi. Složene strukture podataka i ponašanje umjesto toga pohranjuju se u strukture i metode.
Struktura je samo shema s nacrtom za podatke koje će struktura nositi. Strukture se mogu koristiti za simboliziranje ideja iz stvarnog svijeta, poput knjiga, ljudi ili automobila.
30. Koje vrste pretvorbe podržava Golang?
Kada je riječ o eksplicitnom tipkanju, Go je vrlo izbirljiv. Pretvorba tipa se ne vrši automatski. Za označavanje varijable jednog tipa u drugi, pretvorba tipa mora se izvršiti eksplicitno.
31. Opišite svrhu i rad tvrdnje tipa.
U GO se pretvorba tipa koristi za transformaciju različitih tipova. Eksplicitna vrijednost navedenog tipa izdvaja se iz vrijednosti sučelja tvrdnjom tipa.
32. Što je točno tip strukture?
Struktura se sastoji od popisa imenovanih komponenti koje se nazivaju polja. Za svako polje postoji vrsta i ime. Drugi način da se struktura zamisli kao grupa povezanih svojstava. Oni su korisni za kombiniranje podataka za stvaranje zapisa.
33. Objasnite prateći niz vrijednosti odsječka.
Kada gradimo odsječak, Go proizvodi tajni niz koji se zove backing ili temeljni niz iza scene, a nova varijabla tipa odsječka referencira ga. Stavke, a ne kriška, pohranjene su u pozadinskom polju.
Odsječci su implementirani u Go kao podatkovne strukture koje se nazivaju zaglavlja odsječka, a djeluju kao prikaz odsječka u vremenu izvođenja.
34. Je li potrebno imati i GOPATH i GOROOT varijablu, i ako je potrebno, zašto?
Obično niti jedno nije potrebno. Jedina varijabla koja se mora postaviti da pokazuje na Go stablo ili stabla je GOPATH.
GOROOT se odnosi na korijen matičnog direktorija za Go programski jezik, međutim, gotovo sigurno je već postavljen na lokaciju trenutne Go instalacije.
Ako postoje brojne verzije jezika Go na istom sustavu ili ako je jezik Go preuzet kao binarni paket s interneta ili premješten s drugog stroja, varijabla GOROOT mora biti postavljena.
35. Omogućuje li Golang nasljeđivanje?
Nasljeđivanje je osnovni pojam u objektno orijentiranom programiranju koji se odnosi na prijenos svojstava nadklase na osnovnu klasu.
Kako Golangu nedostaju klase, nasljeđivanje se postiže ugradnjom strukture i strukture se ne mogu izravno proširiti, moramo koristiti ideju kompozicije za stvaranje novih objekata sa strukturom.
36. Kako se CGo pojavljuje u Golangu?
Iz Go izvorne datoteke s definiranim značajkama, cGo stvara Go i C datoteke koje se mogu spojiti u jedinstveni Go paket. C se odnosi na "pseudo-paket", što je drugačija fraza koju je generirao cGo da se odnosi na C-ov prostor imena.
37. Koji je tip pokazivača u Golangu?
Alfanumeričke oznake ili oznake za određene memorijske regije poznate su kao varijable. Vrsta varijable poznata kao pokazivač pohranjuje memorijsku adresu druge varijable.
Adresa varijable predstavljena je vrijednošću pokazivača ili nulom ako varijabla još nije uspostavljena. Baš kao što varijabla predstavlja memorijsku lokaciju vrijednosti, pokazivač pokazuje na tu adresu.
Zaključak
Cilj programskog jezika Golang bio je brže stvaranje učinkovitih programa. Kompanije su počele koristiti Golang kada su počele shvaćati njegove korisne mogućnosti.
Golang je bio iznimno učinkovit u poticanju interesa programera, povećanju njihove upotrebe baze i, posljedično, mogućnosti zapošljavanja. Odgovori na gore navedena pitanja, koja su najčešće postavljana tijekom razgovora s Golangom, mogu vam pomoći da pronađete posao u Golangu koji tražite.
Vidjeti Hashdorkova serija intervjua za pomoć u pripremi intervjua.
Ostavi odgovor