baixar PDF
1) Explique o que é Scala?
Scala é uma linguagem de script e programação funcional de objeto 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 de pares do mesmo tipo. O conjunto Scala não contém nenhum elemento duplicado. Existem dois tipos de conjuntos, mutáveis e imutáveis.
3) O que é um 'mapa Scala'?
O mapa Scala é uma coleção de pares de chave ou valor. Com base em sua chave, qualquer valor pode ser recuperado. Os valores não são exclusivos, mas as chaves são exclusivas no mapa.
4) Qual é a vantagem do Scala?
- Estilo funcional menos sujeito a erros
- Alta manutenção e produtividade
- Alta escalabilidade
- Alta testabilidade
- Fornece recursos de programação simultânea
5) De que forma Scala é melhor do que outra linguagem de programação?
- Os arrays usam genéricos regulares, enquanto em outra linguagem, os genéricos são inseridos como uma reflexão tardia e são completamente separados, mas têm comportamentos sobrepostos aos arrays.
- Scala tem um “val” imutável como recurso de linguagem de primeira classe. O “val” de scala é semelhante às variáveis finais Java. O conteúdo pode sofrer mutação, mas a referência principal é imutável.
- Scala permite 'blocos de if', 'loops de rendimento' e 'código' entre colchetes para retornar um valor. É mais preferível e elimina a necessidade de um operador ternário separado.
- Singleton tem objetos singleton em vez de estático clássico C ++ / Java / C #. É uma solução mais limpa
- Coleções imutáveis persistentes são o padrão e integradas à biblioteca padrão.
- Tem 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 em 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) Menciona a diferença entre um objeto e uma classe?
Uma classe é a definição de 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 escala?
'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 com frequência na programação funcional. Para uma cauda recursiva, a chamada de volta para a função deve ser a última função a ser executada.
9) O que é 'traço scala' em scala?
'Traços' são usados para definir os 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. Um traço consiste na definição de método e campo, misturando-os em classes, pode ser reutilizado.
10) Quando você pode usar traços?
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 no código Java, uma classe abstrata pode ser usada.
- Se a eficiência for uma prioridade, tente usar uma classe
- Faça disso um traço se puder ser reutilizado em classes múltiplas e não relacionadas. Em diferentes partes da hierarquia de classes, apenas os traços podem ser misturados em diferentes partes.
- Você pode usar a classe abstrata, se quiser distribuí-la de forma compilada e esperar que grupos externos escrevam classes que herdam dela.
11) O que são classes 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 seus parâmetros de construtor. Os parâmetros do construtor de classes de caso podem ser acessados diretamente e são tratados como valores públicos.
12) Qual é o uso de tuplas em scala?
As tuplas do Scala combinam um número fixo de itens juntos para que possam ser passados como um todo. Uma tupla é imutável e pode conter objetos com diferentes tipos, ao contrário de uma matriz ou lista.
13) O que é função currying no Scala?
Currying é a técnica de transformar uma função que recebe vários argumentos em uma função que usa um único argumento. Muitas das mesmas técnicas de linguagens como Haskell e LISP são suportadas pelo Scala. O currying de função é um dos menos usados e incompreendidos.
14) O que são parâmetros implícitos no Scala?
Parâmetro implícito é a maneira que permite que os parâmetros de um método sejam “encontrados”. É semelhante aos parâmetros padrão, mas possui um mecanismo diferente para localizar o valor “padrão”. O parâmetro implícito é um parâmetro para método ou construtor que é marcado como implícito. Isso significa que se um valor de parâmetro não for mencionado, o compilador irá procurar por um valor “implícito” definido dentro de um escopo.
15) O que é um 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 do Monad, ou seja, funções, para realizar a manipulação de dados do objeto subjacente, em vez de manipular o objeto diretamente. O Monad escolhe como aplicar o programa ao objeto subjacente.
17) O que é a função anônima do Scala?
Em um código-fonte, as funções anônimas são chamadas de 'literais de função' e, em tempo de execução, os literais de função são instanciados em objetos chamados de 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 assumem 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.scalaC:/>scala Test[10]C:/>
19) Qual é a diferença entre var e value?
No scala, você pode definir uma variável usando as 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. A variável definida usando var palavras-chave são mutáveis e podem ser alteradas qualquer número de vezes.
20) Quais são as opções, algumas e nenhuma no scala?
'Opção' é 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 a uma lista, use “
:+” single value
var myList = List.empty[String]myList :+= "a"myList :+= "b"myList :+= "c"use++ for appending a listvar 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 formatado = “% s% i” .format (mystring.myInt)
23) Por que scala prefere a imutabilidade?
O Scala prefere a imutabilidade no design e, em muitos casos, a usa como padrão. A imutabilidade pode ajudar ao lidar com questões de igualdade ou programas concorrentes.
24) Quais são os quatro tipos de identificadores scala?
Os quatro tipos de identificadores são
- Identificadores alfanuméricos
- Identificadores de operador
- 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 Multi-Line