Table of Contents[Ferstopje][Toanje]
- 1. Beskriuw Golang.
- 2. Hokker foardielen hat Go boppe oare talen?
- 3. Yn Golang-programmearring, wat is fmt?
- 4. Wat is krekt Go Interfaces?
- 5. Wat binne snaarliteralen krekt?
- 6. Hoe binne wurkomjouwings en parameters yn Golang ynsteld?
- 7. Beskriuw de Golang-pakketten?
- 8. Hokker gegevenstypen wurde stipe troch Golang?
- 9. Wat bedoele jo mei statyske typeferklearring fan in fariabele yn Golang?
- 10. Yn Golang, wat is de dynamyske fariabele deklaraasje?
- 11. Hoe kin ik oanpaste pakketten brûke yn 'e GO-programmearringstaal?
- 12. Wat is krekt in goroutine? Hoe kinne jo it stopje?
- 13. Beskriuw in rune.
- 14. Wat is it Go-idioom foar it fertsjintwurdigjen fan enums?
- 15. Hoe wurdt it type fan in fariabele kontrolearre by runtime?
- 16. Beskriuw Go kanalen.
- 17. Ferklearje Golang Metoaden.
- 18. Wat is krekt in data race?
- 19. Wat is krekt Go garbage collection?
- 20. Beskriuw de stadia fan testen mei Golang.
- 21. Wat binne krekt plakjes yn Go?
- 22. Wat is krekt heap ûnthâld?
- 23. Wat binne krekt funksje sluten?
- 24. Wat betsjut Golang syn goto statement?
- 25. Yn Golang, wat binne Lvalue en Rvalue?
- 26. Wat binne de loopkonstruksjes yn Go?
- 27. Wat binne ûntwerppatroanen krekt?
- 28. Wat is it bêste Golang-pakket foar ienfâldige triemoperaasjes? Hokker ekstra Golang-pakketten wurde brûkt foar bestânmanipulaasje?
- 29. Jou in útlis fan Golang syn Object-Oriented Architecture.
- 30. Hokker konverzje typen stipet Golang?
- 31. Beskriuw it doel en wurking fan Type assertion.
- 32. Wat is krekt in struktuertype?
- 33. Ferklearje de backing array fan in slice wearde.
- 34. Is it nedich om sawol GOPATH as GOROOT fariabelen, en sa ja, wêrom?
- 35. Aktivearret Golang erfskip?
- 36. Yn Golang, hoe ferskynt CGo?
- 37. Wat is it oanwizertype yn Golang?
- Konklúzje
De programmeartaal Go, faaks bekend as Golang, is in iepen-boarne programmeartaal dy't te fergelykjen is mei C, mar is ûntworpen foar rappe kompilaasje, soepele oerienkomst en ûntwikkeldersgemak.
Dizze taal is ûntwikkele en brûkt troch Google, mar it hat de lêste jierren traksje krigen yn oare bedriuwen, om't de fraach nei simultane, netwurke programmearring groeide.
Golang makket ûntwikkeling makliker foar ûntwikkelders troch it oanbieden fan optimale kompilaasje foar rappe ûntwikkeling fan softwareapplikaasjes, soepeler tagelyk, ferbettere runtime-effisjinsje, en minder defekten.
Golang wurdt rap in populêre bedriuwsprogrammearringstaal, mei ferskate wurkgelegenheidsopsjes. In protte IT-behemoths, lykas Google, Uber, en Apple, adore Golang foar syn koartere ûntwikkelingstiid, maklik te learen, ferbettere runtime, garbage collection, en oare foardielen.
As mear bedriuwen Golang brûke, groeit de needsaak foar Golang-programmeurs. De ûnderste rigel? It learen fan Golang soe ferskate wurkperspektyf leverje.
As jo wolle wurkje as in Golang-ûntwikkelder, moatte jo jo adekwaat tariede op jo ynterview. Dêrom hawwe wy dizze wiidweidige samling Golang-ynterviewfragen gearstald.
Yn dizze post sille wy basis oant avansearre Golang-ynterviewfragen presintearje, sadat jo maklik troch it ynterview kinne komme.
1. Beskriuw Golang.
Go is in heech nivo, algemien doel programmear taal dat stipet garbage collection en simultane programmearring en is hiel strak en statysk typt. Go-applikaasjes wurde makke troch pakketten te brûken, dy't effektyf ôfhinklikensbehear leverje.
Derneist makket it foardiel fan 'e kompilaasje-keppeling oanpak om útfierbere binaries te meitsjen fan boarnekoade. Go is in rjochtlinige taal mei prachtige en dúdlike syntaktyske struktueren.
It komt mei in set fan sterke standertbiblioteken dy't kinne wurde brûkt troch ûntwikkelders om problemen op te lossen sûnder de eask foar oare pakketten.
2. Hokker foardielen hat Go boppe oare talen?
- Go-koade waard ûntwikkele mei praktykens yn gedachten, yn tsjinstelling ta oare talen dy't begûn as yntellektuele eksperiminten. Elke kar yn syntaksis en funksje wurdt makke mei it gemak fan 'e programmeur yn gedachten.
- Sûnt automatyske garbage collection rint tagelyk mei de applikaasje, it is folle effektiver dan Java of Python.
- Scalability en concurrency wurde beide prioritearre yn Golang.
- Golang wurdt meastentiids beskôge as begrypliker dan oare talen, om't it ien, standerdisearre koadestruktuer hat.
3. Yn Golang-programmearring, wat is fmt?
It opmaakpakket wurdt oanjûn mei it symboal fmt. Brûkers kinne dizze funksjonaliteit brûke om basistekst, wearden of wat oars te formatteren en it ôf te drukken.
It lit brûkers ek terminalynput ûntfange, skriuwe nei in bestân mei in skriuwer, en sels oanpaste fancy flaterberjochten bouwe. Dit pakket giet alles oer opmaak fan ynfier en útfier.
4. Wat is krekt Go Interfaces?
De ynterfaces yn Go ferskille fan dy yn oare talen. Go-ynterfaces binne in spesjaal type dat brûkt wurdt om in samling fan ien of mear metoade-hantekeningen út te drukken.
De ynterface wurdt foarme troch de term "type" te brûken, folge troch de namme en de kaaiwurdynterface. De ynterfaces kinne wurde definiearre as folget:
- in samling metoaden
- Type
5. Wat binne snaarliteralen krekt?
In snaar-literaal is in snaarkonstante dy't ûntstien is troch it gearfoegjen fan letters. Rauwe en ynterpretearre snaarliteralen binne de twa soarten snaarliteralen. Raw string letters wurde omsletten troch backticks (foo) en befetsje ûnynterpretearre UTF-8 karakters.
Ynterpretearre string-literalen binne snaren skreaun binnen dûbele quotes en ynklusyf elk karakter útsein newline en ûnfolsleine dûbele quotes.
6. Hoe binne wurkomjouwings en parameters yn Golang ynsteld?
Wurkomjouwings en ynstellings kinne wurde konfigureare mei JSON, dy't dizze dagen in soad brûkt wurdt. It feit dat JSON is opnaam yn 'e standertbibleteek is har wichtichste foardiel.
De standert bibleteek jout skriuwmetoaden foar de bedoelde datastruktuer, wat it tige lêsber makket. It YAML-pakket foar Go is in ekstra kar.
7. Beskriuw de Golang-pakketten?
Pakketten binne mappen dy't oare pakketten en har boarnekoade befetsje yn 'e Go-wurkromte. De keppele pakketten omfetsje alle koade, ynklusyf fariabelen, funksjes en typen, dy't skreaun binne yn 'e boarnebestannen.
Elk boarnebestân is in diel fan in pakket, en go-pakketten kinne ek wurde opslein yn pakketten.
8. Hokker gegevenstypen wurde stipe troch Golang?
Golang makket gebrûk fan de folgjende soarten:
- Metoade
- Booleaanske
- Numeryk
- string
- Pointer
- Funksje
- interface
- Slice
- Struktuer
- Map
- Kanaal
- array
9. Wat bedoele jo mei statyske typeferklearring fan in fariabele yn Golang?
De kompilator kin trochgean mei in oare kompilaasje sûnder wiidweidige ynformaasje oer de fariabele te hawwen, tank oan statyske type fariabele deklaraasjes, dy't it gerêststelle dat d'r mar ien fariabele is mei de opjûne soarte en namme.
In fariabele deklaraasje is allinnich wichtich by kompilaasje; de gearstaller fereasket in echte fariabele en deklaraasje by it ferbinen mei de applikaasje.
10. Yn Golang, wat is de dynamyske fariabele deklaraasje?
De gearstaller moat it soarte fan fariabele ferklearje yn in dynamysk type fariabele deklaraasje basearre op it bedrach dat derop is oerdroegen. As fereaske betingst hat de kompilator gjin fariabele nedich om statysk te kategorisearjen.
11. Hoe kin ik oanpaste pakketten brûke yn 'e GO-programmearringstaal?
As jo in apart go get -table-projekt meitsje foar jo bibleteek en it is allinich foar yntern gebrûk, kinne jo koade sa skriuwe.
- Plak de map fan de biblioteekbestannen ûnder de map fan jo projekt.
- Ferwize nei de bibleteek troch syn paad relatyf oan 'e woartel fan' e wurkromte dy't it projekt befettet.
12. Wat is krekt in goroutine? Hoe kinne jo it stopje?
In goroutine is in funksje of proseduere dy't tagelyk rint mei oare goroutines op in tawijd goroutine thread. Goroutine-threads binne lichter dan gewoane threads, en de measte Golang-applikaasjes brûke tûzenen goroutines tagelyk.
In goroutine kin wurde stoppe troch it trochjaan fan in sinjaalkanaal. Goroutines kinne allinich reagearje op sinjalen as se rjochte binne om te kontrolearjen, befetsje dêrom kontrôles op ridlike plakken lykas de top fan jo for-loop.
13. Beskriuw in rune.
Yn Go is in rune in ynboude type mei de namme int32. De Unicode CodePoint tsjinnet as de rune yn Go. Gjin saak hoefolle bytes it codepoint nimt up, it kin wurde fertsjintwurdige troch in rune.
Runen binne net ferplichte te wêzen yn oarder yn in tekenrige. Hoewol't wy kinne omsette tusken string en rune, se binne net itselde.
14. Wat is it Go-idioom foar it fertsjintwurdigjen fan enums?
De programmeartaal Golang stipet enums net direkt. Iota en konstanten kinne brûkt wurde om enums te ymplementearjen. Elk fan 'e folgjende oanpak kin brûkt wurde om in opnomd type te ymplementearjen:
- it yntrodusearjen fan in nij hiel getal type
- Iota wurdt brûkt om de wearde oan te jaan.
- Troch in String-funksje te jaan oan it type
15. Hoe wurdt it type fan in fariabele kontrolearre by runtime?
De Type Switch is de meast effektive oanpak foar it bepalen fan it type fan in fariabele yn realtime. Fariabelen wurde evaluearre troch type ynstee fan wearde by it brûken fan de Type Switch.
Sawol in standert gefal, dat wurdt útfierd as gjin fan 'e gefallen is wier en op syn minst ien gefal, dy't tsjinnet as in betingst ferklearring, binne oanwêzich yn elke Switch. Jo kinne bygelyks in Type Switch ûntwerpe dy't bepaalt as de ynterfacewearde dy't ik opnimme it type int of string is:
16. Beskriuw Go kanalen.
In go-kanaal makket gegevens oerdracht en oerdracht tusken goroutines mooglik. Gegevens fan itselde type kinne oer ien kanaal stjoerd wurde.
Goroutines kinne gegevens ferstjoere en ûntfange oer itselde kanaal fanwegen de bidirectionele gegevensstream fan it kanaal.
17. Ferklearje Golang Metoaden.
Golang jout gjin klassen, mar stipet metoaden. Dizze metoaden binne identyk oan funksjes, mei útsûndering dat Go-metoaden in ûntfangerparameter hawwe.
De Go-metoade hat tagong ta de attributen fan 'e ûntfanger fia de ûntfangerparameters. Go-metoaden, ek bekend as ûntfangerfunksjes, helpe by de presintaasje fan in krekter en echte wrâldidee.
18. Wat is krekt in data race?
De meast foarkommende en lestige debug is in gegevensrace. Unsyngronisearre tagong ta dielde ûnthâld of de útfiering fan ferskate goroutines tagelyk sûnder aparte ôfhanneling resultearret yn in data race flater.
19. Wat is krekt Go garbage collection?
Garbage collection repurposes opslach dy't dynamysk is tawiisd oan in programma foar gebrûk troch oare objekten. It wurd ferwiist faaks nei de automatyske regeneraasje fan 'e ôffalsamler foar routine opslach ynstee fan eksplisite koade (levere troch in programmeur) om bepaalde ûnthâldblokken frij te litten.
Automatyske jiskefetsammeljen wurdt faak begon as de kwantiteit frije RAM ûnder in foarbepaalde drompel falt of nei in spesifisearre oantal allocaasjes.
It eliminearjen fan items dy't de software net mear fereasket om in plak yn it ûnthâld te meitsjen foar mear dynamyske objekten wurdt oantsjut as "garbage collection."
20. Beskriuw de stadia fan testen mei Golang.
Golang leveret automatisearre testen fan pakketten mei oanpaste testsuites. Om in nije suite te meitsjen, meitsje in bestân dat einiget mei _test.go en omfettet in TestXxx-funksje, wêrby't Xxx wurdt ferfongen troch de namme fan 'e funksje dy't jo testje.
In funksje dy't bygelyks oanmeldmooglikheden testet, soe TestLogin wurde neamd. It testsuite-bestân wurdt dan opnommen yn itselde pakket as it bestân dat wurdt hifke.
It testtriem sil oerslein wurde by gewoane útfiering, mar sil rinne as jo it kommando go test ynfiere.
21. Wat binne krekt plakjes yn Go?
Slices binne in wichtich Go-gegevenstype dat in krêftiger ynterface foar sekwinsjes leveret dan arrays. Skiven, yn tsjinstelling ta arrays, wurde allinich typearre ôfhinklik fan 'e eleminten dy't se befetsje (net it oantal eleminten).
Om in lege plak te konstruearjen mei in lingte dy't net nul is, brûk it ynboude kaaiwurd "meitsje".
22. Wat is krekt heap ûnthâld?
Wy bewarje dynamysk foarme objekten en fariabelen yn heapûnthâld. As wy in objekt net mear brûke, wiskje wy meastal it heapûnthâld dat it besette.
23. Wat binne krekt funksje sluten?
Funksje sluten binne in soarte fan funksje wearde dy't meitsje ekstern referearre fariabelen. De funksje hat tagong ta en kontrôle oer de wearden fan de ferwiisde fariabelen.
As yllustraasje is de ôfsluting weromjûn troch in adder () elk bûn oan in oare referearre somfariabele.
24. Wat betsjut Golang syn goto statement?
De goto-ferklearring fungearret as in sprong-ferklearring yn Golang. Goto wurdt brûkt om in spesifisearre labelkontrôle oer it programma te leverjen.
It kin brûkt wurde om dielen fan koade oer te slaan en direkt nei de nedige útspraken te gean, of it kin brûkt wurde om in diel fan programmakoade te werheljen jûn in bepaalde omstannichheid.
25. Yn Golang, wat binne Lvalue en Rvalue?
Lwearde:
- It ferwiist nei in ûnthâld plak.
- It kin feroare wurde.
- It jout in fariabele identifier oan.
- It kin foarkomme oan 'e lofter of rjochts fan' e = operator.
- Yn 'e rigel x =20, bygelyks, is x in lwearde en 20 is in rwearde.
Rwearde:
- It betsjut in fêste wearde.
- It stiet foar in ûnthâld-opsleine gegevenswearde.
- It komt altyd foar oan de rjochterkant fan de operator =.
- De útdrukking 10 = 20 is bygelyks ferkeard, om't der in rwearde (10) is links fan 'e operator =.
26. Wat binne de loopkonstruksjes yn Go?
D'r is mar ien looping-komponint yn Go: de for-loop. De for-loop is opboud út trije dielen dy't skieden wurde troch puntkomma's:
- De Init statement wurdt útfierd foardat de loop begjint. It is faak in fariabele deklaraasje dy't allinich ferskynt binnen it berik fan 'e for-loop.
- Foar elke iteraasje wurdt de betingststelling evaluearre as in Boolean om te besluten as de lus trochgean moat.
- De post-ferklearring wurdt útfierd by de konklúzje fan elke iteraasje.
27. Wat binne ûntwerppatroanen krekt?
Untwerppatroanen binne brokken koade dy't kinne wurde opnij brûkt om mienskiplike softwareproblemen oan te pakken. As jo ûntwerppatroanen brûke, sille jo projekten mear modulêre, skalberbere en effisjinte software generearje. Untwerppatroanen helpe jo by it útwreidzjen fan jo apps en wurkje mei in team. Algemiene ûntwerppatroanen omfetsje de Fabryksmetoade, Singleton, Gevel, en Decorator.
28. Wat is it bêste Golang-pakket foar ienfâldige triemoperaasjes? Hokker ekstra Golang-pakketten wurde brûkt foar bestânmanipulaasje?
De platfoarm-ûnôfhinklike ynterface wurdt levere troch it os standert bibleteekpakket. By ynteraksje mei bestannen brûke wy se foar systeemfunksjes. De os-ynterface is bedoeld om konsekwint te wêzen oer alle bestjoeringssystemen.
As resultaat rinne de apps dy't wy ûntwikkelje itselde op Windows, Linux en Mac. Oare Go standert biblioteekpakketten omfetsje io, ioutil, en bufio. Se operearje mei bestannen en foegje funksjonaliteit ta. Se binne lykwols net fereaske foar fûnemintele triemoperaasjes. Wy hawwe allinich it os-pakket nedich.
29. Jou in útlis fan Golang syn Object-Oriented Architecture.
Golang brûkt gjin klasse-objektûntwerp as konvinsjoneel Object-Oriented Programming docht. Komplekse gegevensstruktueren en gedrach wurde ynstee opslein yn struktueren en metoaden.
In struktuer is gewoan in skema mei in blauprint foar de gegevens dy't in struktuer sil drage. Strukturen kinne brûkt wurde om ideeën út 'e eigentlike wrâld te symbolisearjen, lykas boeken, minsken of auto's.
30. Hokker konverzje typen stipet Golang?
As it giet om eksplisyt typen, is Go heul kieskeurich. Gjin type konverzje wurdt automatysk dien. Om in fariabele fan ien type nei in oar oan te wizen, moat typekonverzje eksplisyt dien wurde.
31. Beskriuw it doel en wurking fan Type assertion.
Yn GO wurdt typekonverzje brûkt om ferskate soarten te transformearjen. In eksplisite wearde fan it oantsjutte type wurdt ekstrahearre út in ynterfacewearde troch in typebewearing.
32. Wat is krekt in struktuertype?
In struktuer bestiet út in list mei neamde komponinten neamd fjilden. Der is in soarte en in namme foar elk fjild. In oare manier om in struktuer te begripen is as in groep ferbûne eigenskippen. Se binne nuttich foar it kombinearjen fan gegevens om records te meitsjen.
33. Ferklearje de backing array fan in slice wearde.
As wy bouwe in slice, Go produsearret in geheime array neamd backing of ûnderlizzende array efter de skermen, en de nije slice type fariabele ferwizings nei it. De items, net de slice, wurde opslein yn 'e backing array.
Slices wurde ymplementearre yn Go as gegevensstruktueren neamd slice-headers, dy't fungearje as de runtime-representaasje fan 'e slice.
34. Is it nedich om sawol GOPATH as GOROOT fariabelen, en sa ja, wêrom?
Normaal is gjin fan beide nedich. De ienige fariabele dy't ynsteld wurde moat om te wizen op de Go-pakketbeam of beammen is GOPATH.
GOROOT ferwiist nei de root fan 'e thúsmap foar de Go-programmearringstaal, lykwols is it hast wis al ynsteld op' e lokaasje fan 'e hjoeddeistige Go-ynstallaasje.
As d'r ferskate Go-taalferzjes binne op itselde systeem, of as de Go-taal is ynladen as in binêre pakket fan it ynternet of ferpleatst fan in oare masine, dan moat de GOROOT-fariabele ynsteld wurde.
35. Aktivearret Golang erfskip?
Erfskip is in basisbegryp yn objekt-rjochte programmearring dat ferwiist nei it trochjaan fan de eigenskippen fan 'e superklasse nei de basisklasse.
Om't Golang klassen mist, wurdt erfskip folbrocht mei struktuerynbêding en struktueren kinne net direkt útwreide wurde, wy moatte it idee fan komposysje brûke om nije objekten te meitsjen mei de struktuer.
36. Yn Golang, hoe ferskynt CGo?
Fanút in Go-boarnebestân mei definieare funksjes makket cGo Go- en C-bestannen dy't kinne wurde gearfoege yn in unyk Go-pakket. C ferwiist nei in "pseudo-pakket", dat is in oare sin generearre troch cGo om te ferwizen nei de nammeromte fan C.
37. Wat is it oanwizertype yn Golang?
Alfanumerike oantsjuttings of labels foar bepaalde ûnthâldregio's binne bekend as fariabelen. In type fariabele bekend as pointer bewarret it ûnthâldadres fan in oare fariabele.
It adres fan in fariabele wurdt fertsjintwurdige troch in pointerwearde, of nul as de fariabele noch net fêststeld is. Krekt sa't in fariabele de ûnthâldlokaasje fan in wearde fertsjintwurdiget, wiist in oanwizer nei dat adres.
Konklúzje
It doel fan 'e programmeartaal Golang wie om rapper effektive programma's te meitsjen. Bedriuwen begûnen Golang te brûken doe't se de foardielige mooglikheden begûnen te realisearjen.
Golang hat ekstreem effektyf west om de belangstelling fan ûntwikkelders oan te wekken, har basisgebrûk te fergrutsjen en, dus, wurkmooglikheden. De antwurden op de hjirboppe neamde fragen, dy't de meast foarkommende binne frege tidens Golang-ynterviews, kinne jo helpe om de Golang-baan te krijen wêr't jo nei sykje.
Sjen Hashdork's ynterviewsearje foar help mei ynterview tarieding.
Leave a Reply