Mündəricat[Gizlət][Göstər]
- 1. Qolanqı təsvir edin.
- 2. Go dilinin digər dillərdən hansı üstünlükləri var?
- 3. Qolanq proqramlaşdırmasında fmt nədir?
- 4. Go Interfaces tam olaraq nədir?
- 5. Sətir hərfi dəqiq nələrdir?
- 6. Qolanqda iş mühitləri və parametrlər necə konfiqurasiya edilir?
- 7. Qolanq paketlərini təsvir edin?
- 8. Golang hansı məlumat növlərini dəstəkləyir?
- 9. Qolanqda dəyişənin statik tip elanı dedikdə nəyi nəzərdə tutursunuz?
- 10. Qolanqda dinamik dəyişən elanı nədir?
- 11. GO proqramlaşdırma dilində fərdi paketlərdən necə istifadə edə bilərəm?
- 12. Qorutin tam olaraq nədir? Bunu necə dayandırmaq olar?
- 13. Rün təsvir edin.
- 14. Sayları təmsil etmək üçün Go idiomu nədir?
- 15. İş vaxtında dəyişənin tipi necə yoxlanılır?
- 16. Go kanallarını təsvir edin.
- 17. Qolanq üsullarını izah edin.
- 18. Məlumat yarışı tam olaraq nədir?
- 19. Go zibil kolleksiyası tam olaraq nədir?
- 20. Qolanqdan istifadə edərək sınaqların mərhələlərini təsvir edin.
- 21. Go-da dilimlər tam olaraq hansılardır?
- 22. Yığın yaddaş tam olaraq nədir?
- 23. Funksiyaların bağlanması dəqiq nələrdir?
- 24. Qolanqın goto ifadəsi nə deməkdir?
- 25. Qolanqda Lvalue və Rvalue nədir?
- 26. Go-da loop konstruksiyaları hansılardır?
- 27. Dizayn nümunələri tam olaraq hansılardır?
- 28. Sadə fayl əməliyyatları üçün ən yaxşı Golang paketi hansıdır? Fayl manipulyasiyası üçün hansı əlavə Golang paketləri istifadə olunur?
- 29. Qolanqın obyekt yönümlü arxitekturasının izahını verin.
- 30. Golang hansı dönüşüm növlərini dəstəkləyir?
- 31. Tip təsdiqinin məqsədini və işini təsvir edin.
- 32. Struktur tipi tam olaraq nədir?
- 33. Dilim dəyərinin dəstək massivini izah edin.
- 34. Həm GOPATH, həm də GOROOT dəyişənlərinin olması zəruridirmi və əgər belədirsə, niyə?
- 35. Qolanq miras almağa imkan verirmi?
- 36. Qolanqda CGo necə görünür?
- 37. Qolanqda göstərici növü hansıdır?
- Nəticə
Go proqramlaşdırma dili, tez-tez kimi tanınır Golang, açıq mənbəli proqramlaşdırma dilidir və C ilə müqayisə oluna bilər, lakin sürətli tərtib, hamar paralellik və tərtibatçının rahatlığı üçün nəzərdə tutulmuşdur.
Bu dil Google tərəfindən işlənib hazırlanmış və istifadə edilmişdir, lakin paralel, şəbəkəli proqramlaşdırmaya tələbat artdıqca, son illərdə digər firmalarda diqqəti cəlb etmişdir.
Golanq proqram təminatının sürətli inkişafı, daha hamar paralellik, təkmilləşdirilmiş iş vaxtının səmərəliliyi və daha az qüsur üçün optimal kompilyasiya təklif etməklə tərtibatçılar üçün inkişafı asanlaşdırır.
Qolanq tez bir zamanda bir neçə məşğulluq variantı ilə məşhur korporativ proqramlaşdırma dilinə çevrilir. Google, Uber və Apple kimi bir çox İT begemotları Golanqa daha qısa inkişaf müddəti, öyrənmə asanlığı, təkmilləşdirilmiş iş vaxtı, zibil toplanması və digər üstünlüklərə görə pərəstiş edir.
Daha çox firma Golanqdan istifadə etdikcə Golang proqramçılarına ehtiyac artır. Alt xətt? Qolanq dilini öyrənmək bir neçə məşğulluq perspektivini təmin edərdi.
Əgər siz Golang tərtibatçısı kimi işləmək istəyirsinizsə, müsahibənizə adekvat hazırlaşmalısınız. Buna görə Golang müsahibə suallarının bu hərtərəfli toplusunu tərtib etdik.
Bu yazıda əsasdan qabaqcıl Golanq müsahibə suallarını təqdim edəcəyik ki, siz asanlıqla müsahibədən keçəsiniz.
1. Qolanqı təsvir edin.
Go yüksək səviyyəli, ümumi məqsəddir proqramlaşdırma dili zibil toplama və paralel proqramlaşdırmanı dəstəkləyən və çox sıx və statik şəkildə yazılmışdır. Go proqramları asılılığın effektiv idarə edilməsini təmin edən paketlərdən istifadə etməklə yaradılır.
Bundan əlavə, mənbə kodundan icra edilə bilən ikili faylları yaratmaq üçün kompilyasiya-link yanaşmasından istifadə edir. Go gözəl və aydın sintaktik quruluşa malik sadə bir dildir.
O, digər paketlərə ehtiyac olmadan məsələləri həll etmək üçün tərtibatçılar tərəfindən istifadə edilə bilən güclü standart kitabxanalar dəsti ilə gəlir.
2. Go dilinin digər dillərdən hansı üstünlükləri var?
- Go kodu intellektual təcrübələr kimi başlayan digər dillərdən fərqli olaraq praktikliyi nəzərə alaraq işlənib hazırlanmışdır. Sintaksis və xüsusiyyətdəki hər bir seçim proqramçının rahatlığı nəzərə alınmaqla edilir.
- Avtomatik zibil yığımı proqramla eyni vaxtda işlədiyi üçün Java və ya Python-dan daha effektivdir.
- Qolanqda miqyaslılıq və paralellik hər ikisinə üstünlük verilir.
- Qolanq ümumiyyətlə digər dillərə nisbətən daha başa düşülən hesab olunur, çünki o, vahid, standartlaşdırılmış kod strukturuna malikdir.
3. Qolanq proqramlaşdırmasında fmt nədir?
Format paketi fmt simvolu ilə işarələnir. İstifadəçilər bu funksiyadan əsas mətni, dəyərləri və ya başqa hər şeyi formatlayıb çap etmək üçün istifadə edə bilərlər.
O, həmçinin istifadəçilərə terminal girişini qəbul etməyə, yazıçı ilə fayla yazmağa və hətta sifarişli xülya səhv mesajları yaratmağa imkan verir. Bu paket giriş və çıxışın formatlaşdırılması ilə bağlıdır.
4. Go Interfaces tam olaraq nədir?
Go-dakı interfeyslər digər dillərdə olanlardan fərqlənir. Go İnterfeysləri bir və ya bir neçə metod imzasının toplusunu ifadə etmək üçün istifadə olunan xüsusi bir növdür.
İnterfeys “növ” terminindən sonra ad və interfeys açar sözündən istifadə etməklə formalaşır. İnterfeyslər aşağıdakı kimi müəyyən edilə bilər:
- üsullar toplusudur
- növü
5. Sətir hərfi dəqiq nələrdir?
Sətir hərfi, hərfləri birləşdirərək yaranan sətir sabitidir. Xam və şərh edilmiş sətir hərfi iki növ sətir hərfidir. Xam sətir literalları arxa işarələrlə (foo) əhatə olunur və şərh olunmamış UTF-8 simvollarını ehtiva edir.
Şərh edilmiş sətir literalları qoşa dırnaq daxilində yazılmış və yeni sətir və natamam qoşa dırnaq işarələri istisna olmaqla istənilən simvol daxil olmaqla sətirlərdir.
6. Qolanqda iş mühitləri və parametrlər necə konfiqurasiya edilir?
İş mühitləri və parametrləri bu günlərdə geniş istifadə olunan JSON istifadə edərək konfiqurasiya edilə bilər. JSON-un standart kitabxanaya daxil olması onun əsas üstünlüyüdür.
Standart kitabxana nəzərdə tutulan yazı üsullarını təqdim edir məlumatların quruluşu, bu da onu çox oxunaqlı edir. Go üçün YAML paketi əlavə seçimdir.
7. Qolanq paketlərini təsvir edin?
Paketlər digər paketləri və onların mənbə kodunu Go iş sahəsində saxlayan qovluqlardır. Əlaqədar paketlərə mənbə fayllarında yazılmış dəyişənlər, funksiyalar və növlər daxil olmaqla bütün kodlar daxildir.
Hər bir mənbə fayl paketin bir hissəsidir və go paketləri paketlərin içərisində də saxlanıla bilər.
8. Golang hansı məlumat növlərini dəstəkləyir?
Golang aşağıdakı növlərdən istifadə edir:
- Üsul
- Boolean
- Elektron
- Sim
- Göstərici
- Function
- Interface
- Dilim
- Quruluş
- xəritə
- Kanal
- Geyim
9. Qolanqda dəyişənin statik tip elanı dedikdə nəyi nəzərdə tutursunuz?
Kompilyator statik tipli dəyişən elanları sayəsində dəyişən haqqında hərtərəfli məlumata ehtiyac duymadan başqa kompilyasiya ilə davam edə bilər ki, bu da onu verilmiş növ və adla yalnız bir dəyişənin olduğuna əmin edir.
Dəyişən bəyannamə yalnız tərtib zamanı vacibdir; kompilyator proqrama qoşulduqda real dəyişən və bəyannamə tələb edir.
10. Qolanqda dinamik dəyişən elanı nədir?
Kompilyator dinamik tipli dəyişən bəyannaməsində dəyişən növünü ona ötürülən məbləğə əsaslanaraq izah etməlidir. Tələb olunan şərt kimi, kompilyator dəyişənin statik olaraq kateqoriyalara bölünməsini tələb etmir.
11. GO proqramlaşdırma dilində fərdi paketlərdən necə istifadə edə bilərəm?
Kitabxananız üçün ayrıca go get -table layihəsi yaradırsınızsa və bu, yalnız daxili istifadə üçündürsə, belə kod yaza bilərsiniz.
- Kitabxana faylları qovluğunu layihənizin kataloqu altına yerləşdirin.
- Layihəni ehtiva edən iş sahəsinin kökünə nisbətən yolu ilə kitabxanaya müraciət edin.
12. Qorutin tam olaraq nədir? Bunu necə dayandırmaq olar?
Qorutin, xüsusi qorutin ipində digər qorutinlərlə eyni vaxtda işləyən funksiya və ya prosedurdur. Qorutin ipləri adi iplərdən daha yüngüldür və Golang tətbiqlərinin əksəriyyəti eyni vaxtda minlərlə qorutindən istifadə edir.
Qorutini siqnal kanalı vasitəsilə dayandırmaq olar. Goroutines yalnız yoxlamaya yönəldildikdə siqnallara cavab verə bilər, buna görə də for döngənizin yuxarı hissəsi kimi ağlabatan yerlərdə yoxlamaları daxil edin.
13. Rün təsvir edin.
Go-da rune int32 adı ilə daxili bir növdür. Unicode CodePoint Go-da rune kimi xidmət edir. Kod nöqtəsi nə qədər bayt tutsa da, onu rune ilə göstərmək olar.
Rünlərin sətirdə düzülməsi tələb olunmur. Biz string və rune arasında çevirə bilsək də, onlar eyni deyil.
14. Sayları təmsil etmək üçün Go idiomu nədir?
Golang proqramlaşdırma dili enumları birbaşa dəstəkləmir. Iota və sabitlər nömrələri həyata keçirmək üçün istifadə edilə bilər. Sadalanan növü həyata keçirmək üçün aşağıdakı yanaşmalardan hər hansı biri istifadə edilə bilər:
- təzə tam ədəd növünü təqdim edir
- Iota dəyərini göstərmək üçün istifadə olunur.
- Tipə String funksiyasını təmin etməklə
15. İş vaxtında dəyişənin tipi necə yoxlanılır?
Type Switch real vaxtda dəyişənin növünü təyin etmək üçün ən effektiv yanaşmadır. Tip keçidindən istifadə edərkən dəyişənlər dəyər deyil, növə görə qiymətləndirilir.
Həm halların heç biri doğru deyilsə, icra olunan standart hal, həm də şərti ifadə kimi xidmət edən ən azı bir hadisə hər Switch-də mövcuddur. Siz, məsələn, daxil etdiyim interfeys dəyərinin int və ya sətir tipi olub-olmadığını müəyyən edən bir Növ açarı dizayn edə bilərsiniz:
16. Go kanallarını təsvir edin.
Go kanalı məlumatların ötürülməsinə və goroutinlər arasında ötürülməsinə imkan verir. Eyni tipli məlumatlar bir kanalda göndərilə bilər.
Kanalın iki istiqamətli məlumat axını səbəbindən Goroutines eyni kanal üzərindən məlumat göndərə və qəbul edə bilir.
17. Qolanq üsullarını izah edin.
Golang dərsləri təmin etmir, lakin dəstək metodlarını təqdim edir. Go metodlarının qəbuledici parametrinə malik olması istisna olmaqla, bu üsullar funksiyalarla eynidir.
Go metodu qəbuledicinin parametrləri vasitəsilə qəbuledicinin atributlarına çıxışa malikdir. Qəbuledici funksiyalar kimi də tanınan Go metodları daha dəqiq və real ideyanın təqdim edilməsinə kömək edir.
18. Məlumat yarışı tam olaraq nədir?
Ən ümumi və çətin debug məlumat yarışıdır. Paylaşılan yaddaşa sinxronizasiya edilməmiş giriş və ya ayrı-ayrılıqda işləmədən eyni vaxtda bir neçə goroutinin icrası məlumat yarışında xəta ilə nəticələnir.
19. Go zibil kolleksiyası tam olaraq nədir?
Zibil toplanması digər obyektlər tərəfindən istifadə üçün proqrama dinamik olaraq təyin edilmiş yaddaşı yenidən təyin edir. Bu söz tez-tez xüsusi yaddaş bloklarını buraxmaq üçün açıq koddan (proqramçı tərəfindən verilir) deyil, müntəzəm saxlama üçün tullantı toplayıcının avtomatlaşdırılmış regenerasiyasına aiddir.
Avtomatik zibil yığılması tez-tez boş RAM-in miqdarı əvvəlcədən müəyyən edilmiş həddən aşağı düşdükdə və ya müəyyən sayda ayırmadan sonra başlayır.
Daha dinamik obyektlər üçün yaddaşda yer yaratmaq üçün proqram təminatının artıq tələb etmədiyi elementlərin aradan qaldırılması “zibil kolleksiyası” adlanır.
20. Qolanqdan istifadə edərək sınaqların mərhələlərini təsvir edin.
Golang, xüsusi sınaq paketlərindən istifadə edərək paketlərin avtomatlaşdırılmış sınaqlarını təmin edir. Yeni paket yaratmaq üçün _test.go ilə bitən və TestXxx funksiyasını ehtiva edən fayl yaradın, burada Xxx sınaqdan keçirdiyiniz funksiyanın adı ilə əvəz olunur.
Giriş imkanlarını sınayan funksiya, məsələn, TestLogin adlanacaq. Test paketi faylı daha sonra sınaqdan keçirilən fayl ilə eyni paketə daxil edilir.
Test faylı adi icra zamanı atlanacaq, lakin siz go test əmrini daxil etdiyiniz zaman işləyəcək.
21. Go-da dilimlər tam olaraq hansılardır?
Dilimlər ardıcıllıqlar üçün massivlərdən daha güclü interfeys təmin edən mühüm Go məlumat növüdür. Dilimlər, massivlərdən fərqli olaraq, yalnız tərkibindəki elementlərdən (elementlərin sayından deyil) asılı olaraq yazılır.
Uzunluğu sıfır olmayan boş bir dilim yaratmaq üçün daxili "make" açar sözündən istifadə edin.
22. Yığın yaddaş tam olaraq nədir?
Biz dinamik şəkildə formalaşmış obyektləri və dəyişənləri yığın yaddaşında saxlayırıq. Bir obyektdən artıq istifadə etmədiyimiz zaman, adətən onun tutduğu yığın yaddaşı silirik.
23. Funksiyaların bağlanması dəqiq nələrdir?
Funksiyaların bağlanması xaricdən istinad edilən dəyişənlər yaradan funksiya dəyərinin bir növüdür. Funksiya istinad edilən dəyişənlərin qiymətlərinə giriş və onlara nəzarət imkanına malikdir.
Nümunə olaraq, toplayıcı() tərəfindən qaytarılan bağlama hər biri fərqli istinad edilən cəmi dəyişəninə bağlıdır.
24. Qolanqın goto ifadəsi nə deməkdir?
Goto ifadəsi Qolanqda sıçrayış ifadəsi kimi fəaliyyət göstərir. Goto proqram üzərində müəyyən etiket nəzarətini təmin etmək üçün istifadə olunur.
O, kodun hissələrini keçmək və lazımi ifadələrə keçmək üçün istifadə edilə bilər və ya müəyyən bir vəziyyətdə proqram kodunun bir hissəsini təkrarlamaq üçün istifadə edilə bilər.
25. Qolanqda Lvalue və Rvalue nədir?
Dəyər:
- Yaddaş yerinə işarə edir.
- Dəyişdirilə bilər.
- Dəyişən identifikatorunu bildirir.
- Bu = operatorunun solunda və ya sağında baş verə bilər.
- X =20 sətirində, məsələn, x bir dəyər, 20 isə dəyərdir.
Qiymət:
- Sabit bir dəyəri ifadə edir.
- Yaddaşda saxlanılan məlumat dəyərini təmsil edir.
- Həmişə = operatorunun sağ tərəfində olur.
- Məsələn, = operatorunun solunda dəyər (10) olduğu üçün 20 = 10 ifadəsi yanlışdır.
26. Go-da loop konstruksiyaları hansılardır?
Go-da yalnız bir döngə komponenti var: for loop. For döngəsi nöqtəli vergüllə ayrılan üç hissədən ibarətdir:
- Init ifadəsi dövrə başlamazdan əvvəl işlədilir. Bu, tez-tez yalnız for döngəsinin əhatə dairəsində görünən dəyişən bəyannaməsidir.
- Hər iterasiyadan əvvəl, dövrənin davam edib-etməyəcəyinə qərar vermək üçün şərt ifadəsi Boolean kimi qiymətləndirilir.
- Post bəyanatı hər iterasiyanın sonunda həyata keçirilir.
27. Dizayn nümunələri tam olaraq hansılardır?
Dizayn nümunələri ümumi proqram problemlərini həll etmək üçün təkrar istifadə edilə bilən kod parçalarıdır. Dizayn nümunələrindən istifadə etsəniz, layihələriniz daha modul, genişlənən və səmərəli proqram təminatı yaradacaq. Dizayn nümunələri tətbiqlərinizi genişləndirməkdə və komanda ilə işləməkdə sizə kömək edir. Ümumi dizayn nümunələrinə Fabrik üsulu, Singleton, Fasad və Dekorator daxildir.
28. Sadə fayl əməliyyatları üçün ən yaxşı Golang paketi hansıdır? Fayl manipulyasiyası üçün hansı əlavə Golang paketləri istifadə olunur?
Platformadan müstəqil interfeys os standart kitabxana paketi ilə təmin edilir. Fayllarla əlaqə qurarkən biz onlardan sistem funksiyaları üçün istifadə edirik. ƏS interfeysi bütün əməliyyat sistemlərində ardıcıl olmalıdır.
Nəticədə bizim inkişaf etdirdiyimiz proqramlar Windows, Linux və Mac-də eyni işləyir. Digər Go standart kitabxana paketlərinə io, ioutil və bufio daxildir. Onlar fayllarla işləyir və funksionallıq əlavə edirlər. Bununla belə, fundamental fayl əməliyyatları üçün onlar tələb olunmur. Bizə yalnız OS paketi lazımdır.
29. Qolanqın obyekt yönümlü arxitekturasının izahını verin.
Golanq ənənəvi olaraq sinif-obyekt dizaynından istifadə etmir Object Oriented Programming edir. Mürəkkəb məlumat strukturları və davranışları bunun əvəzinə strukturlarda və metodlarda saxlanılır.
Struktur sadəcə strukturun daşıyacağı məlumatların planı olan bir sxemdir. Strukturlar kitablar, insanlar və ya avtomobillər kimi real dünyadakı fikirləri simvollaşdırmaq üçün istifadə edilə bilər.
30. Golang hansı dönüşüm növlərini dəstəkləyir?
Aydın yazmağa gəldikdə, Go çox seçicidir. Heç bir növ dönüşüm avtomatik olaraq həyata keçirilmir. Bir növün dəyişənini digərinə təyin etmək üçün növün çevrilməsi açıq şəkildə aparılmalıdır.
31. Tip təsdiqinin məqsədini və işini təsvir edin.
GO-da tip çevrilməsi fərqli növləri çevirmək üçün istifadə olunur. Göstərilən növün açıq dəyəri tip təsdiqi ilə interfeys dəyərindən çıxarılır.
32. Struktur tipi tam olaraq nədir?
Struktur sahə adlanan komponentlərin siyahısından ibarətdir. Hər sahənin bir növü və adı var. Strukturu təsəvvür etməyin başqa bir yolu əlaqəli xüsusiyyətlər qrupudur. Onlar qeydlər yaratmaq üçün məlumatları birləşdirməyə kömək edir.
33. Dilim dəyərinin dəstək massivini izah edin.
Biz bir dilim qurduqda, Go pərdə arxasında arxa və ya əsas massiv adlı gizli massiv yaradır və yeni dilim tipli dəyişən ona istinad edir. Dilim deyil, elementlər arxa massivdə saxlanılır.
Dilimlər Go-da dilimin icra zamanı təmsili kimi çıxış edən dilim başlıqları adlanan məlumat strukturları kimi həyata keçirilir.
34. Həm GOPATH, həm də GOROOT dəyişənlərinin olması zəruridirmi və əgər belədirsə, niyə?
Adətən, heç biri lazım deyil. Go paketi ağacına və ya ağaclarına işarə etmək üçün təyin edilməli olan yeganə dəyişən GOPATH-dir.
GOROOT Go proqramlaşdırma dili üçün ev kataloqunun kökünə istinad edir, lakin o, demək olar ki, artıq cari Go quraşdırmasının yerinə təyin edilib.
Eyni sistemdə çoxsaylı Go dili versiyaları varsa və ya Go dili internetdən binar paket kimi endirilibsə və ya başqa maşından köçürülübsə, GOROOT dəyişəni təyin edilməlidir.
35. Qolanq miras almağa imkan verirmi?
Varislik obyekt yönümlü proqramlaşdırmada əsas anlayışdır və supersinifin xassələrinin əsas sinfə ötürülməsini nəzərdə tutur.
Qolanqda siniflər olmadığından, irsiyyət strukturun yerləşdirilməsi ilə həyata keçirilir və strukturlar birbaşa genişləndirilə bilməz, biz strukturla yeni obyektlər yaratmaq üçün kompozisiya ideyasından istifadə etməliyik.
36. Qolanqda CGo necə görünür?
Müəyyən edilmiş xüsusiyyətləri olan Go mənbə faylından cGo unikal Go paketinə birləşdirilə bilən Go və C faylları yaradır. C, C-nin ad sahəsinə istinad etmək üçün cGo tərəfindən yaradılan fərqli bir ifadə olan “psevdopaket”ə istinad edir.
37. Qolanqda göstərici növü hansıdır?
Müəyyən yaddaş bölgələri üçün hərf-rəqəm təyinatları və ya etiketlər dəyişənlər kimi tanınır. Göstərici kimi tanınan dəyişən növü başqa dəyişənin yaddaş ünvanını saxlayır.
Dəyişənin ünvanı göstərici dəyəri ilə və ya dəyişən hələ təyin olunmayıbsa sıfırla təmsil olunur. Dəyişən dəyərin yaddaş yerini təmsil etdiyi kimi, göstərici də həmin ünvana işarə edir.
Nəticə
Golanq proqramlaşdırma dilinin məqsədi daha tez effektiv proqramlar yaratmaq idi. Şirkətlər Qolanqdan istifadə etməyə başladılar, çünki onlar onun sərfəli imkanlarını həyata keçirməyə başladılar.
Golang, tərtibatçıların marağını alovlandırmaqda, onların əsas istifadəsini və nəticədə iş imkanlarını artırmaqda son dərəcə təsirli olmuşdur. Golanq müsahibələri zamanı ən çox verilən yuxarıda qeyd olunan suallara cavablar sizə axtardığınız Golanq işini tapmağa kömək edə bilər.
Görmək Hashdorkun Müsahibə Seriyası müsahibənin hazırlanmasında kömək üçün.
Cavab yaz