25 najważniejszych pytań i odpowiedzi podczas rozmowy kwalifikacyjnej w Scali (PDF)

Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych w Scali, zarówno dla świeżych, jak i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.

 

Pytania i odpowiedzi dotyczące rozmowy kwalifikacyjnej w Scali dla nowicjuszy

1) Wyjaśnij, czym jest Scala?

Scala to funkcjonalny język programowania obiektowego i skryptowy dla ogólnych aplikacji, zaprojektowany w celu zwięzłego wyrażania rozwiązań.


2) Czym jest „zestaw Scala”? Jakie są metody, za pomocą których wyrażane są zbiory operacji?

Zbiór Scala to zbiór elementów parami tego samego typu. Zbiór Scala nie zawiera żadnych duplikatów elementów. Istnieją dwa rodzaje zbiorów: zmienne i niezmienne.

👉 Bezpłatne pobieranie w formacie PDF: Pytania i odpowiedzi dotyczące wywiadu w Scali >>


3) Co to jest „mapa Scala”?

Mapa Scala to zbiór par kluczy lub wartości. Na podstawie jego klucza można pobrać dowolną wartość. Wartości nie są unikalne, ale klucze są unikalne na mapie.

Pytania do rozmowy kwalifikacyjnej w Scali


4) Jaka jest zaleta Scali?

Korzyści z Scala należą:

  • Less styl funkcjonalny podatny na błędy
  • Wysoka łatwość konserwacji i produktywność
  • Wysoka skalowalność
  • Wysoka testowalność
  • Zapewnia funkcje programowania współbieżnego

5) Pod jakim względem Scala jest lepsza od innych języków programowania?

  • W tablicach używane są zwykłe typy generyczne, podczas gdy w innych językach typy generyczne są dołączane po namyśle i są całkowicie oddzielne, ale mają nakładające się zachowania z tablicami.
  • Scala ma niezmienne „val” jako pierwszorzędną funkcję językową. „val” scala jest podobny do Java zmienne końcowe. Treść może się zmieniać, ale górne odniesienie jest niezmienne.
  • Scala pozwala na 'if blocks', 'for-yield loops' i 'code' w nawiasach klamrowych, aby zwrócić wartość. Jest to bardziej preferowane i eliminuje potrzebę oddzielnego operatora trójargumentowego.
  • Singleton ma raczej obiekty singleton niż C++/Java/ Klasyczna statyka C#. To czystsze rozwiązanie
  • Trwałe, niezmienne kolekcje są domyślne i wbudowane w bibliotekę standardową.
  • Ma natywne krotki i zwięzły kod
  • Nie posiada kodu płyty kotła

6) Jakie są zmienne Scala?

Wartości i zmienne to dwa kształty dostępne w Scali. Zmienna wartości jest stała i po przypisaniu nie można jej zmienić. Jest niezmienna, podczas gdy zmienna zwykła jest zmienna i można zmienić jej wartość.

Są dwa rodzaje zmiennych

var myVar : Int=0;

val myVal: Int=1;


7) Wspomnij o różnicy między obiektem a klasą?

Klasa jest definicją opisu. Definiuje typ pod względem metod i składu innych typów. Klasa jest planem obiektu. Natomiast obiekt jest singletonem, instancją klasy, która jest unikalna. Dla każdego obiektu w kodzie tworzona jest anonimowa klasa, która dziedziczy po klasach, które zadeklarowałeś jako obiekt do zaimplementowania.


8) Co to jest ogon rekurencji w scala?

„Rekursja” to funkcja, która wywołuje samą siebie. Funkcja, która wywołuje samą siebie, na przykład funkcja „A” wywołuje funkcję „B”, która wywołuje funkcję „C”. Jest to technika często używana w programowaniu funkcjonalnym. Aby ogon był rekurencyjny, wywołanie zwrotne funkcji musi być ostatnią funkcją, która ma zostać wykonana.


9) Co to jest „cecha scala” w scala?

„Cechy” służą do definiowania typów obiektów określonych przez sygnaturę obsługiwanych metod. Scala pozwala na częściową implementację, ale cechy mogą nie mieć parametrów konstruktora. Cecha składa się z definicji metody i pola. Mieszając je w klasy, można ją ponownie wykorzystać.


10) Kiedy możesz używać cech?

Nie ma konkretnej reguły, kiedy można używać cech, ale istnieją wytyczne, które można wziąć pod uwagę.

  • Jeśli zachowanie nie zostanie ponownie wykorzystane, uczyń z niego konkretną klasę. W każdym razie nie jest to zachowanie nadające się do ponownego użycia.
  • Aby dziedziczyć po nim w Java kodu, można użyć klasy abstrakcyjnej.
  • Jeśli priorytetem jest wydajność, skłaniaj się ku używaniu klasy
  • Uczyń ją cechą, jeśli może zostać ponownie wykorzystana w wielu i niepowiązanych klasach. W różnych częściach hierarchii klasowej w różne części można mieszać tylko cechy.
  • Możesz użyć klasy abstrakcyjnej, jeśli chcesz rozpowszechniać ją w formie skompilowanej i oczekujesz, że grupy zewnętrzne napiszą klasy dziedziczące po niej.

Pytania do rozmowy kwalifikacyjnej w Scali dla doświadczonych

11) Co to są klasy przypadków?

Klasy przypadków zapewniają rekurencyjny mechanizm dekompozycji poprzez dopasowywanie wzorców. Są to zwykłe klasy, które eksportują swoje parametry konstruktora. Dostęp do parametrów konstruktora klas przypadków można uzyskać bezpośrednio i są one traktowane jako wartości publiczne.


12) Jakie jest zastosowanie krotek w scala?

Krotki Scala łączą ze sobą stałą liczbę elementów, dzięki czemu można je przekazywać w całości. Krotka jest niezmienna i może przechowywać obiekty różnych typów, w przeciwieństwie do tablicy lub listy.


13) Co to jest curry funkcji w Scali?

Curry to technika przekształcania funkcji przyjmującej wiele argumentów w funkcję przyjmującą pojedynczy argument. Wiele z tych samych technik, co w językach takich jak Haskell i LISP, jest obsługiwanych w Scali. Curry funkcyjne jest jednym z najrzadziej używanych i źle rozumianych.


14) Jakie są ukryte parametry w Scali?

Parametr niejawny to sposób, który umożliwia „znalezienie parametrów metody”. Jest podobny do parametrów domyślnych, ale ma inny mechanizm znajdowania wartości „domyślnej”. Parametr niejawny to parametr metody lub konstruktora oznaczony jako niejawny. Oznacza to, że jeśli nie zostanie wymieniona wartość parametru, kompilator będzie szukać „ukrytej” wartości zdefiniowanej w zakresie.


15) Co to jest zamknięcie w Scali?

Zamknięcie to funkcja, której wartość zwracana zależy od wartości zmiennych zadeklarowanych poza funkcją.


16) Czym jest monada w Scali?

Monada to obiekt, który otacza inny obiekt. Przekazujesz miniprogramy Monady, tj. funkcje, aby wykonać manipulację danymi obiektu bazowego, zamiast bezpośrednio manipulować obiektem. Monada wybiera sposób zastosowania programu do obiektu bazowego.


17) Co to jest funkcja anonimowa w Scali?

W kodzie źródłowym funkcje anonimowe nazywane są „literałami funkcyjnymi”, a w czasie wykonywania ich instancje są tworzone w obiekty zwane wartościami funkcji. Scala zapewnia stosunkowo łatwą składnię do definiowania funkcji anonimowych.


18) Wyjaśnij funkcje „wyższego rzędu w Scala”?

Scala pozwala na definiowanie funkcji wyższego rzędu. Są to funkcje, które przyjmują inne funkcje jako parametry lub których wynikiem jest funkcja. W poniższym przykładzie funkcja apply() przyjmuje inną funkcję 'f' i wartość 'v' i stosuje funkcję do v.

Przykład:

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() + "]"

Po skompilowaniu i wykonaniu powyższego kodu otrzymamy następujący wynik.

C:/>scalac Test.scala
C:/>scala Test
[10]
C:/>

19) Jaka jest różnica pomiędzy var i value?

W scala możesz zdefiniować zmienną za pomocą słów kluczowych a, val lub var. Różnica między val i var jest taka, że ​​var przypomina deklarację Java, ale val niewiele się różni. Nie możemy zmienić odniesienia, aby wskazywało inne odwołanie, gdy zmienna zostanie zadeklarowana za pomocą val. Zmienne zdefiniowane za pomocą słów kluczowych var są modyfikowalne i można je zmieniać dowolną liczbę razy.


20) Czym są opcje, Some i None w scala?

„Opcja” to ogólny typ języka Scala, który może mieć „pewną” wartość ogólną lub nie mieć żadnej wartości. „Kolejka” często używa go do reprezentowania elementów pierwotnych, które mogą mieć wartość null.


21) Jak dołączyć do listy?

W scala, aby dodać do listy, użyj „:+” 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) Jak sformatować ciąg znaków?

Aby sformatować ciąg znaków, użyj metody .format (), w scala możesz użyć

Val formatted= “%s %i”.format (mystring.myInt)


23) Dlaczego scala preferuje niezmienność?

Scala preferuje niezmienność projektu i w wielu przypadkach używa jej jako domyślnej. Niezmienność może być pomocna przy rozwiązywaniu problemów związanych z równością lub programami równoległymi.


24) Jakie są cztery typy identyfikatorów scala?

Istnieją cztery typy identyfikatorów

  • Identyfikatory alfanumeryczne
  • Operaidentyfikatory Tora
  • Mieszane identyfikatory
  • Dosłowne identyfikatory

25) Jakie są różne typy literałów Scala?

Różne typy literałów w scala to:

  • Literały całkowite
  • Literały zmiennoprzecinkowe
  • Literały logiczne
  • Literały symboli
  • Literały znakowe
  • Literały ciągów
  • Ciągi wieloliniowe

Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)