Top 25 întrebări pentru interviu Scala & Răspunsuri

Anonim

Descărcați PDF

1) Explicați ce este Scala?

Scala este un limbaj de programare și scriptare funcțional obiect pentru aplicații software generale concepute pentru a exprima soluții într-un mod concis.

2) Ce este un „set Scala”? Care sunt metodele prin care sunt exprimate seturile de operații?

Setul Scala este o colecție de elemente perechi de același tip. Setul Scala nu conține elemente duplicate. Există două tipuri de seturi, mutabile și imuabile.

3) Ce este o „hartă Scala”?

Harta Scala este o colecție de perechi de chei sau valori. Pe baza cheii sale, orice valoare poate fi recuperată. Valorile nu sunt unice, dar tastele sunt unice în hartă.

4) Care este avantajul Scala?

  • Stil funcțional mai puțin predispus la erori
  • Întreținere și productivitate ridicate
  • Scalabilitate ridicată
  • Testabilitate ridicată
  • Oferă caracteristici ale programării simultane

5) În ce moduri Scala este mai bun decât alte limbaje de programare?

  • Tablourile utilizează generice obișnuite, în timp ce în altă limbă, genericele sunt înșurubate ca gândire ulterioară și sunt complet separate, dar au comportamente suprapuse cu tablouri.
  • Scala are „val” imuabil ca caracteristică de limbă de primă clasă. „Val” de scala este similar cu variabilele finale Java. Conținutul poate muta, dar referința de sus este imuabilă.
  • Scala permite „if blocks”, „for-yield bucles” și „code” în paranteze pentru a returna o valoare. Este mai preferabil și elimină necesitatea unui operator ternar separat.
  • Singleton are obiecte singleton, mai degrabă decât C ++ / Java / C # static static. Este o soluție mai curată
  • Colecțiile imuabile persistente sunt implicite și sunt integrate în biblioteca standard.
  • Are tupluri native și un cod concis
  • Nu are codul plăcii cazanului

6) Care sunt variabilele Scala?

Valorile și variabilele sunt două forme care apar în Scala. O variabilă de valoare este constantă și nu poate fi modificată odată atribuită. Este imuabil, în timp ce o variabilă obișnuită, pe de altă parte, este modificabilă și puteți schimba valoarea.

Cele două tipuri de variabile sunt

var myVar: Int = 0;

val myVal: Int = 1;

7) Menționează diferența dintre un obiect și o clasă?

O clasă este o definiție pentru o descriere. Acesta definește un tip din punct de vedere al metodelor și al compoziției altor tipuri. O clasă este un plan al obiectului. În timp ce un obiect este un singleton, o instanță a unei clase care este unică. O clasă anonimă este creată pentru fiecare obiect din cod, el moștenește din orice clasă ați declarat obiect de implementat.

8) Ce este coada recursivă în scala?

„Recursivitate” este o funcție care se numește singură. O funcție care se numește singură, de exemplu, o funcție „A” numește funcția „B”, care numește funcția „C”. Este o tehnică folosită frecvent în programarea funcțională. Pentru ca o coadă să fie recursivă, apelul înapoi la funcție trebuie să fie ultima funcție care trebuie efectuată.

9) Ce este „scala tret” în scala?

„Trăsături” sunt utilizate pentru a defini tipurile de obiecte specificate prin semnătura metodelor acceptate. Scala permite să fie parțial implementat, dar este posibil ca trăsăturile să nu aibă parametri constructori. O trăsătură constă în definirea metodei și câmpului, prin amestecarea lor în clase poate fi refolosită.

10) Când puteți folosi trăsături?

Nu există o regulă specifică când puteți folosi trăsături, dar există o orientare pe care o puteți lua în considerare.

  • Dacă comportamentul nu va fi reutilizat, atunci faceți din el o clasă concretă. Oricum nu este un comportament reutilizabil.
  • Pentru a moșteni din acesta în cod Java, se poate folosi o clasă abstractă.
  • Dacă eficiența este o prioritate, atunci înclinați-vă spre utilizarea unei clase
  • Faceți din ea o trăsătură dacă ar putea fi reutilizată în clase multiple și fără legătură. În diferite părți ale ierarhiei clasei, numai trăsăturile pot fi amestecate în părți diferite.
  • Puteți utiliza clasa abstractă, dacă doriți să o distribuiți într-o formă compilată și vă așteptați ca grupuri externe să scrie clase care moștenesc din aceasta.

11) Ce este clasele de caz?

Clasele de cazuri oferă un mecanism de descompunere recursivă prin potrivirea modelelor, este o clasă obișnuită care își exportă parametrul constructor. Parametrii constructor ai claselor de cazuri pot fi accesați direct și sunt tratați ca valori publice.

12) La ce folosește tuplurile în scala?

Tuplurile Scala combină un număr fix de articole, astfel încât să poată fi transmise ca întreg. Un tuplu este imuabil și poate conține obiecte cu diferite tipuri, spre deosebire de o matrice sau o listă.

13) Ce este funcția curentă în Scala?

Currying este tehnica transformării unei funcții care ia mai multe argumente într-o funcție care acceptă un singur argument Multe dintre aceleași tehnici ca limbajul precum Haskell și LISP sunt susținute de Scala. Funcția currying este una dintre cele mai puțin utilizate și neînțelese.

14) Care sunt parametrii implicați în Scala?

Parametrul implicit este modul care permite „găsirea” parametrilor unei metode. Este similar cu parametrii impliciti, dar are un mecanism diferit pentru gasirea valorii „implicite”. Parametrul implicit este un parametru al metodei sau al constructorului care este marcat ca implicit. Aceasta înseamnă că dacă nu se menționează o valoare a parametrului, atunci compilatorul va căuta o valoare „implicită” definită într-un domeniu.

15) Ce este o închidere în Scala?

O închidere este o funcție a cărei valoare de returnare depinde de valoarea variabilelor declarate în afara funcției.

16) Ce este Monad în Scala?

O monadă este un obiect care înfășoară un alt obiect. Treceți mini-programele Monad, adică funcțiile, pentru a efectua manipularea datelor obiectului subiacent, în loc să manipulați obiectul direct. Monad alege cum să aplice programul obiectului subiacent.

17) Ce este funcția anonimă Scala?

Într-un cod sursă, funcțiile anonime sunt numite „litere funcționale”, iar în timpul rulării, literele funcționale sunt instanțiate în obiecte numite valori funcționale. Scala oferă o sintaxă relativ ușoară pentru definirea funcțiilor anonime.

18) Explicați funcțiile „Scala de ordin superior”?

Scala permite definirea funcțiilor de ordin superior. Acestea sunt funcții care iau alte funcții ca parametri sau al căror rezultat este o funcție. În exemplul următor, funcția apply () ia o altă funcție „f” și o valoare „v” și aplică funcția v.

Exemplu:

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() + "]"
Când codul de mai sus este compilat și executat, acesta produce următorul rezultat.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>

19) Care este diferența dintre var și valoare?

În scala, puteți defini o variabilă utilizând cuvinte cheie a, val sau var. Diferența dintre val și var este, var seamănă mult cu declarația java, dar val este puțin diferit. Nu putem schimba referința pentru a indica o altă referință, odată ce variabila este declarată folosind val. Variabila definită utilizând cuvinte cheie var poate fi modificată și poate fi modificată de câte ori.

20) Ce sunt opțiunea, unii și niciunul în scala?

„Opțiune” este un tip generic Scala care poate fi fie „oarecare” valoare generică sau nici una. „Coada” îl folosește adesea pentru a reprezenta primitive care pot fi nule.

21) Cum pot anexa la listă?

În scala pentru a adăuga într-o listă, utilizați „

:+” 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) Cum puteți formata un șir?

Pentru a formata un șir, utilizați metoda .format (), în scala puteți utiliza

Val formatat = „% s% i” .format (mystring.myInt)

23) De ce scala preferă imuabilitatea?

Scala preferă imuabilitatea în design și, în multe cazuri, o folosește ca implicită. Imuabilitatea poate ajuta atunci când se ocupă de probleme de egalitate sau programe concurente.

24) Care sunt cele patru tipuri de identificatori scala?

Cele patru tipuri de identificatori sunt

  • Identificatori alfanumerici
  • Identificatori de operator
  • Identificatori mixți
  • Identificatori literali

25) Care sunt diferitele tipuri de literali Scala?

Diferitele tipuri de literali din scala sunt

  • Litere întregi
  • Litere în virgulă mobilă
  • Litere booleene
  • Literale simbol
  • Litere de caracter
  • Litere de șir
  • Șiruri multi-linie