Kazalo[Skrij][Pokaži]
- 1. Opišite Golanga.
- 2. Kakšne prednosti ima Go pred drugimi jeziki?
- 3. Kaj je fmt v programiranju Golang?
- 4. Kaj točno je Go Interfaces?
- 5. Kaj pravzaprav so nizovni literali?
- 6. Kako so delovna okolja in parametri konfigurirani v Golangu?
- 7. Opišite pakete Golang?
- 8. Katere vrste podatkov podpira Golang?
- 9. Kaj mislite z deklaracijo statičnega tipa spremenljivke v Golangu?
- 10. Kaj je deklaracija dinamične spremenljivke v jeziku Golang?
- 11. Kako lahko uporabim pakete po meri v programskem jeziku GO?
- 12. Kaj pravzaprav je goroutine? Kako lahko to ustavite?
- 13. Opišite runo.
- 14. Kaj je idiom Go za predstavljanje enumov?
- 15. Kako se tip spremenljivke preveri med izvajanjem?
- 16. Opišite kanale Go.
- 17. Razložite Golangove metode.
- 18. Kaj pravzaprav je podatkovna dirka?
- 19. Kaj točno je zbiranje smeti Go?
- 20. Opišite faze testiranja z uporabo Golanga.
- 21. Kaj pravzaprav so rezine v Go?
- 22. Kaj pravzaprav je kopični pomnilnik?
- 23. Kaj pravzaprav so zaprtja funkcij?
- 24. Kaj pomeni Golangova izjava goto?
- 25. Kaj sta Lvalue in Rvalue v Golangu?
- 26. Kaj so konstrukti zanke v Go?
- 27. Kaj pravzaprav so oblikovalski vzorci?
- 28. Kateri je najboljši paket Golang za preproste operacije datotek? Kateri dodatni paketi Golang se uporabljajo za manipulacijo datotek?
- 29. Podajte razlago Golangove objektno orientirane arhitekture.
- 30. Katere vrste pretvorbe podpira Golang?
- 31. Opišite namen in delovanje izjave o vrsti.
- 32. Kaj točno je tip strukture?
- 33. Razložite podporno polje vrednosti rezine.
- 34. Ali je treba imeti obe spremenljivki GOPATH in GOROOT, in če je tako, zakaj?
- 35. Ali Golang omogoča dedovanje?
- 36. Kako se CGo pojavi v Golangu?
- 37. Kakšna je vrsta kazalca v Golangu?
- zaključek
Programski jezik Go, pogosto znan kot Golang, je odprtokodni programski jezik, ki je primerljiv s C, vendar je zasnovan za hitro prevajanje, nemoteno sočasnost in udobje za razvijalce.
Ta jezik je razvil in uporabljal Google, vendar se je v zadnjih letih uveljavil v drugih podjetjih, saj je povpraševanje po sočasnem omrežnem programiranju naraslo.
Golang razvijalcem olajša razvoj, saj ponuja optimalno kompilacijo za hiter razvoj aplikacij programske opreme, bolj gladko sočasnost, izboljšano učinkovitost med izvajanjem in manj napak.
Golang hitro postaja priljubljen korporativni programski jezik z več možnostmi zaposlitve. Številni velikani IT, kot so Google, Uber in Apple, obožujejo Golang zaradi krajšega razvojnega časa, enostavnosti učenja, izboljšanega časa izvajanja, zbiranja smeti in drugih prednosti.
Ker vse več podjetij uporablja Golang, raste potreba po Golang programerji. Spodnja črta? Učenje Golanga bi zagotovilo več zaposlitvenih možnosti.
Če želite delati kot Golang razvijalec, se morate ustrezno pripraviti na razgovor. Zato smo sestavili to obsežno zbirko vprašanj za intervju z Golangom.
V tem prispevku bomo predstavili osnovna do napredna vprašanja za intervju z Golangom, tako da boste zlahka prestali intervju.
1. Opišite Golanga.
Go je na visoki ravni za splošne namene programski jezik ki podpira zbiranje smeti in sočasno programiranje ter je zelo tesno in statično tipiziran. Aplikacije Go so ustvarjene z uporabo paketov, ki zagotavljajo učinkovito upravljanje odvisnosti.
Poleg tega izkorišča prednosti pristopa povezave prevajanja za ustvarjanje izvršljivih binarnih datotek iz izvorne kode. Go je preprost jezik s čudovitimi in jasnimi sintaktičnimi strukturami.
Prihaja z nizom močnih standardnih knjižnic, ki jih lahko razvijalci uporabljajo za reševanje težav brez potrebe po drugih paketih.
2. Kakšne prednosti ima Go pred drugimi jeziki?
- Koda Go je bila razvita z mislijo na praktičnost, v nasprotju z drugimi jeziki, ki so se začeli kot intelektualni poskusi. Vsaka izbira sintakse in funkcije je narejena z mislijo na udobje programerja.
- Ker samodejno zbiranje smeti teče sočasno z aplikacijo, je veliko bolj učinkovito kot Java ali Python.
- Razširljivost in sočasnost imata v Golangu prednost.
- Golang običajno velja za bolj razumljivega kot drugi jeziki, saj ima enotno standardizirano strukturo kode.
3. Kaj je fmt v programiranju Golang?
Paket Format je označen s simbolom fmt. Uporabniki lahko uporabijo to funkcijo za oblikovanje osnovnega besedila, vrednosti ali česar koli drugega in to natisnejo.
Uporabnikom omogoča tudi prejemanje terminalskih vnosov, pisanje v datoteko z zapisovalnikom in celo ustvarjanje modnih sporočil o napakah po meri. Ta paket je namenjen oblikovanju vhoda in izhoda.
4. Kaj točno je Go Interfaces?
Vmesniki v Go se razlikujejo od vmesnikov v drugih jezikih. Vmesniki Go so posebna vrsta, ki se uporablja za izražanje zbirke enega ali več podpisov metod.
Vmesnik je oblikovan z uporabo izraza "vrsta", ki mu sledita ime in ključna beseda vmesnik. Vmesnike lahko definiramo na naslednji način:
- zbirka metod
- tip
5. Kaj pravzaprav so nizovni literali?
Nizovni literal je nizovna konstanta, ki nastane z združevanjem črk. Neobdelani in interpretirani nizovni literali sta dve vrsti nizovnih literalov. Neobdelani nizovni literali so obdani s povratnimi kljukicami (foo) in vsebujejo neinterpretirane znake UTF-8.
Interpretirani nizovni literali so nizi, napisani v dvojnih narekovajih in vključujejo vse znake razen nove vrstice in nepopolnih dvojnih narekovajev.
6. Kako so delovna okolja in parametri konfigurirani v Golangu?
Delovna okolja in nastavitve je mogoče konfigurirati z JSON, ki se danes pogosto uporablja. Dejstvo, da je JSON vključen v standardno knjižnico, je njegova glavna prednost.
Standardna knjižnica ponuja metode pisanja za predvidene struktura podatkov, zaradi česar je zelo berljiv. Paket YAML za Go je dodatna izbira.
7. Opišite pakete Golang?
Paketi so mape, v katerih so drugi paketi in njihova izvorna koda v delovnem prostoru Go. Povezani paketi vključujejo vso kodo, vključno s spremenljivkami, funkcijami in vrstami, ki so zapisane v izvornih datotekah.
Vsaka izvorna datoteka je del paketa, pakete go pa lahko shranite tudi znotraj paketov.
8. Katere vrste podatkov podpira Golang?
Golang uporablja naslednje vrste:
- Metoda
- Boolean
- Številčno
- String
- Kazalec
- funkcija
- vmesnik
- Slice
- Struktura
- na zemljevidu
- Channel
- Array
9. Kaj mislite z deklaracijo statičnega tipa spremenljivke v Golangu?
Prevajalnik lahko nadaljuje z drugim prevajanjem, ne da bi mu bilo treba imeti izčrpne informacije o spremenljivki, zahvaljujoč deklaracijam spremenljivk statičnega tipa, ki mu zagotavljajo, da obstaja samo ena spremenljivka z dano vrsto in imenom.
Deklaracija spremenljivke je pomembna samo med prevajanjem; prevajalnik zahteva realno spremenljivko in deklaracijo, ko se povezuje z aplikacijo.
10. Kaj je deklaracija dinamične spremenljivke v jeziku Golang?
Prevajalnik mora pojasniti vrsto spremenljivke v dinamičnem tipu deklaracije spremenljivke glede na znesek, ki je vanjo prenesen. Kot obvezen pogoj prevajalnik ne zahteva spremenljivke za statično kategorizacijo.
11. Kako lahko uporabim pakete po meri v programskem jeziku GO?
Če ustvarjate ločen projekt go get -table za svojo knjižnico in je samo za interno uporabo, lahko napišete kodo, kot je ta.
- Postavite imenik datotek knjižnice pod imenik vašega projekta.
- Sklicujte se na knjižnico po njeni poti glede na koren delovnega prostora, ki vsebuje projekt.
12. Kaj pravzaprav je goroutine? Kako lahko to ustavite?
Goroutine je funkcija ali postopek, ki se izvaja sočasno z drugimi goroutinami v namenski niti goroutine. Niti goroutine so lažje od običajnih niti in večina aplikacij Golang hkrati uporablja na tisoče goroutine.
Goroutino lahko ustavite tako, da ji posredujete signalni kanal. Goroutine se lahko odzovejo na signale samo, če so usmerjeni k preverjanju, zato vključite preverjanja na razumnih mestih, kot je vrh vaše zanke for.
13. Opišite runo.
V Go je runa vgrajena vrsta z imenom int32. Unicode CodePoint služi kot runa v Go. Ne glede na to, koliko bajtov zavzame kodna točka, je lahko predstavljena z runo.
Ni treba, da so rune razvrščene v nizu. Čeprav lahko pretvarjamo med nizom in runo, nista enaka.
14. Kaj je idiom Go za predstavljanje enumov?
Programski jezik Golang ne podpira neposredno enumov. Iota in konstante se lahko uporabljajo za implementacijo enumov. Za implementacijo oštevilčenega tipa je mogoče uporabiti katerega koli od naslednjih pristopov:
- uvajamo nov celoštevilski tip
- Iota se uporablja za označevanje njegove vrednosti.
- Z zagotavljanjem funkcije String tipu
15. Kako se tip spremenljivke preveri med izvajanjem?
Tipsko stikalo je najučinkovitejši pristop za določanje tipa spremenljivke v realnem času. Pri uporabi stikala za vrsto se spremenljivke ovrednotijo po vrsti in ne po vrednosti.
Privzeti primer, ki se izvede, če nobeden od primerov ni resničen, in vsaj en primer, ki služi kot pogojni stavek, sta prisotna v vsakem stikalu. Lahko na primer oblikujete tipsko stikalo, ki določa, ali je vrednost vmesnika, ki jo vključim, tip int ali niz:
16. Opišite kanale Go.
Kanal go omogoča prenos podatkov in prenos med goroutinami. Podatki iste vrste se lahko pošiljajo prek enega kanala.
Goroutine lahko pošiljajo in prejemajo podatke prek istega kanala zaradi dvosmernega pretoka podatkov v kanalu.
17. Razložite Golangove metode.
Golang ne ponuja razredov, ampak podpira metode. Te metode so enake funkcijam, z izjemo, da imajo metode Go parameter sprejemnik.
Metoda Go ima dostop do atributov sprejemnika prek parametrov sprejemnika. Metode Go, znane tudi kot funkcije sprejemnika, pomagajo pri predstavitvi natančnejše in realnejše ideje.
18. Kaj pravzaprav je podatkovna dirka?
Najpogostejše in najtežje odpravljanje napak je podatkovna tekma. Nesinhroniziran dostop do skupnega pomnilnika ali izvajanje več goroutin hkrati brez ločenega ravnanja povzroči napako podatkovne tekme.
19. Kaj točno je zbiranje smeti Go?
Zbiranje smeti ponovno uporabi shrambo, ki je bila dinamično dodeljena programu za uporabo z drugimi objekti. Beseda se pogosto nanaša na avtomatizirano regeneracijo zbiralca odpadkov za rutinsko shranjevanje in ne na izrecno kodo (ki jo zagotovi programer) za sprostitev določenih pomnilniških blokov.
Samodejno zbiranje smeti se pogosto začne, ko količina prostega RAM-a pade pod vnaprej določeno mejo ali po določenem številu dodelitev.
Odstranjevanje elementov, ki jih programska oprema ne potrebuje več za ustvarjanje mesta v pomnilniku za bolj dinamične objekte, se imenuje »pobiranje smeti«.
20. Opišite faze testiranja z uporabo Golanga.
Golang zagotavlja avtomatizirano testiranje paketov z uporabo paketov za testiranje po meri. Če želite vzpostaviti nov paket, ustvarite datoteko, ki se konča z _test.go in vključuje funkcijo TestXxx, kjer je Xxx nadomeščen z imenom funkcije, ki jo preskušate.
Funkcija, ki preizkuša zmožnosti prijave, bi se na primer imenovala TestLogin. Datoteka paketa za testiranje je nato vključena v isti paket kot datoteka, ki se preskuša.
Testna datoteka bo med običajnim izvajanjem preskočena, vendar se bo zagnala, ko vnesete ukaz go test.
21. Kaj pravzaprav so rezine v Go?
Rezine so pomemben podatkovni tip Go, ki zagotavlja zmogljivejši vmesnik za zaporedja kot nizi. Rezine so za razliko od matrik tipizirane izključno glede na elemente, ki jih vsebujejo (ne glede na število elementov).
Če želite zgraditi prazno rezino z dolžino, ki ni nič, uporabite vgrajeno ključno besedo »make«.
22. Kaj pravzaprav je kopični pomnilnik?
Dinamično oblikovane objekte in spremenljivke shranjujemo v pomnilnik kopice. Ko objekta ne uporabljamo več, običajno izbrišemo pomnilnik kopice, ki ga je zasedel.
23. Kaj pravzaprav so zaprtja funkcij?
Zaprtja funkcij so vrsta funkcijske vrednosti, ki ustvarja spremenljivke na zunanje reference. Funkcija ima dostop do referenčnih vrednosti spremenljivk in nadzor nad njimi.
Za ponazoritev je vsak zaključek, ki ga vrne adder(), vezan na drugo referenčno spremenljivko vsote.
24. Kaj pomeni Golangova izjava goto?
Stavek goto deluje kot stavek za skok v Golangu. Goto se uporablja za zagotavljanje določenega nadzora oznake nad programom.
Uporabite ga lahko za preskok delov kode in prehod naravnost do potrebnih stavkov ali pa ga lahko uporabite za ponovitev dela programske kode glede na določene okoliščine.
25. Kaj sta Lvalue in Rvalue v Golangu?
Lvalue:
- Aludira na spominsko mesto.
- Lahko se spremeni.
- Označuje identifikator spremenljivke.
- Lahko se pojavi levo ali desno od operatorja =.
- V vrstici x =20 je na primer x vrednost l, 20 pa vrednost r.
Rvalue:
- Označuje fiksno vrednost.
- Predstavlja vrednost podatkov, shranjenih v pomnilniku.
- Vedno se pojavi na desni strani operatorja =.
- Izraz 10 = 20 je na primer nepravilen, ker je levo od operatorja = rvrednost (10).
26. Kaj so konstrukti zanke v Go?
V Go je samo ena komponenta zanke: zanka for. Zanka for je sestavljena iz treh delov, ki so ločeni s podpičji:
- Stavek Init se zažene pred začetkom zanke. Pogosto gre za deklaracijo spremenljivke, ki se pojavi le v obsegu zanke for.
- Pred vsako ponovitvijo se stavek pogoja ovrednoti kot logična vrednost, da se odloči, ali naj se zanka nadaljuje.
- Post stavek se zažene ob koncu vsake ponovitve.
27. Kaj pravzaprav so oblikovalski vzorci?
Oblikovalski vzorci so deli kode, ki jih je mogoče ponovno uporabiti za reševanje pogostih težav s programsko opremo. Če uporabljate oblikovalske vzorce, bodo vaši projekti ustvarili bolj modularno, razširljivo in učinkovito programsko opremo. Oblikovalski vzorci vam pomagajo pri razširitvi vaših aplikacij in delu z ekipo. Pogosti vzorci oblikovanja vključujejo tovarniško metodo, posamezen element, fasado in dekorater.
28. Kateri je najboljši paket Golang za preproste operacije datotek? Kateri dodatni paketi Golang se uporabljajo za manipulacijo datotek?
Vmesnik, neodvisen od platforme, zagotavlja paket standardne knjižnice os. Pri interakciji z datotekami jih uporabljamo za sistemske funkcije. Vmesnik OS naj bi bil skladen v vseh operacijskih sistemih.
Posledično se aplikacije, ki jih razvijamo, izvajajo enako v sistemih Windows, Linux in Mac. Drugi paketi standardne knjižnice Go vključujejo io, ioutil in bufio. Delujejo z datotekami in dodajajo funkcionalnost. Vendar pa niso potrebni za temeljne operacije datotek. Potrebujemo samo paket os.
29. Podajte razlago Golangove objektno orientirane arhitekture.
Golang ne uporablja oblikovanja objektov razreda kot običajno Objektno usmerjeno programiranje počne. Kompleksne podatkovne strukture in vedenje so namesto tega shranjeni v strukturah in metodah.
Struktura je le shema z načrtom za podatke, ki jih bo nosila struktura. Strukture se lahko uporabljajo za simbolizacijo idej iz dejanskega sveta, kot so knjige, ljudje ali avtomobili.
30. Katere vrste pretvorbe podpira Golang?
Ko gre za eksplicitno tipkanje, je Go zelo izbirčen. Nobena pretvorba vrste se ne izvede samodejno. Če želite določiti spremenljivko enega tipa v drugega, je treba pretvorbo tipa izvesti eksplicitno.
31. Opišite namen in delovanje izjave o vrsti.
V GO se pretvorba tipov uporablja za pretvorbo različnih tipov. Eksplicitna vrednost podanega tipa se izvleče iz vrednosti vmesnika s trditvijo tipa.
32. Kaj točno je tip strukture?
Struktura je sestavljena iz seznama poimenovanih komponent, imenovanih polja. Za vsako področje obstaja vrsta in ime. Drug način za pojmovanje strukture je kot skupina povezanih lastnosti. Pomagajo pri združevanju podatkov za ustvarjanje zapisov.
33. Razložite podporno polje vrednosti rezine.
Ko zgradimo rezino, Go ustvari skrivno matriko, imenovano podporna ali osnovna matrika v zakulisju, in nova spremenljivka vrste rezine se sklicuje nanjo. Elementi, ne rezina, so shranjeni v podpornem polju.
Rezine so v Go implementirane kot podatkovne strukture, imenovane glave rezin, ki delujejo kot predstavitev rezine med izvajanjem.
34. Ali je treba imeti obe spremenljivki GOPATH in GOROOT, in če je tako, zakaj?
Običajno ne eno ne drugo ni potrebno. Edina spremenljivka, ki mora biti nastavljena tako, da kaže na drevo ali drevesa paketa Go, je GOPATH.
GOROOT se nanaša na koren domačega imenika za programski jezik Go, vendar je skoraj zagotovo že nastavljen na lokacijo trenutne namestitve Go.
Če je v istem sistemu veliko različic jezika Go ali če je bil jezik Go prenesen kot binarni paket iz interneta ali premaknjen z drugega računalnika, je treba nastaviti spremenljivko GOROOT.
35. Ali Golang omogoča dedovanje?
Dedovanje je osnovni pojem v objektno usmerjenem programiranju, ki se nanaša na prenos lastnosti nadrazreda v osnovni razred.
Ker Golangu manjkajo razredi, je dedovanje doseženo z vdelavo struktur in struktur ni mogoče neposredno razširiti, moramo uporabiti idejo kompozicije za ustvarjanje novih objektov s strukturo.
36. Kako se CGo pojavi v Golangu?
Iz izvorne datoteke Go z definiranimi funkcijami cGo ustvari datoteke Go in C, ki jih je mogoče združiti v edinstven paket Go. C se nanaša na »psevdopaket«, ki je druga fraza, ki jo ustvari cGo in se nanaša na imenski prostor C-ja.
37. Kakšna je vrsta kazalca v Golangu?
Alfanumerične oznake ali oznake za določene pomnilniške regije so znane kot spremenljivke. Vrsta spremenljivke, znana kot kazalec, shrani pomnilniški naslov druge spremenljivke.
Naslov spremenljivke je predstavljen z vrednostjo kazalca ali nič, če spremenljivka še ni vzpostavljena. Tako kot spremenljivka predstavlja pomnilniško lokacijo vrednosti, kazalec kaže na ta naslov.
zaključek
Cilj programskega jezika Golang je bil hitrejša izdelava učinkovitih programov. Podjetja so začela uporabljati Golang, ko so se začela zavedati njegovih ugodnih možnosti.
Golang je bil izjemno učinkovit pri vžiganju zanimanja razvijalcev, povečanju njihove osnovne uporabe in posledično zaposlitvenih možnosti. Odgovori na prej omenjena vprašanja, ki so najpogostejša med intervjuji v Golangu, vam lahko pomagajo najti službo v Golangu, ki jo iščete.
Poglej Hashdorkova serija intervjujev za pomoč pri pripravi na razgovor.
Pustite Odgovori