As 25 principais perguntas e respostas da entrevista sobre Scala (PDF)
Aqui estão as perguntas e respostas da entrevista do Scala para candidatos mais novos e experientes para conseguir o emprego dos sonhos.
Perguntas e respostas da entrevista Scala para calouros
1) Explique o que é Scala?
Scala é uma linguagem de programação e script funcional de objetos para aplicativos de software gerais projetados para expressar soluções de maneira concisa.
2) O que é um 'conjunto Scala'? Quais são os métodos pelos quais os conjuntos de operações são expressos?
O conjunto Scala é uma coleção de elementos pares do mesmo tipo. O conjunto Scala não contém nenhum elemento duplicado. Existem dois tipos de conjuntos, mutáveis e imutáveis.
👉 Download gratuito de PDF: Perguntas e respostas da entrevista Scala >>
3) O que é um 'mapa Scala'?
O mapa Scala é uma coleção de pares de chaves ou valores. Com base na sua chave, qualquer valor pode ser recuperado. Os valores não são únicos, mas as chaves são únicas no Mapa.
4) Qual a vantagem do Scala?
As vantagens de Scala como:
- Less estilo funcional propenso a erros
- Alta capacidade de manutenção e produtividade
- alta escalabilidade
- Alta testabilidade
- Fornece recursos de programação simultânea
5) De que forma o Scala é melhor que outras linguagens de programação?
- Os arrays usam genéricos regulares, enquanto em outras linguagens, os genéricos são acrescentados posteriormente e são completamente separados, mas têm comportamentos sobrepostos aos arrays.
- Scala tem “val” imutável como um recurso de linguagem de primeira classe. O “val” de scala é semelhante a Java variáveis finais. O conteúdo pode sofrer alterações, mas a referência superior é imutável.
- Scala permite que 'blocos if', 'loops for-yield' e 'código' entre colchetes retornem um valor. É mais preferível e elimina a necessidade de um operador ternário separado.
- Singleton tem objetos singleton em vez de C++/Java/C# clássico estático. É uma solução mais limpa
- Coleções imutáveis persistentes são o padrão e incorporadas à biblioteca padrão.
- Possui tuplas nativas e um código conciso
- Não tem código padrão
6) Quais são as variáveis Scala?
Valores e variáveis são duas formas que vêm no Scala. Uma variável de valor é constante e não pode ser alterada depois de atribuída. É imutável, enquanto uma variável regular, por outro lado, é mutável e você pode alterar o valor.
Os dois tipos de variáveis são
var myVar : Int=0;
val myVal: Int=1;
7) Mencione a diferença entre um objeto e uma classe?
Uma classe é uma definição para uma descrição. Ele define um tipo em termos de métodos e composição de outros tipos. Uma classe é um projeto do objeto. Enquanto um objeto é um singleton, uma instância de uma classe que é única. Uma classe anônima é criada para cada objeto no código, ela herda de quaisquer classes que você declarou objeto para implementar.
8) O que é cauda de recursão em scala?
'Recursão' é uma função que chama a si mesma. Uma função que chama a si mesma, por exemplo, uma função 'A' chama a função 'B', que chama a função 'C'. É uma técnica usada frequentemente em programação funcional. Para que haja recursividade final, a chamada de retorno para a função deve ser a última função a ser executada.
9) O que é 'traço scala' em scala?
'Traits' são usados para definir tipos de objetos especificados pela assinatura dos métodos suportados. Scala permite ser parcialmente implementado, mas as características podem não ter parâmetros de construtor. Uma característica consiste na definição de método e campo, ao misturá-los em classes ela pode ser reutilizada.
10) Quando você pode usar características?
Não existe uma regra específica quando você pode usar características, mas há uma diretriz que você pode considerar.
- Se o comportamento não for reutilizado, torne-o uma classe concreta. De qualquer forma, não é um comportamento reutilizável.
- Para herdar dele em Java código, uma classe abstrata pode ser usada.
- Se a eficiência é uma prioridade, opte por usar uma classe
- Torne-o uma característica se puder ser reutilizado em classes múltiplas e não relacionadas. Em diferentes partes da hierarquia de classes, apenas as características podem ser misturadas em diferentes partes.
- Você pode usar uma classe abstrata, se quiser distribuí-la em formato compilado e esperar que grupos externos escrevam classes herdadas dela.
Perguntas da entrevista Scala para experientes
11) O que são aulas de caso?
As classes de caso fornecem um mecanismo de decomposição recursiva por meio de correspondência de padrões, são classes regulares que exportam seu parâmetro construtor. Os parâmetros construtores das classes de caso podem ser acessados diretamente e são tratados como valores públicos.
12) Qual é a utilidade de tuplas em scala?
As tuplas Scala combinam um número fixo de itens para que possam ser transmitidos como um todo. Uma tupla é imutável e pode conter objetos de diferentes tipos, diferentemente de um array ou lista.
13) O que é função curry no Scala?
Currying é a técnica de transformar uma função que recebe vários argumentos em uma função que recebe um único argumento. Muitas das mesmas técnicas de linguagens como Haskell e LISP são suportadas pelo Scala. A função currying é uma das menos utilizadas e incompreendidas.
14) Quais são os parâmetros implícitos no Scala?
Parâmetro implícito é a forma que permite que os parâmetros de um método sejam “encontrados”. É semelhante aos parâmetros padrão, mas possui um mecanismo diferente para encontrar o valor “padrão”. O parâmetro implícito é um parâmetro para método ou construtor marcado como implícito. Isso significa que se um valor de parâmetro não for mencionado, o compilador procurará um valor “implícito” definido dentro de um escopo.
15) O que é fechamento no Scala?
Um encerramento é uma função cujo valor de retorno depende do valor das variáveis declaradas fora da função.
16) O que é Mônada em Scala?
Uma mônada é um objeto que envolve outro objeto. Você passa os miniprogramas Monad, ou seja, funções, para realizar a manipulação de dados do objeto subjacente, em vez de manipular o objeto diretamente. Monad escolhe como aplicar o programa ao objeto subjacente.
17) O que é a função anônima do Scala?
Em um código-fonte, funções anônimas são chamadas de 'literais de função' e, em tempo de execução, literais de função são instanciados em objetos chamados valores de função. Scala fornece uma sintaxe relativamente fácil para definir funções anônimas.
18) Explique as funções de 'ordem superior do Scala'?
Scala permite a definição de funções de ordem superior. São funções que tomam outras funções como parâmetros, ou cujo resultado é uma função. No exemplo a seguir, a função apply() pega outra função ‘f’ e um valor ‘v’ e aplica a função a v.
Exemplo:
object Test { def main(args: Array[String]) { println( apply( layout, 10) ) } def apply(f: Int => String, v: Int) = f(v) def layout[A](x: A) = "[" + x.toString() + "]"
Quando o código acima é compilado e executado, ele produz o seguinte resultado.
C:/>scalac Test.scala C:/>scala Test [10] C:/>
19) Qual é a diferença entre var e valor?
Em scala, você pode definir uma variável usando palavras-chave a, val ou var. A diferença entre val e var é que var é muito parecido com a declaração java, mas val é um pouco diferente. Não podemos alterar a referência para apontar para outra referência, uma vez que a variável é declarada usando val. As variáveis definidas usando palavras-chave var são mutáveis e podem ser alteradas quantas vezes quiser.
20) Quais são as opções, algumas e nenhuma no scala?
'Option' é um tipo genérico Scala que pode ser 'algum' valor genérico ou nenhum. 'Queue' geralmente o usa para representar primitivos que podem ser nulos.
21) Como faço para anexar à lista?
No scala para anexar em uma lista, use “:+” single value
var myList = List.empty[String] myList :+= "a" myList :+= "b" myList :+= "c" use++ for appending a list var myList = List.empty[String] myList ++= List("a", "b", "c")
22) Como você pode formatar uma string?
Para formatar uma string, use o método .format(), em scala você pode usar
Val formatted= “%s %i”.format (mystring.myInt)
23) Por que scala prefere a imutabilidade?
Scala prefere a imutabilidade no design e em muitos casos a utiliza como padrão. A imutabilidade pode ajudar ao lidar com questões de igualdade ou programas simultâneos.
24) Quais são os quatro tipos de identificadores scala?
Os quatro tipos de identificadores são
- Identificadores alfanuméricos
- Operaidentificadores de tor
- Identificadores mistos
- Identificadores literais
25) Quais são os diferentes tipos de literais Scala?
Os diferentes tipos de literais em scala são
- Literais inteiros
- Literais de ponto flutuante
- Literais booleanos
- Literais de símbolo
- Literais de caracteres
- Literais de string
- Strings multilinhas
Essas perguntas da entrevista também ajudarão em sua viva (oral)