22 parasta Erlang-haastattelun kysymystä ja vastausta (2025)
Tässä Erlangin haastattelukysymyksiä ja vastauksia niin fuksilaisille kuin kokeneille hakijoille unelmatyönsä saamiseen.
1) Mikä on Erlang?
Erlang on yleiskäyttöinen ohjelmointikieli ja ajonaikainen ympäristö. Siinä on sisäänrakennettu tuki samanaikaisuudelle, vikasietoisuudelle ja jakelulle. Erlang on saatavana avoimena lähdekoodina.
Ilmainen PDF-lataus: Erlang-haastattelun kysymyksiä ja vastauksia
2) Selitä mikä on OTP (Open Telecom Platform)?
OTP on avoimen lähdekoodin alusta, ja se on suuri joukko kirjastoja, joiden avulla Erlang voi tehdä kaiken ASN.1:n kääntämisestä WWW-palvelimen tarjoamiseen.
3) Mitkä ovat Erlangin tärkeimmät ominaisuudet?
Erlangin tärkeimmät ominaisuudet ovat, että sillä on
- Deklaratiivinen syntaksi: Sillä on deklaratiivinen syntaksi
- Samanaikainen: Siinä on prosessipohjainen samanaikaisuusmalli
- Reaaliaika: Se ohjelmoi reaaliaikaista järjestelmää
- Jatkuva käyttö: Se mahdollistaa jatkuvan toiminnan
- Vankka: Ajonaikaisten virheiden havaitsemiseen sillä on kielessä kolme rakennetta
- Muistinhallinta: Muisti varataan automaattisesti ja puretaan, kun sitä ei tarvita
- Jakelu: Siinä ei ole jaettua muistia, hajautetut järjestelmät voidaan helposti rakentaa erlangiksi
- integraatio: Toisella kielellä kirjoitetun ohjelman helppo integrointi
4) Nimeä erlangin tarjoamat tietotyypit?
Erlang tarjoaa kaksi tietotyyppiä
- Vakiotietotyypit: Tämän tyyppisiä tietotyyppejä ei voida jakaa primitiivisempiin alatyyppeihin. Se koostuu numeroista ja atomeista.
- Yhdistetyt tietotyypit: Tämäntyyppisiä tietotyyppejä käytetään muun tyyppisten tietotyyppien ryhmittelyyn. Se koostuu monista ja listoista.
5) Mikä on komento solmun katkaisemiseksi Erlangissa?
Kutsumalla erlang: disconnect_node (Node) pakottaa solmun yhteyden katkaisemaan.
6) Selitä mitä ovat moduulit Erlangissa?
Erlang mahdollistaa koodin järjestämisen moduuleiksi. Moduuli koostuu toiminnoista; se esittelee paikalliset toiminnot (julkinen ja yksityinen).
7) Mainitse kuinka moduuli on tallennettu Erlangiin?
Moduulin nimi tallennetaan tiedostoon nimeltä .erl. Tiedoston perusnimen ja moduulin nimen on oltava samat.
8) Selitä, mikä on bittijonot Erlangissa?
Tyypittämättömän muistin alueen tallentamiseen käytetään bittijonoa, joka ilmaistaan bittisyntaksin avulla.
9) Selitä mikä on kuvioiden yhteensopivuus?
Kuviosovitus tapahtuu arvioitaessa funktiokutsua. Kuvioiden sovitusmekanismin avulla muuttujat sidotaan arvoihin.
10) Selitä mikä on PID-tietotyyppi?
PID tarkoittaa prosessin tunnistetta ja on tietotyyppi, jota käytetään jokaiselle prosessille osoitetuille yksilöllisille prosessitunnisteille.
11) Mitä komentoa käytetään tiedoston lisäämiseen Erlangiin?
Tiedosto voidaan sisällyttää Erlangiin kahdella tavalla
- sisällyttää (tiedosto).
- include_lib (tiedosto).
12) Miten ajonaikaisia virheitä käsitellään Erlangissa?
On mahdollista estää ajonaikaisia virheitä ja muita poikkeuksia aiheuttamasta prosessin päättymistä Catch tai Try -toiminnolla. Catch Expr palauttaa lausekkeen arvon, ellei arvioinnin aikana tapahdu poikkeusta. Try Exprs on saaliin parannus kyvyllä tunnistaa poikkeusluokka ja valita haluttu käsittely.
13) Miten "prosessi" luodaan Erlangissa?
Prosessi luodaan kutsumalla spawn, ja spawn muodostaa uuden prosessin ja palauttaa pid:n.
- Spawn (moduuli, nimi, arvot ) -> pid ()
14) Määritä vartijasekvenssi ja mitkä ovat kelvolliset vartijalausekkeet?
Erlang-toimintolausekkeet voidaan suojata suojilla; lauseke voidaan suojata vain, jos vartija pitää. Se on sarja vartija, erotettu puolipisteellä (;), ja vartija on sarja vartijalausekkeita erotettuna pilkulla (,). Vartiointisekvenssi on tosi, jos ainakin yksi vartijoista on tosi.
15) Anna luettelo kelvollisista vartijalausekkeista?
Kelvolliset suojalausekkeet ovat
- Atom totta,
- Muut vakiot
- Puhelut määritettyihin BIF:eihin
- Termivertailut
- Aritmeettiset lausekkeet
- Boolen lausekkeet
- Oikosulkulausekkeet
16) Selitä, miten viesti lähetetään ja vastaanotetaan erlangilla?
Viestin lähettämiseen Erlang käyttää huutomerkkiä (!) viestin lähettämisen operaattorina. Viestin lähettämiseen käytetty syntaksi on Pid ! Viesti. Viestin vastaanottamiseen Erlang käyttää Pattern Matchingia, jolloin viestin toimittamiseen viestijonosta käytetään vastaanottolausetta.
17) Selitä mikä on Spawn/ 1l3 ja Spawn_link 1l3?
Spawn/ 1l3: Se luo uuden prosessin ja palauttaa sen pid. Järjestelmän ajoitusjonossa uusi prosessi sijoitetaan niin, että se suoritetaan jonkin aikaa myöhemmin. Spawn_link/1l3: Se tarjoaa samat toiminnot kuin spawn/1l3, mutta siihen on lisätty linkki, joka luodaan atomisesti vastasyntyneen prosessin ja soittajan välille.
18) Mainitse mikä on syntaksi makrojen kirjoittamiseen Erlangilla?
Erlangin makrojen kirjoittamiseen käytetty syntaksi on
define ( Const, Replacement ).
define ( Fun ( Var1 , Var2, …., Var ) , Replacement )
19) Listaa etukäteen määritellyt makrot Erlangissa?
Ennalta määritetyt makrot Erlangissa ovat
- Moduuli: Se palauttaa nykyisen moduulin nimen
- Module_String: Se palauttaa nykyisen moduulin nimen merkkijonona
- Tiedosto: Se palauttaa nykyisen tiedostonimen
- Linja: Se palauttaa nykyisen rivinumeron
- Machine: Se palauttaa nykyisen koneen nimen "BEAM".
20) Selitä mikä on tietue ja miten voit määritellä tietueita Erlangissa?
Kiinteän määrän elementtejä tallentamiseksi a tietorakenne käytetään, jota kutsutaan tietueeksi. Lausekkeet käännetään monikkolausekkeiksi käännöstietueen aikana. Tietue Erlangissa määritellään tietueen nimellä, jota seuraa tietueen kenttien nimet. Tietueiden ja kenttien nimien on oltava atomeja.
record (Name, { Field1 [= Value] , … FieldN [= ValueN] } )
21) Mainitse mitä komentoa käytetään tietuekenttään pääsemiseen Erlangissa?
Laus#Nimi.Kenttä, tämä komento palauttaa mainitun kentän arvon, kun taas määritetyn kentän sijainnin palauttamiseen käytetään #Name.Field.
22) Selitä mikä on epmd?
epmd on pieni nimipalvelin, jota Erlang-ohjelmat käyttävät luodessaan hajautettua Erlang-viestintää. Sitä kutsutaan myös Erlang Port Mapper Daemoniksi. Se vastaa symbolisten solmujen nimien yhdistämisestä käyttämiensä koneosoitteisiin.
Nämä haastattelukysymykset auttavat myös vivassasi (suullinen)