22 najpopularniejszych pytań i odpowiedzi na rozmowę kwalifikacyjną w Erlangu (2025)

Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych w Erlang dla nowicjuszy i doświadczonych kandydatów, którzy pomogą im zdobyć wymarzoną pracę.


1) Co to jest Erlang?

Erlang jest językiem programowania ogólnego przeznaczenia i środowiskiem wykonawczym. Posiada wbudowaną obsługę współbieżności, odporności na błędy i dystrybucji. Erlang jest dostępny jako oprogramowanie typu open source.

Bezpłatne pobieranie w formacie PDF: pytania i odpowiedzi dotyczące wywiadu Erlang


2) Wyjaśnij, czym jest OTP (Open Telecom Platform)?

OTP jest platformą typu open source i stanowi duży zestaw bibliotek dla Erlanga, umożliwiających wykonanie wszystkich zadań, od kompilacji ASN.1 po udostępnienie serwera WWW.


3) Jakie są kluczowe cechy Erlanga?

Kluczową cechą Erlanga jest to, że ma

  • Deklaratywna składnia: Ma składnię deklaratywną
  • Równoległy: Posiada model współbieżności oparty na procesach
  • Czas rzeczywisty: Programuje system czasu rzeczywistego
  • Ciągła praca: Umożliwia ciągłą pracę
  • Krzepki: Do wykrywania błędów wykonania ma trzy konstrukcje w języku
  • Zarządzanie pamięcią: Pamięć jest przydzielana automatycznie i zwalniana, gdy nie jest potrzebna
  • Dystrybucja: Nie ma pamięci współdzielonej, systemy rozproszone można łatwo zbudować w erlangu
  • Integracja: Łatwa integracja programu napisanego w innym języku

4) Nazwij typy danych udostępniane przez erlang?

Erlang udostępnia dwa typy danych

  • Stałe typy danych: Tego typu typów danych nie można podzielić na bardziej prymitywne podtypy. Składa się z liczb i atomów.
  • Złożone typy danych: Tego typu typy danych służą do grupowania innych typów danych. Składa się z krotek i list.

5) Jakie jest polecenie rozłączenia węzła w Erlangu?

Wywołanie erlang: rozłącz_node (Węzeł) wymusi odłączenie węzła.

Pytania do wywiadu Erlanga
Pytania do wywiadu Erlanga

6) Wyjaśnij, czym są moduły w Erlangu?

Erlang umożliwia organizowanie kodu w moduły. Moduł składa się z funkcji; wprowadza lokalny zakres funkcji (publiczny i prywatny).


7) Wspomnij, jak moduł jest przechowywany w Erlangu?

Nazwa modułu jest przechowywana w pliku o nazwie .erl. Nazwa bazowa pliku i nazwa modułu muszą być takie same.


8) Wyjaśnij, czym są ciągi bitowe w języku Erlang?

Aby zapisać obszar nietypowanej pamięci, używany jest ciąg bitowy i wyrażany przy użyciu składni bitowej.


9) Wyjaśnij, czym jest dopasowywanie wzorców?

Dopasowanie wzorca ma miejsce podczas oceny wywołania funkcji. Dzięki mechanizmowi dopasowywania wzorców zmienne są powiązane z wartościami.


10) Wyjaśnij, co to jest typ danych PID?

PID oznacza identyfikator procesu i jest typem danych używanym dla unikalnych identyfikatorów procesów, które są przypisane do każdego procesu.


11) Jakie polecenie jest używane, aby dołączyć plik do Erlanga?

Plik można dołączyć do Erlanga na dwa sposoby

  • Dołącz (Plik).
  • include_lib (plik).
Erlang
Erlang

12) Jak obsługiwane są błędy wykonania w Erlangu?

Można zapobiec błędom wykonania i innym wyjątkom powodującym zakończenie procesu, używając funkcji Catch lub Try. Catch Expr zwraca wartość wyrażenia, chyba że podczas obliczania wystąpi wyjątek. Try Exprs to ulepszenie catch z możliwością zidentyfikowania klasy wyjątku i wybrania obsługi żądanej.


13) Jak w Erlangu tworzy się „proces”?

Proces jest tworzony poprzez wywołanie spawn, a spawn tworzy nowy proces i zwraca pid.

  • Spawn (moduł, nazwa, argumenty) -> pid ()

14) Zdefiniuj sekwencję strażników i jakie są prawidłowe wyrażenia strażników?

Klauzule funkcyjne Erlanga można chronić za pomocą osłon; klauzula może być chroniona tylko wtedy, gdy strażnik ją trzyma. Jest to sekwencja strażników oddzielonych średnikiem (;), a strażnik to sekwencja wyrażeń ochronnych oddzielonych przecinkami (,). Sekwencja strażników jest prawdziwa, jeśli przynajmniej jeden ze strażników jest prawdziwy.


15) Podaj listę prawidłowych wyrażeń ochronnych?

Prawidłowe wyrażenia ochronne to

  • Atom prawda,
  • Inne stałe
  • Wywołuje określone BIF
  • Porównania terminów
  • Wyrażenia arytmetyczne
  • Wyrażenia logiczne
  • Wyrażenia zwarciowe

16) Wyjaśnij, jak wiadomość jest wysyłana i odbierana w języku Erlang?

Do wysyłania wiadomości Erlang używa wykrzyknika (!) jako operatora wysyłania wiadomości. Składnia używana do wysyłania wiadomości to Pid ! Wiadomość. Do odbierania wiadomości Erlang używa Pattern Matching, do dostarczania wiadomości z kolejki komunikatów używana jest instrukcja odbierania.


17) Wyjaśnij, co to jest Spawn/1l3 i Spawn_link 1l3?

Spawn/ 1l3: Tworzy nowy proces i zwraca jego pid. W kolejce harmonogramu systemowego nowy proces jest umieszczany tak, aby mógł zostać uruchomiony jakiś czas później. Spawn_link/1l3: Zapewnia tę samą funkcjonalność co spawn/1l3, ale z dodatkiem łącza, które jest tworzone atomowo pomiędzy nowo odrodzonym procesem a obiektem wywołującym.


18) Wspomnij, jaka jest składnia pisania makr w języku Erlang?

Składnia używana do pisania makr w języku Erlang to

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

19) Wymień predefiniowane makra w Erlangu?

Predefiniowane makra w Erlangu to

  • Moduły: Zwraca nazwę bieżącego modułu
  • Moduł_String: Zwraca nazwę bieżącego modułu w postaci ciągu znaków
  • Plik: Zwraca bieżącą nazwę pliku
  • Linia: Zwraca bieżący numer linii
  • Maszyna: Zwraca bieżącą nazwę komputera „BEAM”.

20) Wyjaśnij, czym jest rekord i jak można zdefiniować rekordy w języku Erlang?

Do przechowywania stałej liczby elementów, a struktura danych jest używany, co jest określane jako rekord. Wyrażenia są tłumaczone na wyrażenia krotki podczas kompilacji. Rekord w języku Erlang jest definiowany przez nazwę rekordu, po której następują nazwy pól rekordu. Nazwy rekordów i pól muszą być atomami.

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

21) Wspomnij, jakie polecenie służy do uzyskiwania dostępu do pola rekordu w Erlangu?

Expr#Name.Field, polecenie to zwróci wartość wspomnianego pola, natomiast do zwrócenia pozycji określonego pola służy #Name.Field.


22) Wyjaśnij, co to jest epmd?

epmd to mały serwer nazw używany przez programy Erlang podczas nawiązywania rozproszonej komunikacji Erlang. Nazywany jest także demonem mapowania portów Erlang. Odpowiada za mapowanie symbolicznych nazw węzłów na adresy maszyn, których używa.

Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)

Udziały

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *