22 лучших вопроса и ответа на собеседовании по Erlang (2024 г.)

Вот вопросы и ответы на собеседовании по Erlang для новичков, а также для опытных кандидатов, желающих получить работу своей мечты.


1) Что такое Эрланг?

Erlang — это язык программирования общего назначения и среда выполнения. Он имеет встроенную поддержку параллелизма, отказоустойчивости и распределения. Erlang доступен с открытым исходным кодом.

Бесплатная загрузка PDF-файла: Вопросы и ответы для интервью по Erlang


2) Объясните, что такое OTP (Открытая телекоммуникационная платформа)?

OTP — это платформа с открытым исходным кодом, представляющая собой большой набор библиотек, позволяющих Erlang выполнять все задачи — от компиляции ASN.1 до предоставления WWW-сервера.


3) Каковы ключевые особенности Эрланга?

Ключевой особенностью Erlang является то, что он имеет

  • Декларативный синтаксис: Имеет декларативный синтаксис
  • Параллельно: Он имеет модель параллелизма, основанную на процессах.
  • В реальном времени: Он программирует систему реального времени
  • Непрерывная работа: Это обеспечивает непрерывную работу
  • Крепкий: Для обнаружения ошибок во время выполнения в языке есть три конструкции.
  • Управление памятью: Память выделяется автоматически и освобождается, когда она не требуется.
  • Распространение: У него нет общей памяти, распределенные системы можно легко построить на erlang.
  • Интеграция: Простая интеграция программы, написанной на другом языке.

4) Назовите типы данных, которые предоставляет erlang?

Erlang предоставляет два типа данных

  • Постоянные типы данных: Эти типы типов данных нельзя разделить на более примитивные подтипы. Он состоит из чисел и атомов.
  • Составные типы данных: Эти типы типов данных используются для группировки других типов типов данных. Он состоит из кортежей и списков.

5) Какова команда отключения узла в Erlang?

Вызов erlang:disconnect_node (Node) приведет к принудительному отключению узла.

Вопросы для собеседования по Эрлангу
Вопросы для собеседования по Эрлангу

6) Объясните, что такое модули в Эрланге?

Erlang позволяет организовывать код в модули. Модуль состоит из функций; он вводит локальный набор функций (публичный и частный).


7) Укажите, как модуль хранится в Эрланге?

Имя модуля хранится в файле с именем .erl. Базовое имя файла и имя модуля должны совпадать.


8) Объясните, что такое битовые строки в Эрланге?

Для хранения области нетипизированной памяти используется битовая строка, которая выражается с использованием битового синтаксиса.


9) Объясните, что такое сопоставление с образцом?

Сопоставление с образцом происходит при оценке вызова функции. С помощью механизма сопоставления шаблонов переменные привязываются к значениям.


10) Объясните, что такое тип данных PID?

PID означает идентификатор процесса и является типом данных, используемым для уникальных идентификаторов процесса, которые назначаются каждому процессу.


11) Какая команда используется для включения файла в Erlang?

Файл можно включить в Erlang двумя способами.

  • включить (Файл).
  • include_lib (Файл).
Erlang
Erlang

12) Как ошибки времени выполнения обрабатываются в Erlang?

Можно предотвратить завершение процесса из-за ошибок во время выполнения и других исключений, используя Catch или Try. Catch Expr возвращает значение выражения, если во время оценки не возникнет исключение. Try Exprs — это усовершенствованная версия catch, позволяющая идентифицировать класс исключения и выбрать обработку нужного.


13) Как создается «процесс» в Erlang?

Процесс создается путем вызова spawn, а spawn формирует новый процесс и возвращает pid.

  • Spawn (Модуль, Имя, Args) -> pid()

14) Определите защитную последовательность и какие защитные выражения являются допустимыми?

Функциональные предложения Erlang могут быть защищены средствами защиты; пункт может быть защищен только в том случае, если охрана держится. Это последовательность защитных выражений, разделенных точкой с запятой (;), а защитная функция — это последовательность защитных выражений, разделенных запятой (,). Защитная последовательность истинна, если хотя бы одна из защитных последовательностей истинна.


15) Дайте список допустимых защитных выражений?

Допустимые защитные выражения:

  • Атом правда,
  • Другие константы
  • Вызовы указанных BIF
  • Сравнение терминов
  • Арифметические выражения
  • Логические выражения
  • Выражения короткого замыкания

16) Объясните, как отправляются и получаются сообщения в Эрланге?

Для отправки сообщения Erlang использует восклицательный знак (!) в качестве оператора отправки сообщения. Для отправки сообщения используется синтаксис Pid! Сообщение. Для получения сообщения Erlang использует сопоставление с образцом, для доставки сообщения из очереди сообщений используется оператор получения.


17) Объясните, что такое Spawn/1l3 и Spawn_link 1l3?

Spawn/1l3: Создает новый процесс и возвращает его pid. В очередь системного планировщика новый процесс помещается так, чтобы он запустился через некоторое время. Spawn_link/1l3: обеспечивает ту же функциональность, что и spawn/1l3, но с добавлением ссылки, которая создается атомарно между вновь созданным процессом и вызывающей стороной.


18) Укажите, каков синтаксис написания макросов в Erlang?

Синтаксис, используемый для написания макросов в Erlang:

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

19) Перечислить предопределенные макросы в Erlang?

Предопределенные макросы в Erlang:

  • Модули: Возвращает имя текущего модуля
  • Модуль_Строка: Он возвращает имя текущего модуля в виде строки
  • Файл: Возвращает текущее имя файла
  • Линия: Возвращает текущий номер строки
  • Машина: Он возвращает текущее имя компьютера «BEAM».

20) Объясните, что такое запись и как можно определить записи в Эрланге?

Для хранения фиксированного количества элементов используется структура данных используется то, что называется записью. Выражения преобразуются в выражения кортежа во время записи компиляции. Запись в Erlang определяется именем записи, за которым следуют имена полей записи. Имена записей и полей должны быть атомами.

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

21) Укажите, какая команда используется для доступа к полю записи в Erlang?

Expr#Name.Field, эта команда вернет значение указанного поля, а для возврата позиции указанного поля используется #Name.Field.


22) Объясните, что такое epmd?

epmd — небольшой сервер имен, который используется программами Erlang при установлении распределенных коммуникаций Erlang. Его также называют демоном Erlang Port Mapper. Он отвечает за сопоставление символических имен узлов с адресами компьютеров, которые он использует.

Эти вопросы для собеседования также помогут вам в устной речи.

Поделиться

Оставьте комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *