20 populaarseimat GO (Golangi) intervjuuküsimust (2025)
Siin on Golangi intervjuu küsimused ja vastused nii värsketele kui ka kogenud GO programmeerija kandidaatidele, et saada oma unistuste töökoht.
1) Selgitage, mis on GO?
GO on avatud lähtekoodiga programmeerimiskeel, mis muudab lihtsa, usaldusväärse ja tõhusa tarkvara loomise lihtsaks. Programmid koostatakse pakettidest, mille omadused võimaldavad tõhusalt hallata sõltuvusi.
Tasuta allalaadimine PDF-vormingus: GO programmeerimisintervjuu küsimused ja vastused
2) Milline on süntaks GO-s?
GO süntaks määratakse laiendatud Backus-Nauri vormi (EBNF) abil.
- Tootmine = tootmise_nimi “=” [ Väljend ]
- Avaldis = alternatiiv { "l" alternatiiv }
- Alternatiiv = Termin { Term }
- Termin = Tootmise_nimi l tunnus [ “…” tunnus] l Grupp l Valik l Kordus
- Rühm = “ ( “ Väljend”)”
- Valik = “ [ “ Avaldis “ ]”
- Kordus = " {" Väljend "}"
3) Selgitage, mis on stringliteraalid?
Stringi literaal tähistab stringikonstanti, mis saadakse märgijada ühendamisel. On kaks vormi,
- Stringi töötlemata literaalid: Stringi töötlemata literaalide väärtus on märgijada tagumiste jutumärkide vahel. Stringi literaali väärtus on string, mis koosneb jutumärkide vahel olevast katkematust märgist.
- Tõlgendatud stringiliteraalid: See on esitatud jutumärkides "". Topeltjutumärkide vahele jääv tekst, mis ei tohi sisaldada reavahetusi, moodustab literaali väärtuse.
4) Selgitage Go programmis pakette?
Iga GO programm koosneb pakettidest. Programm hakkab paketis töötama peamine. See programm kasutab imporditeedega pakette "fmt" ja "matemaatika/rand".
5) Selgitage GO tööruumi?
Tööruumi sees tuleb hoida GO-koodi. Tööruum on kataloogihierarhia, mille juurtes on kolm kataloogi.
- src sisaldab pakettidesse organiseeritud GO lähtefaile
- pkg sisaldab pakendiobjekte ja
- bin sisaldab käivitatavaid käske

6) Selgitage, kuidas kasutada kohandatud pakette GO keeles?
Kui muudate oma teegi eraldi go get –table projektiks ja kui teie teek on sisekasutuseks, saate niimoodi kodeerida
- Asetage oma projekti kataloogi teegifailidega kataloog
- Vaadake raamatukogu, kasutades selle teed projektist koosneva tööruumi juure suhtes
Näiteks src/ myproject/ mylib/ mylib.go . . . main.go Nüüd sisse main.go sa võiksid importida myproject/mylib.
7) Selgitage, mis on GOPATH keskkonnamuutuja?
Keskkonnamuutuja GOPATH määrab tööruumi asukoha. See on ainus keskkonnamuutuja, mille peate Go koodi arendamisel määrama.
8) Selgitage, kuidas saate GO-s testida?
Sellel on kerge testimisraamistik, mis koosneb mine testima käsk ja testimine pakett. Testi kirjutamiseks tuleb luua fail, mille nimi lõpeb _testing. Go, mis sisaldab funktsioone nimega TestXXX koos signatuuri funktsiooniga (t *testing.T). Testraamistik käivitab iga sellise funktsiooni.

9) Selgitage, mis on stringitüübid?
Stringitüüp tähistab stringiväärtuste komplekti ja stringiväärtused on baitide jada. Pärast loodud stringe ei ole võimalik muuta.
10) Millised on GO eelised?
- GO koostab väga kiiresti
- Go toetab samaaegsust keele tasemel
- Funktsioonid on GO esmaklassilised objektid
- GO-l on prügivedu
- Stringid ja kaardid on keelde sisse ehitatud
11) Loetlege GO sisseehitatud tugi?
GO saadaolev sisseehitatud tugi sisaldab
- Konteiner: konteiner/loend, konteiner/hunnik
- Veebiserver: net/http
- Krüptograafia: Crypto/md5, crypto/sha1
- Pakkimine: tihendamine/ gzip
- Andmebaas: andmebaas/sql
12) Selgitage, mis on GO-s go-rutiin? Kuidas saate rutiini lõpetada?
Gorutine on funktsioon, mis on võimeline töötama samaaegselt teiste funktsioonidega. Gorutiini peatamiseks edastate gorutiinile signaalikanali, mida kasutatakse väärtuse sisestamiseks, kui soovite, et gorutiin peatuks. Gorutine küsitlused, mis kanaliseerivad regulaarselt niipea, kui see signaali tuvastab, lõpetab see.
Quit : = make (chan bool) go func ( ) { for { select { case <- quit: return default // do other stuff } } }() // Do stuff // Quit goroutine Quit <- true
13) Selgitage, kuidas saate GO-s kirjutada mitmerealisi stringe?
Mitmerealise stringi kirjutamiseks GO-s saate kasutada toorest stringiliteraali, kus string on piiritletud jutumärkidega, mitte topeltjutumärkidega. ' rida 1 rida 2 rida 3'
14) Selgitage, kuidas pääsete juurde GO-programmile edastatud käsurea argumentidele?
Käsurea argumendile pääsete juurde kasutades os.Args muutujad. Näiteks
Package main import ( "fmt" "OS" ) func main () { fmt.Println(len(os.Args), os.Args) }
15) Selgitage, kuidas kursorit GO-s kujutatakse?
Funktsioonis GO tähistatakse kursorit * (tärniga), millele järgneb salvestatud väärtuse tüüp.
16) Kuidas saate stringi vormindada ilma printimiseta?
Stringi vormindamiseks ilma printimiseta peate kasutama käsku
return fmt.Sprintf ( "at %v, %s" , e.When , e.What )
17) Selgitage, kuidas massiivid GO-s töötavad teistmoodi kui C ?
In GO Array töötab teisiti kui C-s
- Massiivid on väärtused, ühe massiivi määramine teisele kopeerib kõik elemendid
- Kui edastate massiivi funktsioonile, saab see massiivi koopia, mitte sellele osutava osuti
- Massiivi suurus on osa selle tüübist. Tüübid [10] int ja [20] int on erinevad
18) Selgitage GO liideseid?
GO-s on liidesed viis objekti käitumise täpsustamiseks. Liides luuakse kasutades "tüüp" sõna, millele järgneb nimi ja märksõna liides. Liides on määratletud kahe asjana.
- Meetodite komplekt
- Seda nimetatakse ka tüübiks
19) Selgitage, milleks tüüpi väidet kasutatakse ja kuidas see seda teeb?
Tüüpide teisendamist kasutatakse GO-s erinevate tüüpide teisendamiseks. Tüübi kinnitus võtab liidese väärtuse ja hangib sellest määratud selgesõnalise tüübi väärtuse.
20) Kuidas saate GO keeles kontrollida muutuja tüüpi käitusajal?
Spetsiaalne lülititüüp on GO-s mõeldud muutuva tüübi kontrollimiseks käitusajal, seda lülitit nimetatakse tüübilülitiks. Samuti saate tüübilülitiga sisse lülitada liidese väärtuse tüübi.
Need intervjuu küsimused aitavad ka teie viva (suuline)
Hea GoLangi küsimuste kogu