Top 25 de întrebări și răspunsuri la interviu Scala (PDF)

Iată întrebările și răspunsurile la interviu Scala pentru candidații mai proaspeți, precum și cu experiență, pentru a obține locul de muncă visat.

 

Întrebări și răspunsuri la interviu Scala pentru proaspete

1) Explicați ce este Scala?

Scala este un limbaj de programare și scripturi funcționale obiect pentru aplicații software generale concepute pentru a exprima soluții într-o manieră concisă.


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

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

👉 Descărcare PDF gratuită: Întrebări și răspunsuri la interviu Scala >>


3) Ce este o „hartă Scala”?

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

Întrebări interviu Scala


4) Care este avantajul Scala?

Avantajele Scala sunt:

  • Less stil funcțional predispus la erori
  • Capacitate ridicată de întreținere și productivitate
  • Scalabilitate ridicată
  • Testabilitate ridicată
  • Oferă caracteristici de programare concomitentă

5) În ce fel Scala este mai bun decât alt limbaj de programare?

  • Matricele utilizează generice obișnuite, în timp ce în alte limbi, genericele sunt înșurubate ca o idee ulterioară și sunt complet separate, dar au comportamente care se suprapun cu matricele.
  • Scala are „val” imuabil ca o caracteristică de limbă de primă clasă. Valul lui scala este similar cu Java variabile finale. Conținutul poate modifica, dar referința de sus este imuabilă.
  • Scala lasă „if blocks”, „for-yield loops” și „code” între acolade să returneze o valoare. Este mai de preferat și elimină necesitatea unui operator ternar separat.
  • Singleton are obiecte singleton mai degrabă decât C++/Java/ C# static clasic. Este o soluție mai curată
  • Colecțiile imuabile persistente sunt implicite și încorporate în biblioteca standard.
  • Are tupluri native și un cod concis
  • Nu are cod de placa de cazan

6) Care sunt variabilele Scala?

Valorile și variabile sunt două forme care vin î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 mutabilă și puteți modifica valoarea.

Cele două tipuri de variabile sunt

var myVar : Int=0;

val myVal: Int=1;


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

O clasă este o definiție pentru o descriere. Acesta definește un tip în ceea ce privește metodele și compoziția 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, ea moștenește din orice clase pe care ați declarat ca obiectul să le implementați.


8) Ce este coada recursiunii în scala?

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


9) Ce este „trăsătura scala” în scala?

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


10) Când poți folosi trăsăturile?

Nu există o regulă specifică când poți folosi trăsăturile, dar există o regulă pe care o poț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 ea în Java cod, poate fi folosită o clasă abstractă.
  • Dacă eficiența este o prioritate, atunci înclinați spre utilizarea unei clase
  • Faceți din aceasta o trăsătură dacă ar putea fi reutilizată în clase multiple și fără legătură. În diferite părți ale ierarhiei claselor, numai trăsăturile pot fi amestecate în diferite părți.
  • Puteți folosi clasa abstractă, dacă doriți să o distribuiți în formă compilată și așteptați ca grupurile din afara să scrie clase care moștenesc de la ea.

Întrebări de interviu Scala pentru cei cu experiență

11) Ce sunt clasele de caz?

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


12) La ce folosesc tuplurile în scala?

Tuplurile Scala combină un număr fix de elemente împreună, 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 curry în Scala?

Currying este tehnica de transformare a unei funcții care ia mai multe argumente într-o funcție care ia un singur argument. Multe dintre tehnicile aceleași ca limbajul precum Haskell și LISP sunt acceptate de Scala. Funcția de curry este una dintre cele mai puțin utilizate și neînțelese.


14) Care sunt parametrii impliciti în Scala?

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


15) Ce este o închidere la Scala?

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


16) Ce este Monada la Scala?

O monada este un obiect care înfășoară un alt obiect. Treci mini-programele Monad, adică funcții, pentru a efectua manipularea datelor obiectului de bază, în loc să manipulezi obiectul direct. Monad alege cum să aplice programul obiectului de bază.


17) Ce este funcția anonimă Scala?

Într-un cod sursă, funcțiile anonime sunt numite „literale de funcție”, iar în timpul executării, literalele de funcție sunt instanțiate în obiecte numite valori ale funcției. 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 drept parametri sau al căror rezultat este o funcție. În exemplul următor, funcția aplica () ia o altă funcție „f” și o valoare „v” și aplică funcția la 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.scala
C:/>scala Test
[10]
C:/>

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

În scala, puteți defini o variabilă folosind cuvinte cheie a, val sau var. Diferența dintre val și var este că var este mult ca 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. Variabilele definite folosind cuvintele cheie var sunt modificabile și pot fi modificate de orice număr de ori.


20) Ce sunt opțiunea, unele și niciuna în scala?

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


21) Cum atasez la lista?

Î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 list
var myList = List.empty[String]
myList ++= List("a", "b", "c")

22) Cum poți formata un șir?

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

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


23) De ce scala preferă imuabilitatea?

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


24) Care sunt cele patru tipuri de identificatori scala?

Cele patru tipuri de identificatori sunt

  • Identificatori alfanumeric
  • Operaidentificatori tor
  • Identificatori mixti
  • Identificatori literali

25) Care sunt diferitele tipuri de literale Scala?

Diferitele tipuri de literale din scala sunt

  • Literale întregi
  • Literale în virgulă mobilă
  • Literale booleene
  • Literale simbol
  • Litere de caractere
  • Literale șiruri
  • Corzi cu mai multe linii

Aceste întrebări de interviu vă vor ajuta, de asemenea, în viva (orale)