Top 22 Erlang-interviewspørgsmål og -svar (2025)
Her er Erlang-interviewspørgsmål og svar til friskere såvel som erfarne kandidater til at få deres drømmejob.
1) Hvad er Erlang?
Erlang er et generelt programmeringssprog og et runtime-miljø. Den har indbygget understøttelse af samtidighed, fejltolerance og distribution. Erlang er tilgængelig som open source.
Gratis PDF-download: Erlang Interview Spørgsmål og Svar
2) Forklar, hvad er OTP (Open Telecom Platform)?
OTP er en open source-platform, og det er et stort sæt biblioteker, som Erlang kan gøre alt fra at kompilere ASN.1 til at levere en WWW-server.
3) Hvad er de vigtigste funktioner i Erlang?
Nøglefunktioner for Erlang er, at den har
- Deklarativ syntaks: Det har en deklarativ syntaks
- Samtidig: Det har en procesbaseret model for samtidighed
- Realtid: Det programmerer et realtidssystem
- Kontinuerlig drift: Det giver mulighed for kontinuerlig drift
- Robust: Til at opdage runtime fejl har den tre konstruktioner i sproget
- Hukommelseshåndtering: Hukommelse tildeles automatisk og deallokeres, når det ikke er nødvendigt
- Distribution: Det har ingen delt hukommelse, distribuerede systemer kan nemt bygges i erlang
- Integration: Nem integration af program skrevet på et andet sprog
4) Nævn de datatyper, som erlang leverer?
Erlang giver to datatyper
- Konstante datatyper: Disse typer af datatyper kan ikke opdeles i mere primitive undertyper. Den består af tal og atomer.
- Sammensatte datatyper: Disse typer datatyper bruges til at gruppere andre typer datatyper. Den består af tupler og lister.
5) Hvad er kommandoen for at afbryde node i Erlang?
Ved at kalde erlang: disconnect_node (Node) vil tvinge afbrydelse af noden.
6) Forklar, hvad er moduler i Erlang?
Erlang gør det muligt at organisere kode i moduler. Et modul består af funktioner; det introducerer et lokalt funktionsområde (offentlig og privat).
7) Nævn hvordan modulet er gemt i Erlang?
Et modulnavn er gemt i en fil med navnet .erl. Filens basisnavn og modulnavn skal være det samme.
8) Forklar hvad er Bit-strenge i Erlang?
For at gemme et område med ikke-type hukommelse, bruges en bitstreng, som udtrykkes ved hjælp af bitsyntaksen.
9) Forklar, hvad er Pattern Matching?
En mønstermatching opstår, når et funktionskald evalueres. Gennem mønstertilpasningsmekanisme er variabler bundet til værdierne.
10) Forklar, hvad er PID-datatype?
PID betyder Process Identifier og er den datatype, der bruges til de unikke procesidentifikatorer, som er tildelt hver proces.
11) Hvad er kommandoen for at inkludere en fil i Erlang?
På to måder kan en fil inkluderes i Erlang
- inkludere (Fil).
- include_lib (Fil).
12) Hvordan håndteres køretidsfejl i Erlang?
Det er muligt at forhindre kørselsfejl og andre undtagelser i at få processen til at afslutte ved at bruge Catch eller Try. Catch Expr returnerer værdien af udtryk, medmindre der opstår en undtagelse under evalueringen. Try Exprs er forbedringen af catch med mulighed for at identificere undtagelsesklassen og vælge at håndtere den ønskede.
13) Hvordan skabes "proces" i Erlang?
Processen oprettes ved at kalde spawn, og spawn danner en ny proces og returnerer pid.
- Spawn (modul, navn, args) -> pid ()
14) Definer guard-sekvens og hvad er de gyldige guard-udtryk?
Erlang funktionsklausuler kan beskyttes med afskærmninger; en klausul kan kun beskyttes, hvis vagten holder. Det er en sekvens af guards, adskilt af semikolon (;), og en guard er en sekvens af guard-udtryk adskilt af komma (,). Beskyttelsessekvensen er sand, hvis mindst en af vagterne er sande.
15) Giv listen over gyldige vagtudtryk?
Gyldige vagtudtryk er
- Atom sandt,
- Andre konstanter
- Opkald til de angivne BIF'er
- Term sammenligninger
- Aritmetiske udtryk
- booleske udtryk
- Kortslutningsudtryk
16) Forklar, hvordan besked sendes og modtages i Erlang?
Til afsendelse af besked bruger Erlang udråbstegn (!) som operatør for afsendelse af en besked. Syntaksen, der bruges til at sende en besked, er Pid! Besked. Til at modtage besked bruger Erlang Pattern Matching, for at levere en besked fra beskedkøen bruges modtagelseserklæringen.
17) Forklar, hvad er Spawn/ 1l3 og Spawn_link 1l3?
Spawn/ 1l3: Det opretter en ny proces og returnerer sin pid. I systemplanlægningskøen placeres den nye proces, så den kører noget tid senere. Spawn_link/1l3: Det giver den samme funktionalitet som spawn/1l3, men med tilføjelsen af et link, der er atomisk skabt mellem den nyligt affødte proces og den, der ringer.
18) Nævn hvad er syntaksen for at skrive makroer i Erlang?
Syntaksen, der bruges til at skrive makroer i Erlang, er
define ( Const, Replacement ).
define ( Fun ( Var1 , Var2, …., Var ) , Replacement )
19) Liste over de foruddefinerede makroer i Erlang?
De foruddefinerede makroer i Erlang er
- Modul: Det returnerer navnet på det aktuelle modul
- Module_String: Det returnerer navnet på det aktuelle modul som en streng
- File: Det returnerer det aktuelle filnavn
- Linje: Det returnerer det aktuelle linjenummer
- Maskine: Det returnerer det aktuelle maskinnavn, 'BEAM.'
20) Forklar hvad en post er, og hvordan du kan definere poster i Erlang?
Til lagring af et fast antal elementer, en datastruktur bruges, som omtales som rekord. Udtryk oversættes til tupeludtryk under kompileringsregistrering. Record i Erlang er defineret af postens navn efterfulgt af postens feltnavne. Post- og feltnavne skal være atomer.
record (Name, { Field1 [= Value] , … FieldN [= ValueN] } )
21) Nævn hvilken kommando bruges til at få adgang til postfelt i Erlang?
Udtr#Navn.Felt, denne kommando returnerer værdien af det nævnte felt, mens det bruges til at returnere positionen for det angivne felt #Navn.Felt.
22) Forklar, hvad er epmd?
epmd er en lille navneserver, som bruges af Erlang-programmer ved etablering af distribueret Erlang-kommunikation. Det omtales også som en Erlang Port Mapper Daemon. Den er ansvarlig for at kortlægge de symbolske nodenavne til maskinadresser, som den bruges.
Disse interviewspørgsmål vil også hjælpe i din viva(orals)