As 22 principais perguntas e respostas da entrevista em Erlang (2024)

Aqui estão as perguntas e respostas da entrevista em Erlang para calouros e também para candidatos experientes para conseguir o emprego dos sonhos.


1) O que é Erlang?

Erlang é uma linguagem de programação de uso geral e um ambiente de tempo de execução. Ele possui suporte integrado para simultaneidade, tolerância a falhas e distribuição. Erlang está disponível como código aberto.

Download gratuito de PDF: Perguntas e respostas da entrevista em Erlang


2) Explique o que é OTP (Open Telecom Platform)?

OTP é uma plataforma de código aberto e é um grande conjunto de bibliotecas para Erlang fazer tudo, desde compilar ASN.1 até fornecer um servidor WWW.


3) Quais são os principais recursos do Erlang?

Os principais recursos do Erlang são que ele possui

  • Sintaxe Declarativa: Tem sintaxe declarativa
  • Simultâneo: Possui modelo de simultaneidade baseado em processos
  • Tempo real: Programa sistema em tempo real
  • Operação contínua: Permite operação contínua
  • Robusto: Para detectar erros de tempo de execução possui três construções na linguagem
  • Gerenciamento de memória: A memória é alocada automaticamente e desalocada quando não é necessária
  • Distribuição: Não possui memória compartilhada, sistemas distribuídos podem ser facilmente construídos em erlang
  • Integração: Fácil integração de programas escritos em outro idioma

4) Nomeie os tipos de dados que o erlang fornece?

Erlang fornece dois tipos de dados

  • Tipos de dados constantes: Esses tipos de dados não podem ser divididos em subtipos mais primitivos. Consiste em Números e Átomos.
  • Tipos de dados compostos: Esses tipos de dados são usados ​​para agrupar outros tipos de dados. Consiste em tuplas e listas.

5) Qual é o comando para desconectar o nó em Erlang?

Chamar erlang: desconectar_node (Nó) forçará a desconexão do nó.

Perguntas da entrevista de Erlang
Perguntas da entrevista de Erlang

6) Explique o que são módulos em Erlang?

Erlang permite organizar o código em módulos. Um módulo consiste em funções; introduz um escopo local de funções (públicas e privadas).


7) Mencione como o módulo é armazenado em Erlang?

Um nome de módulo é armazenado em um arquivo chamado .erl. O nome base do arquivo e o nome do módulo devem ser iguais.


8) Explique o que são strings de bits em Erlang?

Para armazenar uma área de memória não digitada, uma sequência de bits é usada e expressa usando a sintaxe de bits.


9) Explique o que é correspondência de padrões?

Uma correspondência de padrões ocorre ao avaliar uma chamada de função. Através do mecanismo de correspondência de padrões, as variáveis ​​são vinculadas aos valores.


10) Explique o que é tipo de dados PID?

PID significa Identificador de Processo e é o tipo de dados usado para os identificadores de processo exclusivos que são atribuídos a cada processo.


11) Para incluir um arquivo em Erlang qual o comando utilizado?

De duas maneiras, um arquivo pode ser incluído em Erlang

  • incluir (arquivo).
  • include_lib (Arquivo).
Erlang
Erlang

12) Como o erro em tempo de execução é tratado em Erlang?

É possível evitar que erros de tempo de execução e outras exceções causem o encerramento do processo usando Catch ou Try. Catch Expr retorna o valor da expressão, a menos que ocorra uma exceção durante a avaliação. Try Exprs é o aprimoramento do catch com capacidade de identificar a classe de exceção e escolher tratar a classe desejada.


13) Em Erlang como o “processo” é criado?

O processo é criado chamando spawn, e spawn forma um novo processo e retorna o pid.

  • Spawn (Módulo, Nome, Args) -> pid()

14) Defina a sequência de guarda e quais são as expressões de guarda válidas?

As cláusulas de função Erlang podem ser protegidas com guardas; uma cláusula só pode ser protegida se a guarda for válida. É uma sequência de guardas, separadas por ponto e vírgula (;), e uma guarda é uma sequência de expressões de guarda separadas por vírgula (,). A sequência de guarda é verdadeira se pelo menos uma das guardas for verdadeira.


15) Forneça a lista de expressões de guarda válidas.

Expressões de guarda válidas são

  • Átomo verdadeiro,
  • Outras constantes
  • Chamadas para os BIFs especificados
  • Comparações de prazos
  • Expressões Aritméticas
  • Expressões Booleanas
  • Expressões de curto-circuito

16) Explique como a mensagem é enviada e recebida em Erlang?

Para enviar mensagens, Erlang usa o ponto de exclamação (!) como operador para enviar uma mensagem. A sintaxe usada para enviar uma mensagem é Pid! Mensagem. Para receber mensagens, Erlang usa correspondência de padrões, para entregar uma mensagem da fila de mensagens, a instrução de recebimento é usada.


17) Explique o que é Spawn/ 1l3 e Spawn_link 1l3?

Spawn/1l3: Cria um novo processo e retorna seu pid. Na fila do agendador do sistema, o novo processo é colocado para ser executado algum tempo depois. Spawn_link/1l3: Fornece a mesma funcionalidade que spawn/1l3, mas com a adição de um link que é criado atomicamente entre o processo recém-gerado e o chamador.


18) Mencione qual é a sintaxe para escrever macros em Erlang?

A sintaxe usada para escrever macros em Erlang é

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

19) Liste as macros predefinidas em Erlang?

As macros predefinidas em Erlang são

  • Módulos: Ele retorna o nome do módulo atual
  • Módulo_String: Retorna o nome do módulo atual, como uma string
  • arquivo: Ele retorna o nome do arquivo atual
  • Linha: Ele retorna o número da linha atual
  • Máquina: Ele retorna o nome da máquina atual, 'BEAM'.

20) Explique o que é um registro e como você pode definir registros em Erlang?

Para armazenar um número fixo de elementos, um estrutura de dados é usado o que é referido como registro. As expressões são traduzidas em expressões de tupla durante o registro da compilação. O registro em Erlang é definido pelo nome do registro, seguido pelos nomes dos campos do registro. Os nomes de registros e campos devem ser átomos.

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

21) Mencione qual é o comando usado para acessar o campo de registro em Erlang?

Expr#Name.Field, este comando retornará o valor do campo mencionado enquanto para retornar a posição do campo especificado #Name.Field é usado.


22) Explique o que é epmd?

epmd é um pequeno servidor de nomes usado por programas Erlang ao estabelecer comunicações Erlang distribuídas. Também é conhecido como Erlang Port Mapper Daemon. Ele é responsável por mapear os nomes dos nós simbólicos para os endereços das máquinas em que é usado.

Essas perguntas da entrevista também ajudarão em sua viva (oral)

Partilhar

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *