22 nejčastějších otázek a odpovědí v rozhovoru s Erlangem (2025)

Zde jsou otázky a odpovědi na pohovor Erlang pro začátečníky i zkušené kandidáty, aby získali svou vysněnou práci.


1) Co je Erlang?

Erlang je univerzální programovací jazyk a běhové prostředí. Má zabudovanou podporu pro souběžnost, odolnost proti chybám a distribuci. Erlang je k dispozici jako open source.

Zdarma ke stažení PDF: Otázky a odpovědi k rozhovoru Erlang


2) Vysvětlete, co je OTP (Open Telecom Platform)?

OTP je platforma s otevřeným zdrojovým kódem a je to velká sada knihoven pro Erlang, které mohou dělat vše od kompilace ASN.1 po poskytování WWW serveru.


3) Jaké jsou klíčové vlastnosti Erlangu?

Klíčové vlastnosti pro Erlang jsou, že má

  • Deklarativní syntaxe: Má deklarativní syntaxi
  • Souběžné: Má procesně založený model souběžnosti
  • Reálný čas: Programuje systém v reálném čase
  • Pokračující operace: Umožňuje nepřetržitý provoz
  • Robustní: Pro detekci runtime chyb má v jazyce tři konstrukty
  • Správa paměti: Paměť se přiděluje automaticky a v případě, že není potřeba, se přiděluje
  • Distribuce: Nemá sdílenou paměť, distribuované systémy lze snadno postavit v erlangu
  • Integrace: Snadná integrace programu napsaného v jiném jazyce

4) Pojmenujte datové typy, které erlang poskytuje?

Erlang poskytuje dva datové typy

  • Konstantní datové typy: Tyto typy datových typů nelze rozdělit na primitivnější podtypy. Skládá se z čísel a atomů.
  • Typy složených dat: Tyto typy datových typů se používají k seskupování jiných typů datových typů. Skládá se z n-tic a seznamů.

5) Jaký je příkaz k odpojení uzlu v Erlangu?

Voláním erlang: unlock_node (Node) vynutí odpojení uzlu.

Otázky k rozhovoru Erlang
Otázky k rozhovoru Erlang

6) Vysvětlete, co jsou moduly v Erlangu?

Erlang umožňuje organizovat kód do modulů. Modul se skládá z funkcí; zavádí místní rozsah funkcí (veřejné a soukromé).


7) Uveďte, jak je modul uložen v Erlangu?

Název modulu je uložen v souboru s názvem .erl. Základní název souboru a název modulu musí být stejné.


8) Vysvětlete, co jsou bitové řetězce v Erlangu?

K uložení oblasti paměti bez typu se používá bitový řetězec, který je vyjádřen pomocí bitové syntaxe.


9) Vysvětlete, co je Pattern Matching?

Při vyhodnocování volání funkce dochází ke shodě vzoru. Prostřednictvím mechanismu porovnávání vzorů jsou proměnné svázány s hodnotami.


10) Vysvětlete, co je datový typ PID?

PID znamená Identifikátor procesu a je datovým typem používaným pro jedinečné identifikátory procesu, které jsou přiřazeny každému procesu.


11) Jaký příkaz se používá pro zahrnutí souboru v Erlangu?

Soubor lze do Erlangu zahrnout dvěma způsoby

  • zahrnout (Soubor).
  • include_lib (Soubor).
Erlang
Erlang

12) Jak se v Erlangu řeší chyba za běhu?

Je možné zabránit chybám za běhu a dalším výjimkám, aby způsobily ukončení procesu, pomocí funkce Catch nebo Try. Catch Expr vrátí hodnotu výrazu, pokud během vyhodnocení nenastane výjimka. Try Exprs je vylepšení catch se schopností identifikovat třídu výjimek a zvolit zpracování požadované.


13) Jak se v Erlangu vytváří „proces“?

Proces je vytvořen voláním spawn a spawn tvoří nový proces a vrací pid.

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

14) Definujte strážní sekvenci a jaké jsou platné ochranné výrazy?

Funkční klauzule Erlang lze chránit ochrannými kryty; doložka může být chráněna pouze tehdy, pokud strážný drží. Je to posloupnost strážců oddělených středníkem (;) a strážce je posloupnost strážných výrazů oddělených čárkou (,). Posloupnost stráží je pravdivá, pokud je pravdivá alespoň jedna ze stráží.


15) Uveďte seznam platných ochranných výrazů?

Platné ochranné výrazy jsou

  • Atom pravda,
  • Jiné konstanty
  • Volání na zadané BIFy
  • Srovnání termínů
  • Aritmetické výrazy
  • Booleovské výrazy
  • Zkratové výrazy

16) Vysvětlete, jak se zpráva odesílá a přijímá v Erlangu?

Pro odeslání zprávy Erlang používá jako operátor pro odeslání zprávy vykřičník (!). Syntaxe použitá pro odeslání zprávy je Pid! Zpráva. Pro příjem zprávy Erlang používá Pattern Matching, k doručení zprávy z fronty zpráv se používá příkaz příjem.


17) Vysvětlete, co je Spawn/ 1l3 a Spawn_link 1l3?

Spawn/ 1l3: Vytvoří nový proces a vrátí jeho pid. Ve frontě systémového plánovače je nový proces umístěn tak, aby se spustil o nějakou dobu později. Spawn_link/1l3: Poskytuje stejnou funkcionalitu jako spawn/1l3, ale s přidáním odkazu, který je atomicky vytvořen mezi nově vytvořeným procesem a volajícím.


18) Uveďte, jaká je syntaxe pro psaní maker v Erlangu?

Syntaxe používaná k psaní maker v Erlangu je

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

19) Vypsat předdefinovaná makra v Erlangu?

Předdefinovaná makra v Erlangu jsou

  • Moduly: Vrací název aktuálního modulu
  • Module_String: Vrátí název aktuálního modulu jako řetězec
  • Soubor: Vrátí aktuální název souboru
  • Čára: Vrátí aktuální číslo řádku
  • Stroj: Vrátí aktuální název počítače, 'BEAM.'

20) Vysvětlete, co je to záznam a jak můžete definovat záznamy v Erlangu?

Pro uložení pevného počtu prvků, a datová struktura se používá, což se nazývá záznam. Výrazy jsou během záznamu kompilace přeloženy do výrazů n-tice. Záznam v Erlangu je definován názvem záznamu, za nímž následují názvy polí záznamu. Názvy záznamů a polí musí být atomy.

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

21) Uveďte, jaký příkaz se používá pro přístup k poli záznamu v Erlangu?

Expr#Name.Field, tento příkaz vrátí hodnotu uvedeného pole, zatímco pro vrácení pozice zadaného pole se použije #Name.Field.


22) Vysvětlete, co je epmd?

epmd je malý jmenný server, který používají programy Erlang při navazování distribuované komunikace Erlang. Je také označován jako Erlang Port Mapper Daemon. Je zodpovědný za mapování symbolických jmen uzlů na adresy strojů, které používá.

Tyto otázky na pohovoru také pomohou ve vašem životě (ústních)

Sdílet

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *