De 25 bästa Scala-intervjufrågorna och -svaren (PDF)

Här är Scala-intervjufrågor och svar för fräschare såväl som erfarna kandidater att få sitt drömjobb.

 

Scala intervjufrågor och svar för nybörjare

1) Förklara vad är Scala?

Scala är ett objektfunktionellt programmerings- och skriptspråk för allmänna mjukvaruapplikationer utformade för att uttrycka lösningar på ett kortfattat sätt.


2) Vad är ett "Scala-set"? Vilka är metoder genom vilka operationsuppsättningar uttrycks?

Scala-set är en samling parvisa element av samma typ. Scala-uppsättningen innehåller inga dubbletter av element. Det finns två typer av uppsättningar, föränderliga och oföränderliga.

👉 Gratis PDF-nedladdning: Scala Intervju Frågor & Svar >>


3) Vad är en "Scala-karta"?

Scala-karta är en samling nyckel- eller värdepar. Baserat på dess nyckel kan vilket värde som helst hämtas. Värden är inte unika men nycklar är unika i kartan.

Scala intervjufrågor


4) Vad är fördelen med Scala?

Fördelarna med Skala är:

  • Less felbenägen funktionsstil
  • Hög underhållsbarhet och produktivitet
  • Hög skalbarhet
  • Hög testbarhet
  • Ger funktioner för samtidig programmering

5) På vilka sätt är Scala bättre än andra programmeringsspråk?

  • Matriserna använder vanliga generika, medan på andra språk är generika fastskruvade som en eftertanke och är helt separata men har överlappande beteenden med matriser.
  • Scala har oföränderligt "val" som en förstklassig språkfunktion. Scalas "val" liknar Java slutvariabler. Innehållet kan mutera men toppreferensen är oföränderlig.
  • Scala låter 'om block', 'for-yield loops' och 'code' inom klammerparenteser för att returnera ett värde. Det är mer att föredra och eliminerar behovet av en separat ternär operatör.
  • Singleton har singleton-objekt snarare än C++/Java/ C# klassisk statisk. Det är en renare lösning
  • Beständiga oföränderliga samlingar är standard och inbyggda i standardbiblioteket.
  • Den har inhemska tupler och en kortfattad kod
  • Den har ingen pannskyltkod

6) Vilka är Scala-variablerna?

Värderingar och variabler är två former som kommer i Scala. En värdevariabel är konstant och kan inte ändras när den väl har tilldelats. Den är oföränderlig, medan en vanlig variabel å andra sidan är föränderlig, och du kan ändra värdet.

De två typerna av variabler är

var myVar : Int=0;

val myVal: Int=1;


7) Nämn skillnaden mellan ett objekt och en klass?

En klass är en definition för en beskrivning. Den definierar en typ i termer av metoder och sammansättning av andra typer. En klass är en ritning av objektet. Medan ett objekt är en singleton, en instans av en klass som är unik. En anonym klass skapas för varje objekt i koden, den ärver från de klasser som du deklarerat att objektet ska implementeras.


8) Vad är rekursion tail i scala?

'Rekursion' är en funktion som kallar sig själv. En funktion som kallar sig själv, till exempel en funktion 'A' anropar funktion 'B', som anropar funktionen 'C'. Det är en teknik som används ofta i funktionell programmering. För att en svans ska vara rekursiv måste anropet tillbaka till funktionen vara den sista funktionen som ska utföras.


9) Vad är 'scala-drag' i scala?

'Traits' används för att definiera objekttyper som specificeras av signaturen för de metoder som stöds. Scala tillåter att delvis implementeras men egenskaper kanske inte har konstruktorparametrar. En egenskap består av metod och fältdefinition, genom att blanda dem i klasser kan den återanvändas.


10) När kan du använda egenskaper?

Det finns ingen specifik regel när du kan använda egenskaper, men det finns en riktlinje som du kan överväga.

  • Om beteendet inte kommer att återanvändas, gör det till en konkret klass. Hur som helst är det inte ett återanvändbart beteende.
  • För att ärva från det in Java kod kan en abstrakt klass användas.
  • Om effektivitet är en prioritet, luta dig mot att använda en klass
  • Gör det till en egenskap om det kan återanvändas i flera och orelaterade klasser. I olika delar av klasshierarkin kan endast egenskaper blandas till olika delar.
  • Du kan använda abstrakt klass om du vill distribuera den i kompilerad form och förväntar dig att externa grupper ska skriva klasser som ärver från den.

Scala intervjufrågor för erfarna

11) Vad är Case Classes?

Fallklasser tillhandahåller en rekursiv nedbrytningsmekanism via mönstermatchning, det är en vanlig klass som exporterar sin konstruktorparameter. Konstruktorparametrarna för fallklasser kan nås direkt och behandlas som offentliga värden.


12) Vad är användningen av tupler i scala?

Scala-tuplar kombinerar ett fast antal föremål så att de kan skickas runt som hela. En tuppel är oföränderlig och kan hålla objekt med olika typer, till skillnad från en array eller lista.


13) Vad är funktionscurry i Scala?

Currying är tekniken att omvandla en funktion som tar flera argument till en funktion som tar ett enda argument Många av samma tekniker som språk som Haskell och LISP stöds av Scala. Funktionscurry är en av de minst använda och missförstådda.


14) Vilka är implicita parametrar i Scala?

Implicit parameter är det sätt som gör att parametrar för en metod kan "hittas". Det liknar standardparametrar, men det har en annan mekanism för att hitta "standard"-värdet. Den implicita parametern är en parameter till metod eller konstruktor som är markerad som implicit. Detta betyder att om ett parametervärde inte nämns kommer kompilatorn att söka efter ett "implicit" värde definierat inom ett omfång.


15) Vad är en stängning i Scala?

En stängning är en funktion vars returvärde beror på värdet på de variabler som deklareras utanför funktionen.


16) Vad är Monad i Scala?

En monad är ett föremål som omsluter ett annat föremål. Man skickar Monad miniprogram, dvs funktioner, för att utföra datamanipulationen av det underliggande objektet, istället för att manipulera objektet direkt. Monad väljer hur programmet ska appliceras på det underliggande objektet.


17) Vad är Scala anonym funktion?

I en källkod kallas anonyma funktioner "funktionsliteraler" och under körning instansieras funktionsliteraler i objekt som kallas funktionsvärden. Scala tillhandahåller en relativt enkel syntax för att definiera anonyma funktioner.


18) Förklara "Scala högre ordning"-funktioner?

Scala tillåter definition av funktioner av högre ordning. Detta är funktioner som tar andra funktioner som parametrar, eller vars resultat är en funktion. I följande exempel tar funktionen applicera () en annan funktion 'f' och ett värde 'v' och tillämpar funktionen på v.

Exempelvis:

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

När ovanstående kod kompileras och exekveras ger den följande resultat.

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

19) Vad är skillnaden mellan var och värde?

I scala kan du definiera en variabel med antingen a, val eller var nyckelord. Skillnaden mellan val och var är att var är ungefär som java-deklaration, men val är lite annorlunda. Vi kan inte ändra referensen så att den pekar på en annan referens när variabeln väl har deklarerats med val. Variabeln som definieras med var nyckelord är föränderlig och kan ändras hur många gånger som helst.


20) Vad är alternativ, några och inga i scala?

'Option' är en Scala generisk typ som antingen kan vara 'något' generiskt värde eller inget. 'Queue' använder det ofta för att representera primitiver som kan vara null.


21) Hur lägger jag till listan?

I scala för att lägga till en lista, använd ":+” 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) Hur kan du formatera en sträng?

För att formatera en sträng, använd metoden .format (), i scala kan du använda

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


23) Varför föredrar scala oföränderlighet?

Scala föredrar oföränderlighet i design och använder det i många fall som standard. Oföränderlighet kan hjälpa när man hanterar jämställdhetsfrågor eller samtidiga program.


24) Vilka är de fyra typerna av scala-identifierare?

De fyra typerna av identifierare är

  • Alfanumeriska identifierare
  • Operator-identifierare
  • Blandade identifierare
  • Bokstavliga identifierare

25) Vilka är de olika typerna av Scala literals?

De olika typerna av bokstaver i scala är

  • Heltalsbokstäver
  • Flytande punkt bokstaver
  • Booleska bokstäver
  • Symbolbokstavar
  • Teckenbokstäver
  • String bokstäver
  • Flerradiga strängar

Dessa intervjufrågor kommer också att hjälpa dig i din viva (orals)