Télécharger le PDF
1) Expliquez ce qu'est Scala?
Scala est un langage de programmation et de script fonctionnel d'objets pour les applications logicielles générales conçu pour exprimer des solutions de manière concise.
2) Qu'est-ce qu'un «ensemble Scala»? Quelles sont les méthodes par lesquelles les ensembles d'opérations sont exprimés?
L'ensemble Scala est une collection d'éléments par paires du même type. L'ensemble Scala ne contient aucun élément en double. Il existe deux types d'ensembles, mutables et immuables.
3) Qu'est-ce qu'une «carte Scala»?
La carte Scala est une collection de paires de clés ou de valeurs. En fonction de sa clé, toute valeur peut être récupérée. Les valeurs ne sont pas uniques mais les clés sont uniques dans la carte.
4) Quel est l'avantage de Scala?
- Style fonctionnel moins sujet aux erreurs
- Maintenabilité et productivité élevées
- Évolutivité élevée
- Testabilité élevée
- Fournit des fonctionnalités de programmation simultanée
5) En quoi Scala est-il meilleur que les autres langages de programmation?
- Les tableaux utilisent des génériques réguliers, tandis que dans un autre langage, les génériques sont boulonnés après coup et sont complètement séparés mais ont des comportements qui se chevauchent avec les tableaux.
- Scala a immuable «val» comme une fonctionnalité de langage de première classe. Le «val» de scala est similaire aux variables finales Java. Le contenu peut muter mais la référence principale est immuable.
- Scala laisse 'if blocks', 'for-yield loops' et 'code' entre accolades pour renvoyer une valeur. C'est plus préférable et élimine le besoin d'un opérateur ternaire séparé.
- Singleton a des objets singleton plutôt que des statiques classiques C ++ / Java / C #. C'est une solution plus propre
- Les collections immuables persistantes sont la valeur par défaut et intégrées à la bibliothèque standard.
- Il a des tuples natifs et un code concis
- Il n'a pas de code de plaque de chaudière
6) Quelles sont les variables Scala?
Les valeurs et les variables sont deux formes qui viennent dans Scala. Une variable de valeur est constante et ne peut pas être modifiée une fois affectée. Elle est immuable, tandis qu'une variable régulière, en revanche, est modifiable et vous pouvez modifier la valeur.
Les deux types de variables sont
var maVar: Int = 0;
val maVal: Int = 1;
7) Mentionner la différence entre un objet et une classe?
Une classe est une définition pour une description. Il définit un type en termes de méthodes et de composition d'autres types. Une classe est un plan de l'objet. Alors qu'un objet est un singleton, une instance d'une classe qui est unique. Une classe anonyme est créée pour chaque objet du code, elle hérite de toutes les classes que vous avez déclarées objet à implémenter.
8) Qu'est-ce que la queue de récursivité dans scala?
La «récursion» est une fonction qui s'appelle elle-même. Une fonction qui s'appelle, par exemple, une fonction «A» appelle la fonction «B», qui appelle la fonction «C». C'est une technique fréquemment utilisée en programmation fonctionnelle. Pour qu'une queue soit récursive, le rappel de la fonction doit être la dernière fonction à être exécutée.
9) Qu'est-ce que le «trait scala» dans scala?
Les «traits» sont utilisés pour définir les types d'objets spécifiés par la signature des méthodes prises en charge. Scala permet d'être partiellement implémenté mais les traits peuvent ne pas avoir de paramètres de constructeur. Un trait se compose d'une méthode et d'une définition de champ, en les mélangeant dans des classes, il peut être réutilisé.
10) Quand pouvez-vous utiliser des traits?
Il n'y a pas de règle spécifique lorsque vous pouvez utiliser des traits, mais il existe une directive que vous pouvez prendre en compte.
- Si le comportement ne sera pas réutilisé, faites-en une classe concrète. Quoi qu'il en soit, ce n'est pas un comportement réutilisable.
- Afin d'en hériter en code Java, une classe abstraite peut être utilisée.
- Si l'efficacité est une priorité, penchez-vous vers l'utilisation d'une classe
- Faites-en un trait s'il peut être réutilisé dans plusieurs classes non liées. Dans différentes parties de la hiérarchie des classes, seuls les traits peuvent être mélangés en différentes parties.
- Vous pouvez utiliser une classe abstraite si vous souhaitez la distribuer sous forme compilée et que vous attendez que des groupes extérieurs écrivent des classes en héritant.
11) Qu'est-ce que les classes de cas?
Les classes de cas fournissent un mécanisme de décomposition récursif via la correspondance de modèles, c'est une classe régulière qui exporte leur paramètre de constructeur. Les paramètres du constructeur des classes de cas sont accessibles directement et sont traités comme des valeurs publiques.
12) Quelle est l'utilité des tuples dans scala?
Les tuples Scala combinent un nombre fixe d'éléments afin qu'ils puissent être transmis comme un tout. Un tuple est immuable et peut contenir des objets de types différents, contrairement à un tableau ou une liste.
13) Qu'est-ce que la fonction currying dans Scala?
Le curry est la technique de transformation d'une fonction qui prend plusieurs arguments en une fonction qui prend un seul argument. Beaucoup des mêmes techniques que le langage comme Haskell et LISP sont supportées par Scala. La fonction currying est l'une des moins utilisées et des moins bien comprises.
14) Quels sont les paramètres implicites dans Scala?
Le paramètre implicite est le moyen qui permet de «trouver» les paramètres d'une méthode. Il est similaire aux paramètres par défaut, mais il a un mécanisme différent pour trouver la valeur «par défaut». Le paramètre implicite est un paramètre de méthode ou de constructeur marqué comme implicite. Cela signifie que si une valeur de paramètre n'est pas mentionnée, le compilateur recherchera une valeur «implicite» définie dans une portée.
15) Qu'est-ce qu'une fermeture dans Scala?
Une fermeture est une fonction dont la valeur de retour dépend de la valeur des variables déclarées en dehors de la fonction.
16) Qu'est-ce que Monad dans Scala?
Une monade est un objet qui enveloppe un autre objet. Vous passez les mini-programmes Monad, c'est-à-dire les fonctions, pour effectuer la manipulation des données de l'objet sous-jacent, au lieu de manipuler l'objet directement. Monad choisit comment appliquer le programme à l'objet sous-jacent.
17) Qu'est-ce que la fonction anonyme Scala?
Dans un code source, les fonctions anonymes sont appelées «littéraux de fonction» et au moment de l'exécution, les littéraux de fonction sont instanciés en objets appelés valeurs de fonction. Scala fournit une syntaxe relativement simple pour définir des fonctions anonymes.
18) Expliquer les fonctions «d'ordre supérieur Scala»?
Scala permet la définition de fonctions d'ordre supérieur. Ce sont des fonctions qui prennent d'autres fonctions comme paramètres, ou dont le résultat est une fonction. Dans l'exemple suivant, la fonction apply () prend une autre fonction 'f' et une valeur 'v' et applique la fonction à v.
Exemple:
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() + "]"Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>
19) Quelle est la différence entre var et value?
Dans scala, vous pouvez définir une variable à l'aide des mots-clés a, val ou var. La différence entre val et var est que var ressemble beaucoup à la déclaration java, mais val est un peu différent. Nous ne pouvons pas changer la référence pour qu'elle pointe vers une autre référence, une fois que la variable est déclarée en utilisant val. La variable définie à l'aide des mots-clés var est modifiable et peut être modifiée un nombre illimité de fois.
20) Que sont les options, certaines et aucune dans scala?
«Option» est un type générique Scala qui peut être «une» valeur générique ou aucune. 'Queue' l'utilise souvent pour représenter des primitives qui peuvent être nulles.
21) Comment ajouter à la liste?
Dans scala pour ajouter à une liste, utilisez "
:+” 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) Comment pouvez-vous formater une chaîne?
Pour formater une chaîne, utilisez la méthode .format (), dans scala vous pouvez utiliser
Val formaté = «% s% i» .format (mystring.myInt)
23) Pourquoi scala préfère l'immuabilité?
Scala préfère l'immuabilité dans la conception et, dans de nombreux cas, l'utilise par défaut. L'immuabilité peut aider à traiter des problèmes d'égalité ou des programmes simultanés.
24) Quels sont les quatre types d'identifiants scala?
Les quatre types d'identifiants sont
- Identifiants alphanumériques
- Identifiants des opérateurs
- Identifiants mixtes
- Identificateurs littéraux
25) Quels sont les différents types de littéraux Scala?
Les différents types de littéraux dans scala sont
- Entiers littéraux
- Littéraux à virgule flottante
- Littéraux booléens
- Littéraux de symbole
- Littéraux de caractères
- Littéraux de chaîne
- Chaînes multilignes