Top 25 des questions et réponses d'entretien Scala (PDF)
Voici les questions et réponses d'entretien Scala pour les candidats les plus récents et les plus expérimentés pour obtenir l'emploi de leurs rêves.
Questions et réponses d'entretien Scala pour les débutants
1) Expliquez qu'est-ce que Scala ?
Scala est un langage de programmation et de script fonctionnel objet pour les applications logicielles générales conçues 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.
👉 Téléchargement PDF gratuit : Questions et réponses sur l'entretien Scala >>
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é, n'importe quelle 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 ?
Les avantages de Scala sont:
- Less style fonctionnel sujet aux erreurs
- Haute maintenabilité et productivité
- Haute évolutivité
- Haute testabilité
- Fournit des fonctionnalités de programmation simultanée
5) En quoi Scala est meilleur que les autres langages de programmation ?
- Les tableaux utilisent des génériques réguliers, tandis que dans d'autres langages, les génériques sont ajoutés après coup et sont complètement séparés mais ont des comportements qui se chevauchent avec les tableaux.
- Scala a un « val » immuable comme fonctionnalité de langage de première classe. Le « val » de scala est similaire à Java variables finales. Le contenu peut muter mais la référence supérieure est immuable.
- Scala laisse les « blocs if », les « boucles for-yield » et le « 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 C++/Java/ C# classique statique. 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 passe-partout
6) Quelles sont les variables Scala ?
Valeurs et les variables sont deux formes qui entrent dans Scala. Une variable de valeur est constante et ne peut pas être modifiée une fois attribuée. Elle est immuable, alors qu’une variable régulière, en revanche, est mutable et vous pouvez modifier la valeur.
Les deux types de variables sont
var myVar : Int=0;
val myVal: 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 modèle de l'objet. Alors qu’un objet est un singleton, une instance d’une classe unique. Une classe anonyme est créée pour chaque objet du code, elle hérite des classes que vous avez déclarées comme objet à implémenter.
8) Qu'est-ce que la queue de récursivité en scala ?
« 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 à la fonction doit être la dernière fonction à être exécutée.
9) Qu'est-ce que le « trait scala » en 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 consiste en une définition de méthode et de champ, en les mélangeant en classes, il peut être réutilisé.
10) Quand peut-on utiliser les traits ?
Il n’y a pas de règle spécifique quant à l’utilisation des traits, mais il existe une ligne directrice 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 Java code, une classe abstraite peut être utilisée.
- Si l’efficacité est une priorité, optez pour 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 dans différentes parties.
- Vous pouvez utiliser une classe abstraite si vous souhaitez la distribuer sous forme compilée et si vous vous attendez à ce que des groupes extérieurs écrivent des classes en héritant.
Questions d'entretien Scala pour les expérimentés
11) Qu'est-ce que les classes de cas ?
Les classes de cas fournissent un mécanisme de décomposition récursive via la correspondance de modèles, ce sont des classes régulières qui exportent leur paramètre constructeur. Les paramètres constructeur des classes de cas sont accessibles directement et sont traités comme des valeurs publiques.
12) A quoi servent les tuples en scala ?
Les tuples Scala combinent un nombre fixe d'éléments afin qu'ils puissent être transmis dans leur ensemble. Un tuple est immuable et peut contenir des objets de différents types, contrairement à un tableau ou une liste.
13) Qu'est-ce que le currying de fonctions dans Scala ?
Le currying est la technique permettant de transformer une fonction qui prend plusieurs arguments en une fonction qui prend un seul argument. La plupart des techniques utilisées dans les langages comme Haskell et LISP sont prises en charge par Scala. La fonction currying est l’une des moins utilisées et des moins comprises.
14) Que sont les paramètres implicites dans Scala ?
Le paramètre implicite est la manière qui permet de « trouver » les paramètres d’une méthode. Il est similaire aux paramètres par défaut, mais il dispose d'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 Monade 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 dans des objets appelés valeurs de fonction. Scala fournit une syntaxe relativement simple pour définir des fonctions anonymes.
18) Expliquez les fonctions « Scala d'ordre supérieur » ?
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.scala C:/>scala Test [10] C:/>
19) Quelle est la différence entre var et valeur ?
En scala, vous pouvez définir une variable en utilisant les 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 peu différent. Nous ne pouvons pas changer la référence pour pointer vers une autre référence, une fois la variable déclarée à l'aide de val. La variable définie à l'aide des mots-clés var est mutable et peut être modifiée plusieurs fois.
20) Que sont les options, certaines et aucune en 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 puis-je ajouter à la liste ?
Dans Scala pour ajouter dans une liste, utilisez ":+” 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) Comment formater une chaîne ?
Pour formater une chaîne, utilisez la méthode .format(), en scala vous pouvez utiliser
Val formatted= “%s %i”.format (mystring.myInt)
23) Pourquoi Scala préfère l'immuabilité ?
Scala préfère l'immuabilité dans la conception et l'utilise dans de nombreux cas par défaut. L'immuabilité peut être utile lorsqu'il s'agit de problèmes d'égalité ou de programmes concurrents.
24) Quels sont les quatre types d'identifiants scala ?
Les quatre types d'identifiants sont
- Identifiants alphanumériques
- Operaidentifiants de tor
- Identifiants mixtes
- Identificateurs littéraux
25) Quels sont les différents types de littéraux Scala ?
Les différents types de littéraux en scala sont
- Entiers littéraux
- Littéraux à virgule flottante
- Littéraux booléens
- Littéraux de symboles
- Littéraux de caractères
- Littéraux de chaîne
- Chaînes multilignes
Ces questions d'entretien vous aideront également dans votre soutenance