22 parimat Erlangi intervjuu küsimust ja vastust (2025)
Siin on Erlangi intervjuu küsimused ja vastused nii värsketele kui ka kogenud kandidaatidele unistuste töökoha saamiseks.
1) Mis on Erlang?
Erlang on üldotstarbeline programmeerimiskeel ja käituskeskkond. See on sisseehitatud samaaegsuse, tõrketaluvuse ja levitamise tugi. Erlang on saadaval avatud lähtekoodina.
Tasuta PDF-i allalaadimine: Erlangi intervjuu küsimused ja vastused
2) Selgitage, mis on OTP (Open Telecom Platform)?
OTP on avatud lähtekoodiga platvorm ja see on suur hulk teeke, mille abil Erlang saab teha kõike alates ASN.1 kompileerimisest kuni WWW-serveri pakkumiseni.
3) Millised on Erlangi põhijooned?
Erlangi peamised omadused on see, et sellel on
- Deklaratiivne süntaks: Sellel on deklaratiivne süntaks
- Samaaegne: Sellel on protsessipõhine samaaegsuse mudel
- Reaalajas: See programmeerib reaalajas süsteemi
- Pidev töö: See võimaldab pidevat tööd
- Tugev: Käitusaja vigade tuvastamiseks on sellel keeles kolm konstruktsiooni
- Mälu haldamine: Mälu eraldatakse automaatselt ja eraldatakse, kui seda pole vaja
- jaotus: Sellel pole ühismälu, hajutatud süsteeme saab hõlpsasti erlangi keeles ehitada
- Integratsioon: Muus keeles kirjutatud programmi lihtne integreerimine
4) Nimeta andmetüübid, mida erlang pakub?
Erlang pakub kahte andmetüüpi
- Püsiandmetüübid: Seda tüüpi andmetüüpe ei saa jagada primitiivsemateks alamtüüpideks. See koosneb numbritest ja aatomitest.
- Liitandmete tüübid: Seda tüüpi andmetüüpe kasutatakse muud tüüpi andmetüüpide rühmitamiseks. See koosneb kordadest ja loenditest.
5) Mis on Erlangi sõlme lahtiühendamise käsk?
Kutsudes erlangi: disconnect_node (Sõlm) sunnib sõlme katkestama.
6) Selgitage, mis on moodulid Erlangis?
Erlang võimaldab korraldada koodi mooduliteks. Moodul koosneb funktsioonidest; see tutvustab kohalikku funktsioonide ulatust (avalik ja privaatne).
7) Mainige, kuidas moodulit Erlangis salvestatakse?
Mooduli nimi salvestatakse faili nimega .erl. Faili baasnimi ja mooduli nimi peavad olema samad.
8) Selgitage, mis on erlangis bitistringid?
Tüüpimata mälupiirkonna salvestamiseks kasutatakse bitistringi, mida väljendatakse bitisüntaksi abil.
9) Selgitage, mis on mustri sobitamine?
Mustri sobitamine toimub funktsioonikutse hindamisel. Mustri sobitamise mehhanismi kaudu seotakse muutujad väärtustega.
10) Selgitage, mis on PID andmetüüp?
PID tähendab protsessi identifikaatorit ja on andmetüüp, mida kasutatakse kordumatute protsessiidentifikaatorite jaoks, mis on määratud igale protsessile.
11) Millist käsku kasutatakse Erlangi faili lisamiseks?
Erlangi saab faili lisada kahel viisil
- kaasata (fail).
- include_lib (fail).
12) Kuidas Erlangis käitusaegseid vigu käsitletakse?
Käitusaja tõrgete ja muude erandite tõttu on võimalik protsessi lõppemist vältida, kasutades funktsiooni Catch või Try. Catch Expr tagastab avaldise väärtuse, välja arvatud juhul, kui hindamise ajal ilmneb erand. Try Exprs on püüdmise täiustamine, mis võimaldab tuvastada erandiklassi ja valida soovitud klassi.
13) Kuidas erlangis "protsess" luuakse?
Protsess luuakse kutsudes spawn ja spawn moodustab uue protsessi ja tagastab pid.
- Spawn (moodul, nimi, argid ) -> pid ()
14) Defineerige valvejärjestus ja millised on kehtivad valveavaldised?
Erlangi funktsiooniklausleid saab kaitsta kaitsmetega; klauslit saab kaitsta ainult siis, kui valvur seda hoiab. See on valvurite jada, mis on eraldatud semikooloniga (;), ja valvur on valveavaldiste jada, mis on eraldatud komaga (,). Valvejärjestus on tõene, kui vähemalt üks valvuritest on tõene.
15) Esitage kehtivate valveväljendite loend?
Kehtivad kaitseväljendid on
- Aatom tõsi,
- Muud konstandid
- Kõned määratud BIF-idele
- Terminite võrdlused
- Aritmeetilised avaldised
- Boole'i avaldised
- Lühise väljendused
16) Selgitage, kuidas sõnumeid erlangis saadetakse ja vastu võetakse?
Sõnumi saatmisel kasutab Erlang sõnumi saatmise operaatorina hüüumärki (!). Sõnumi saatmisel kasutatav süntaks on Pid ! Sõnum. Sõnumi vastuvõtmiseks kasutab Erlang Pattern Matchingut, sõnumi edastamiseks sõnumijärjekorrast kasutatakse vastuvõtulauset.
17) Selgitage, mis on Spawn/ 1l3 ja Spawn_link 1l3?
Spawn/ 1l3: see loob uue protsessi ja tagastab selle pid. Süsteemi planeerija järjekorda paigutatakse uus protsess nii, et see käivitub mõnda aega hiljem. Spawn_link/1l3: see pakub samu funktsioone nagu spawn/1l3, kuid lisab lingi, mis luuakse äsja loodud protsessi ja helistaja vahel.
18) Mainige, milline on erlangi makrode kirjutamise süntaks?
Erlangis makrode kirjutamiseks kasutatav süntaks on
define ( Const, Replacement ).
define ( Fun ( Var1 , Var2, …., Var ) , Replacement )
19) Loetlege Erlangis eelnevalt määratletud makrod?
Eelmääratletud makrod Erlangis on
- moodulitest: Tagastab praeguse mooduli nime
- Module_String: See tagastab stringina praeguse mooduli nime
- File: See tagastab praeguse failinime
- Rida: Tagastab praeguse rea numbri
- Machine: See tagastab praeguse masina nime "BEAM".
20) Selgitage, mis on kirje ja kuidas saate kirjeid Erlangis määratleda?
Fikseeritud arvu elementide salvestamiseks a andmete struktuur kasutatakse, mida nimetatakse rekordiks. Avaldised tõlgitakse kompileerimise ajal avaldisteks. Erlangi kirje määratletakse kirje nimega, millele järgnevad kirje väljanimed. Kirje ja välja nimed peavad olema aatomid.
record (Name, { Field1 [= Value] , … FieldN [= ValueN] } )
21) Nimetage, millist käsku kasutatakse Erlangi kirjeväljale juurdepääsuks?
Expr#Name.Field, see käsk tagastab mainitud välja väärtuse, samas kui määratud välja asukoha tagastamiseks kasutatakse #Name.Field.
22) Selgitage, mis on epmd?
epmd on väike nimeserver, mida Erlangi programmid kasutavad hajutatud Erlangi suhtluse loomisel. Seda nimetatakse ka Erlangi sadamakaardistaja deemoniks. See vastutab sümboolsete sõlmede nimede vastendamise eest kasutatavate masinaaadressidega.
Need intervjuu küsimused aitavad ka teie viva (suuline)