Topp 22 Erlang-intervjuspørsmål og -svar (2025)

Her er Erlang intervjuspørsmål og svar for ferskinger så vel som erfarne kandidater for å få drømmejobben.


1) Hva er Erlang?

Erlang er et generelt programmeringsspråk og et kjøretidsmiljø. Den har innebygd støtte for samtidighet, feiltoleranse og distribusjon. Erlang er tilgjengelig som åpen kildekode.

Gratis PDF-nedlasting: Erlang-intervjuspørsmål og svar


2) Forklar hva er OTP (Open Telecom Platform)?

OTP er en åpen kildekode-plattform, og det er et stort sett med biblioteker for Erlang å gjøre alt fra kompilering av ASN.1 til å tilby en WWW-server.


3) Hva er hovedtrekkene til Erlang?

Nøkkelfunksjoner for Erlang er at den har

  • Deklarativ syntaks: Den har deklarativ syntaks
  • Samtidig: Den har en prosessbasert modell for samtidighet
  • Sanntid: Den programmerer sanntidssystem
  • Kontinuerlig drift: Den tillater kontinuerlig drift
  • Robust: For å oppdage kjøretidsfeil har den tre konstruksjoner i språket
  • Minnehåndtering: Minne tildeles automatisk og deallokeres når det ikke er nødvendig
  • Distribusjon: Den har ikke noe delt minne, distribuerte systemer kan enkelt bygges i erlang
  • Integrering: Enkel integrering av program skrevet på andre språk

4) Nevn datatypene som erlang gir?

Erlang gir to datatyper

  • Konstante datatyper: Disse typer datatyper kan ikke deles opp i mer primitive undertyper. Den består av tall og atomer.
  • Sammensatte datatyper: Disse typer datatyper brukes til å gruppere andre typer datatyper. Den består av tupler og lister.

5) Hva er kommandoen for å koble fra node i Erlang?

Ved å ringe erlang: disconnect_node (Node) vil tvinge frakobling av noden.

Erlang intervjuspørsmål
Erlang intervjuspørsmål

6) Forklar hva er moduler i Erlang?

Erlang gjør det mulig å organisere kode i moduler. En modul består av funksjoner; den introduserer et lokalt funksjonsomfang (offentlig og privat).


7) Nevn hvordan modulen er lagret i Erlang?

Et modulnavn er lagret i en fil som heter .erl. Filbasenavn og modulnavn må være det samme.


8) Forklar hva er Bit-strenger i Erlang?

For å lagre et område med utypet minne, brukes en bitstreng og uttrykkes ved hjelp av bitsyntaksen.


9) Forklar hva er Pattern Matching?

En mønstertilpasning oppstår ved evaluering av et funksjonskall. Gjennom mønstertilpasningsmekanisme er variabler bundet til verdiene.


10) Forklar hva er PID-datatype?

PID betyr prosessidentifikator og er datatypen som brukes for de unike prosessidentifikatorene som er tilordnet hver prosess.


11) Hva er kommandoen som brukes for å inkludere en fil i Erlang?

På to måter kan en fil inkluderes i Erlang

  • inkludere (Fil).
  • include_lib (fil).
erlang
erlang

12) Hvordan kjøretidsfeil håndteres i Erlang?

Det er mulig å forhindre at kjøretidsfeil og andre unntak får prosessen til å avslutte ved å bruke Catch eller Try. Catch Expr returnerer verdien av uttrykket med mindre et unntak oppstår under evalueringen. Try Exprs er forbedringen av catch med muligheten til å identifisere unntaksklassen og velge å håndtere den ønskede.


13) Hvordan skapes "prosess" i Erlang?

Prosessen opprettes ved å kalle spawn, og spawn danner en ny prosess og returnerer pid.

  • Spawn (Module, Name, Args ) -> pid ()

14) Definer vaktsekvens og hva er de gyldige vaktuttrykkene?

Erlang funksjonsklausuler kan beskyttes med verner; en klausul kan beskyttes bare hvis vakten holder. Det er en sekvens av vakter, atskilt med semikolon (;), og en vakt er en sekvens av vaktuttrykk atskilt med komma (,). Vaktsekvensen er sann hvis minst en av vaktene er sanne.


15) Gi listen over gyldige vaktuttrykk?

Gyldige vaktuttrykk er

  • Atom sant,
  • Andre konstanter
  • Anrop til de angitte BIF-ene
  • Term sammenligninger
  • Aritmetiske uttrykk
  • boolske uttrykk
  • Kortslutningsuttrykk

16) Forklar hvordan melding sendes og mottas i Erlang?

For å sende melding bruker Erlang utropstegnet (!) som operatør for å sende en melding. Syntaksen som brukes for å sende en melding er Pid! Beskjed. For å motta melding bruker Erlang Pattern Matching, for å levere en melding fra meldingskøen brukes mottakserklæringen.


17) Forklar hva er Spawn/ 1l3 og Spawn_link 1l3?

Spawn/ 1l3: Den oppretter en ny prosess og returnerer pid. I systemplanleggerkøen plasseres den nye prosessen slik at den kjører litt senere. Spawn_link/1l3: Den gir samme funksjonalitet som spawn/1l3, men med tillegg av en kobling som er atomisk opprettet mellom den nylig opprettede prosessen og den som ringer.


18) Nevn hva er syntaksen for å skrive makroer i Erlang?

Syntaksen som brukes til å skrive makroer i Erlang er

 define ( Const, Replacement ).
define ( Fun ( Var1 , Var2, …., Var ) , Replacement )

19) Liste ut de forhåndsdefinerte makroene i Erlang?

De forhåndsdefinerte makroene i Erlang er

  • Moduler: Den returnerer navnet på gjeldende modul
  • Module_String: Den returnerer navnet på gjeldende modul, som en streng
  • Fil: Den returnerer gjeldende filnavn
  • Linje: Den returnerer gjeldende linjenummer
  • Maskin: Den returnerer gjeldende maskinnavn, 'BEAM.'

20) Forklar hva som er en post og hvordan du kan definere poster i Erlang?

For lagring av et fast antall elementer, a data struktur brukes som omtales som post. Uttrykk oversettes til tuppeluttrykk under kompileringsposten. Post i Erlang er definert av navnet på posten, etterfulgt av feltnavnene til posten. Post- og feltnavn må være atomer.

record (Name, { Field1 [= Value] , … FieldN [= ValueN] } )

21) Nevn hva er kommandoen som brukes for å få tilgang til postfelt i Erlang?

Expr#Name.Field, denne kommandoen vil returnere verdien til det nevnte feltet mens for å returnere posisjonen til det spesifiserte feltet brukes #Name.Field.


22) Forklar hva er epmd?

epmd er en liten navneserver som brukes av Erlang-programmer ved etablering av distribuert Erlang-kommunikasjon. Det er også referert til som en Erlang Port Mapper Daemon. Den er ansvarlig for å kartlegge de symbolske nodenavnene til maskinadresser den brukes.

Disse intervjuspørsmålene vil også hjelpe i din viva(orals)

Del

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *