Top 25 Fragen zum Scala-Interview & Antworten

Inhaltsverzeichnis

PDF Herunterladen

1) Erklären Sie, was Scala ist.

Scala ist eine objektfunktionale Programmier- und Skriptsprache für allgemeine Softwareanwendungen, mit denen Lösungen präzise ausgedrückt werden können.

2) Was ist ein Scala-Set? Mit welchen Methoden werden Operationssätze ausgedrückt?

Das Scala-Set ist eine Sammlung paarweiser Elemente desselben Typs. Scala-Set enthält keine doppelten Elemente. Es gibt zwei Arten von Mengen, veränderlich und unveränderlich.

3) Was ist eine Scala-Karte?

Die Scala-Karte ist eine Sammlung von Schlüssel- oder Wertepaaren. Basierend auf seinem Schlüssel kann jeder Wert abgerufen werden. Werte sind nicht eindeutig, aber Schlüssel sind in der Karte eindeutig.

4) Was ist der Vorteil von Scala?

  • Weniger fehleranfälliger Funktionsstil
  • Hohe Wartbarkeit und Produktivität
  • Hohe Skalierbarkeit
  • Hohe Testbarkeit
  • Bietet Funktionen für die gleichzeitige Programmierung

5) Inwiefern ist Scala besser als andere Programmiersprachen?

  • Die Arrays verwenden reguläre Generika, während in einer anderen Sprache Generika nachträglich angeschraubt werden und vollständig getrennt sind, sich jedoch mit Arrays überschneiden.
  • Scala hat unveränderliches "val" als erstklassiges Sprachmerkmal. Das "val" von scala ähnelt den Java-Endvariablen. Der Inhalt kann mutieren, aber die Top-Referenz ist unveränderlich.
  • Scala lässt 'if-Blöcke', 'for-Yield-Schleifen' und 'Code' in geschweiften Klammern stehen, um einen Wert zurückzugeben. Dies ist vorzuziehen und macht einen separaten ternären Operator überflüssig.
  • Singleton hat Singleton-Objekte anstelle von C ++ / Java / C # Classic Static. Es ist eine sauberere Lösung
  • Permanente unveränderliche Sammlungen sind die Standardeinstellungen und in die Standardbibliothek integriert.
  • Es hat native Tupel und einen prägnanten Code
  • Es hat keinen Kesselplattencode

6) Was sind die Scala-Variablen?

Werte und Variablen sind zwei Formen, die in Scala vorkommen. Eine Wertvariable ist konstant und kann nach ihrer Zuweisung nicht mehr geändert werden. Es ist unveränderlich, während eine reguläre Variable andererseits veränderbar ist und Sie den Wert ändern können.

Die zwei Arten von Variablen sind

var myVar: Int = 0;

val myVal: Int = 1;

7) Erwähnen Sie den Unterschied zwischen einem Objekt und einer Klasse?

Eine Klasse ist eine Definition für eine Beschreibung. Es definiert einen Typ in Bezug auf Methoden und Zusammensetzung anderer Typen. Eine Klasse ist eine Blaupause des Objekts. Während ein Objekt ein Singleton ist, eine Instanz einer Klasse, die eindeutig ist. Für jedes Objekt im Code wird eine anonyme Klasse erstellt, die von allen Klassen erbt, die Sie als zu implementierendes Objekt deklariert haben.

8) Was ist Rekursionsschwanz in Scala?

'Rekursion' ist eine Funktion, die sich selbst aufruft. Eine Funktion, die sich selbst aufruft, beispielsweise eine Funktion 'A', ruft die Funktion 'B' auf, die die Funktion 'C' aufruft. Diese Technik wird häufig in der funktionalen Programmierung verwendet. Damit ein Schwanz rekursiv ist, muss der Rückruf der Funktion die letzte auszuführende Funktion sein.

9) Was ist "Scala-Merkmal" in Scala?

'Merkmale' werden verwendet, um Objekttypen zu definieren, die durch die Signatur der unterstützten Methoden angegeben werden. Scala kann teilweise implementiert werden, aber Merkmale haben möglicherweise keine Konstruktorparameter. Ein Merkmal besteht aus Methoden- und Felddefinition. Durch Mischen in Klassen kann es wiederverwendet werden.

10) Wann können Sie Merkmale verwenden?

Es gibt keine spezifische Regel, wann Sie Merkmale verwenden können, aber es gibt eine Richtlinie, die Sie berücksichtigen können.

  • Wenn das Verhalten nicht wiederverwendet wird, machen Sie es zu einer konkreten Klasse. Auf jeden Fall ist es kein wiederverwendbares Verhalten.
  • Um davon in Java-Code zu erben, kann eine abstrakte Klasse verwendet werden.
  • Wenn Effizienz Priorität hat, sollten Sie eine Klasse verwenden
  • Machen Sie es zu einem Merkmal, wenn es in mehreren und nicht verwandten Klassen wiederverwendet werden kann. In verschiedenen Teilen der Klassenhierarchie können nur Merkmale in verschiedene Teile gemischt werden.
  • Sie können eine abstrakte Klasse verwenden, wenn Sie sie in kompilierter Form verteilen möchten und erwarten, dass externe Gruppen Klassen schreiben, die von ihr erben.

11) Was sind Fallklassen?

Fallklassen bieten einen rekursiven Zerlegungsmechanismus über Mustervergleich. Es handelt sich um reguläre Klassen, die ihre Konstruktorparameter exportieren. Auf die Konstruktorparameter von Fallklassen kann direkt zugegriffen werden und sie werden als öffentliche Werte behandelt.

12) Was ist die Verwendung von Tupeln in Scala?

Scala-Tupel kombinieren eine feste Anzahl von Elementen, sodass sie als Ganzes weitergegeben werden können. Ein Tupel ist unveränderlich und kann im Gegensatz zu einem Array oder einer Liste Objekte mit unterschiedlichen Typen enthalten.

13) Was ist Funktionscurrying in Scala?

Currying ist die Technik, eine Funktion, die mehrere Argumente akzeptiert, in eine Funktion umzuwandeln, die ein einziges Argument akzeptiert. Viele der gleichen Techniken wie Sprache wie Haskell und LISP werden von Scala unterstützt. Funktionscurrying ist eines der am wenigsten genutzten und missverstandenen.

14) Was sind implizite Parameter in Scala?

Impliziter Parameter ist die Art und Weise, wie Parameter einer Methode „gefunden“ werden können. Es ähnelt den Standardparametern, verfügt jedoch über einen anderen Mechanismus zum Ermitteln des Standardwerts. Der implizite Parameter ist ein Parameter für eine Methode oder einen Konstruktor, der als implizit markiert ist. Das heißt, wenn ein Parameterwert nicht erwähnt wird, sucht der Compiler nach einem "impliziten" Wert, der innerhalb eines Bereichs definiert ist.

15) Was ist eine Schließung in Scala?

Ein Abschluss ist eine Funktion, deren Rückgabewert vom Wert der außerhalb der Funktion deklarierten Variablen abhängt.

16) Was ist Monade in Scala?

Eine Monade ist ein Objekt, das ein anderes Objekt umschließt. Sie übergeben die Monad-Miniprogramme, dh Funktionen, um die Datenmanipulation des zugrunde liegenden Objekts durchzuführen, anstatt das Objekt direkt zu manipulieren. Monad wählt aus, wie das Programm auf das zugrunde liegende Objekt angewendet werden soll.

17) Was ist die anonyme Funktion von Scala?

In einem Quellcode werden anonyme Funktionen als "Funktionsliterale" bezeichnet, und zur Laufzeit werden Funktionsliterale in Objekte instanziiert, die als Funktionswerte bezeichnet werden. Scala bietet eine relativ einfache Syntax zum Definieren anonymer Funktionen.

18) Erklären Sie die Funktionen der Scala höherer Ordnung?

Scala ermöglicht die Definition von Funktionen höherer Ordnung. Dies sind Funktionen, die andere Funktionen als Parameter übernehmen oder deren Ergebnis eine Funktion ist. Im folgenden Beispiel übernimmt die Funktion apply () eine andere Funktion 'f' und einen Wert 'v' und wendet die Funktion auf v an.

Beispiel:

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() + "]"
Wenn der obige Code kompiliert und ausgeführt wird, führt er zu folgendem Ergebnis.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>

19) Was ist der Unterschied zwischen var und value?

In Scala können Sie eine Variable mit den Schlüsselwörtern a, val oder var definieren. Der Unterschied zwischen val und var ist, dass var der Java-Deklaration sehr ähnlich ist, aber val ist wenig anders. Wir können die Referenz nicht so ändern, dass sie auf eine andere Referenz verweist, sobald die Variable mit val deklariert wurde. Die mit var-Schlüsselwörtern definierte Variable ist veränderbar und kann beliebig oft geändert werden.

20) Was sind Optionen, einige und keine in Scala?

'Option' ist ein generischer Scala-Typ, der entweder 'irgendein' generischer Wert oder keiner sein kann. 'Queue' verwendet es häufig, um Grundelemente darzustellen, die möglicherweise null sind.

21) Wie hänge ich an die Liste an?

Verwenden Sie in scala zum Anhängen an eine Liste „

:+” 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) Wie können Sie eine Zeichenfolge formatieren?

Verwenden Sie zum Formatieren eines Strings die Methode .format (), die Sie in scala verwenden können

Val formatiert = "% s% i" .format (mystring.myInt)

23) Warum bevorzugt Scala Unveränderlichkeit?

Scala bevorzugt die Unveränderlichkeit im Design und verwendet sie in vielen Fällen als Standard. Unveränderlichkeit kann bei der Behandlung von Gleichstellungsproblemen oder gleichzeitigen Programmen hilfreich sein.

24) Was sind die vier Arten von Scala-Identifikatoren?

Die vier Arten von Bezeichnern sind

  • Alphanumerische Bezeichner
  • Operator-IDs
  • Gemischte Bezeichner
  • Literale Bezeichner

25) Was sind die verschiedenen Arten von Scala-Literalen?

Die verschiedenen Arten von Literalen in Scala sind

  • Ganzzahlige Literale
  • Gleitkomma-Literale
  • Boolesche Literale
  • Symbolliterale
  • Zeichenliterale
  • String-Literale
  • Mehrzeilige Zeichenfolgen

Interessante Beiträge...