25 labākie Scala intervijas jautājumi & Atbildes

Anonim

Lejupielādēt PDF

1) Paskaidrojiet, kas ir Scala?

Scala ir objekta funkcionāla programmēšanas un skriptu valoda vispārējām programmatūras lietojumprogrammām, kas izstrādātas, lai īsumā izteiktu risinājumus.

2) Kas ir “Scala komplekts”? Kādas ir metodes, ar kuru palīdzību tiek izteiktas operāciju kopas?

Scala komplekts ir viena tipa elementu kolekcija pa pāriem. Scala komplektā nav neviena dublikāta elementa. Ir divu veidu komplekti, maināmi un nemainīgi.

3) Kas ir “Scala karte”?

Scala karte ir atslēgu vai vērtību pāru kolekcija. Pamatojoties uz tā atslēgu, var iegūt jebkuru vērtību. Vērtības nav unikālas, bet atslēgas kartē ir unikālas.

4) Kāda ir Scala priekšrocība?

  • Funkcionālais stils, kas pakļauts mazāk kļūdām
  • Augsta uzturamība un produktivitāte
  • Augsta mērogojamība
  • Augsta pārbaudāmība
  • Nodrošina vienlaicīgas programmēšanas funkcijas

5) Kādā ziņā Scala ir labāka par citām programmēšanas valodām?

  • Masīvos tiek izmantoti parastie vispārīgie, turpretī citās valodās vispārīgie ir pieskrūvēti kā pēcpārdomājumi un ir pilnīgi atsevišķi, taču tiem ir pārklāšanās ar masīviem.
  • Scala ir nemainīgs “val” kā pirmās klases valodas elements. Skalas “val” ir līdzīgs Java galīgajiem mainīgajiem. Saturs var mutēt, bet augšējā atsauce nav maināma.
  • Scala ļauj “ja bloķē”, “ienesīguma cilpas” un “kodu” iekavās, lai atgrieztu vērtību. Tas ir vēlams un novērš nepieciešamību pēc atsevišķa trīskāršā operatora.
  • Singletonam ir atsevišķi objekti, nevis C ++ / Java / C # classic static. Tas ir tīrāks risinājums
  • Noturīgas nemainīgas kolekcijas ir noklusējuma un iebūvētas standarta bibliotēkā.
  • Tam ir dzimtā valoda un kodolīgs kods
  • Tam nav katla plāksnes koda

6) Kādi ir Scala mainīgie?

Vērtības un mainīgie ir divas formas, kas nāk Scala. Vērtības mainīgais ir nemainīgs, un pēc piešķiršanas to nevar mainīt. No otras puses, tas ir nemainīgs, savukārt parastais mainīgais ir maināms, un jūs varat mainīt vērtību.

Divu veidu mainīgie ir

var myVar: Int = 0;

val myVal: Int = 1;

7) Pieminiet atšķirību starp objektu un klasi?

Klase ir apraksta definīcija. Tas definē tipu, ņemot vērā metodes un citu veidu sastāvu. Klase ir objekta projekts. Kamēr objekts ir vienskaitlis, klases eksemplārs, kas ir unikāls. Katram koda objektam tiek izveidota anonīma klase, kas tiek mantota no visām klasēm, kuras deklarējāt par objekta ieviešanu.

8) Kas ir rekursijas aste skalā?

'Rekursija' ir funkcija, kas pati sevi sauc. Funkcija, kas sevi dēvē, piemēram, funkcija “A”, izsauc funkciju “B”, kas sauc funkciju “C”. Tā ir tehnika, ko bieži izmanto funkcionālajā programmēšanā. Lai aste būtu rekursīva, pēdējai veicamajai funkcijai ir jāatsauc funkcijai.

9) Kas ir scala īpašība?

“Iezīmes” izmanto, lai definētu objektu tipus, kas norādīti ar atbalstīto metožu parakstu. Scala ļauj to daļēji ieviest, bet īpašībām var nebūt konstruktora parametru. Pazīme sastāv no metodes un lauka definīcijas, sajaucot tās klasēs, to var atkārtoti izmantot.

10) Kad jūs varat izmantot pazīmes?

Nav īpaša noteikuma, kad varat izmantot pazīmes, taču ir vadlīnija, kuru varat apsvērt.

  • Ja uzvedība netiks atkārtoti izmantota, padariet to par konkrētu klasi. Jebkurā gadījumā tā nav atkārtoti izmantojama rīcība.
  • Lai mantotu no tā Java kodā, var izmantot abstraktu klasi.
  • Ja efektivitāte ir prioritāte, tad izmantojiet klases izmantošanu
  • Padariet to par pazīmi, ja to varētu atkārtoti izmantot vairākās un nesaistītās klasēs. Dažādās klases hierarhijas daļās tikai iezīmes var sajaukt dažādās daļās.
  • Jūs varat izmantot abstrakto klasi, ja vēlaties to izplatīt apkopotā formā un sagaida, ka ārējās grupas raksta no tās mantotās klases.

11) Kas ir lietu klases?

Gadījumu klases nodrošina rekursīvu sadalīšanās mehānismu, izmantojot modeļu saskaņošanu, tās ir regulāras klases, kas eksportē to konstruktora parametrus. Lietu klašu konstruktora parametriem var piekļūt tieši, un tos uzskata par publiskām vērtībām.

12) Kāda ir svītru izmantošana skalā?

Scala komplekti apvieno fiksētu priekšmetu skaitu, lai tos varētu nodot veseliem. Pāris nav maināms un atšķirībā no masīva vai saraksta tajā var ievietot dažādu veidu objektus.

13) Kas ir funkciju karija Scala?

Karijs ir tādas funkcijas pārveidošana, kuras laikā vairāki argumenti tiek pārvērsti par funkciju, kas aizņem vienu argumentu. Scala atbalsta daudzas tādas pašas metodes kā valoda, piemēram, Haskels un LISP. Funkciju karija ir viena no vismazāk izmantotajām un pārprastajām.

14) Kādi ir netiešie Scala parametri?

Netiešais parametrs ir veids, kas ļauj “atrast” metodes parametrus. Tas ir līdzīgs noklusējuma parametriem, taču tam ir atšķirīgs “noklusējuma” vērtības atrašanas mehānisms. Netiešais parametrs ir metodes vai konstruktora parametrs, kas ir atzīmēts kā netiešs. Tas nozīmē, ja parametra vērtība nav minēta, kompilators meklēs “netiešu” vērtību, kas definēta darbības jomā.

15) Kas ir slēgšana Skalā?

Slēgšana ir funkcija, kuras atgriešanās vērtība ir atkarīga no mainīgo lielumu vērtības, kas deklarēti ārpus funkcijas.

16) Kas ir Monada Skalā?

Monāde ir objekts, kas aptin citu objektu. Jūs nododat Monad mini programmas, ti, funkcijas, lai veiktu datu apstrādi ar pamatobjektu, nevis tieši ar objektu. Monads izvēlas, kā programmu pielietot pamatā esošajam objektam.

17) Kas ir Scala anonīma funkcija?

Avota kodā anonīmās funkcijas sauc par “funkciju literāļiem”, un izpildes laikā funkciju literāļi tiek eksponēti objektos, kurus sauc par funkciju vērtībām. Scala nodrošina salīdzinoši vieglu sintaksi anonīmu funkciju definēšanai.

18) Paskaidrojiet 'Scala augstākās pakāpes' funkcijas?

Scala ļauj definēt augstākas kārtas funkcijas. Tās ir funkcijas, kuras citas funkcijas uzskata par parametriem vai kuru rezultāts ir funkcija. Šajā piemērā funkcija Apply () aizņem citu funkciju 'f' un vērtību 'v', un funkcija tiek izmantota v.

Piemērs:

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() + "]"
Kad iepriekšējais kods ir apkopots un izpildīts, tas rada šādu rezultātu.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>

19) Kāda ir atšķirība starp var un vērtību?

Skalā jūs varat definēt mainīgo, izmantojot atslēgvārdus a, val vai var. Atšķirība starp val un var ir tāda, ka var līdzinās Java deklarācijai, bet val ir maz atšķirīga. Kad mainīgais ir deklarēts, izmantojot val, mēs nevaram mainīt atsauci uz citu atsauci. Mainīgais, kas definēts, izmantojot atslēgvārdus var, ir maināms, un to var mainīt jebkurā reižu skaitā.

20) Kāds ir skalas variants, daži un neviens?

'Opcija' ir Scala sugas veids, kas var būt vai nu kāda, vai vispār. "Rinda" to bieži izmanto, lai attēlotu primitīvus, kas var būt nulle.

21) Kā es varu pievienot sarakstu?

Skalā, lai pievienotu sarakstu, izmantojiet “

:+” 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) Kā jūs varat formatēt virkni?

Lai formatētu virkni, izmantojiet metodi .format (), kuru varat izmantot skalā

Val formatēts = “% s% i” .formāts (mystring.myInt)

23) Kāpēc scala dod priekšroku nemainīgumam?

Scala dod priekšroku dizaina nemainīgumam un daudzos gadījumos to izmanto kā noklusējumu. Nemainīgums var palīdzēt, risinot līdztiesības jautājumus vai vienlaikus programmas.

24) Kādi ir četri skalas identifikatoru veidi?

Četri identifikatoru veidi ir

  • Burtu un ciparu identifikatori
  • Operatoru identifikatori
  • Jaukti identifikatori
  • Burtiskie identifikatori

25) Kādi ir dažādi Scala literāļu veidi?

Dažādu veidu literāļi skalā ir

  • Burtnieki vesels skaitlis
  • Peldošā punkta literāļi
  • Būla burtnieki
  • Simbolu literāļi
  • Rakstzīmju literāļi
  • Stīgu literāļi
  • Daudzrindu stīgas