Top 25 Scala-interviewspørgsmål og -svar (PDF)
Her er Scala-interviewspørgsmål og svar til både friskere og erfarne kandidater til at få deres drømmejob.
Scala-interviewspørgsmål og svar til nybegyndere
1) Forklar, hvad er Scala?
Scala er et objektfunktionelt programmerings- og scriptsprog til generelle softwareapplikationer designet til at udtrykke løsninger på en kortfattet måde.
2) Hvad er et 'Scala-sæt'? Hvad er metoder, hvorigennem operationssæt udtrykkes?
Scala sæt er en samling af parvise elementer af samme type. Scala-sættet indeholder ingen duplikerede elementer. Der er to slags sæt, foranderlige og uforanderlige.
👉 Gratis PDF-download: Scala-interviewspørgsmål og -svar >>
3) Hvad er et 'Scala-kort'?
Scala-kort er en samling af nøgle- eller værdipar. Baseret på dens nøgle kan enhver værdi hentes. Værdier er ikke unikke, men nøgler er unikke på kortet.
4) Hvad er fordelen ved Scala?
Fordelene ved Scala er:
- Less fejltilbøjelig funktionsstil
- Høj vedligeholdelse og produktivitet
- Høj skalerbarhed
- Høj testbarhed
- Giver funktioner til samtidig programmering
5) På hvilke måder er Scala bedre end andre programmeringssprog?
- Arrays bruger almindelige generiske artikler, mens generiske artikler på andre sprog er boltet på som en eftertanke og er fuldstændig adskilte, men har overlappende adfærd med arrays.
- Scala har uforanderlig "val" som en førsteklasses sprogfunktion. "Val" af scala ligner Java endelige variabler. Indholdet kan mutere, men topreferencen er uforanderlig.
- Scala lader 'hvis-blokke', 'for-udbytte-løkker' og 'kode' i klammer for at returnere en værdi. Det er mere at foretrække og eliminerer behovet for en separat ternær operatør.
- Singleton har singleton-objekter i stedet for C++/Java/ C# klassisk statisk. Det er en renere løsning
- Vedvarende uforanderlige samlinger er standard og indbygget i standardbiblioteket.
- Den har indfødte tupler og en kortfattet kode
- Den har ingen kedelpladekode
6) Hvad er Scala-variablerne?
Værdier og variabler er to former, der kommer i Scala. En værdivariabel er konstant og kan ikke ændres, når den først er tildelt. Den er uforanderlig, mens en regulær variabel på den anden side er mutbar, og du kan ændre værdien.
De to typer variabler er
var myVar : Int=0;
val myVal: Int=1;
7) Nævn forskellen mellem et objekt og en klasse?
En klasse er en definition af en beskrivelse. Den definerer en type i form af metoder og sammensætning af andre typer. En klasse er en blueprint af objektet. Mens et objekt er en singleton, en forekomst af en klasse, som er unik. En anonym klasse oprettes for hvert objekt i koden, den arver fra hvilke klasser du har erklæret objekt til at implementere.
8) Hvad er rekursionshale i scala?
'Rekursion' er en funktion, der kalder sig selv. En funktion, der kalder sig selv, for eksempel en funktion 'A' kalder funktion 'B', som kalder funktionen 'C'. Det er en teknik, der ofte bruges i funktionel programmering. For at en hale skal være rekursiv, skal tilbagekaldet til funktionen være den sidste funktion, der skal udføres.
9) Hvad er 'scala-træk' i scala?
'Trækker' bruges til at definere objekttyper, der er angivet med signaturen af de understøttede metoder. Scala tillader at blive delvist implementeret, men egenskaber har muligvis ikke konstruktørparametre. Et træk består af metode og feltdefinition, ved at blande dem i klasser kan det genbruges.
10) Hvornår kan du bruge træk?
Der er ingen specifik regel for, hvornår du kan bruge egenskaber, men der er en retningslinje, som du kan overveje.
- Hvis adfærden ikke vil blive genbrugt, så gør det til en konkret klasse. Det er i hvert fald ikke en genanvendelig adfærd.
- For at arve fra det ind Java kode, kan en abstrakt klasse bruges.
- Hvis effektivitet er en prioritet, så læn dig mod at bruge en klasse
- Gør det til en egenskab, hvis det kan genbruges i flere og ikke-relaterede klasser. I forskellige dele af klassehierarkiet kan kun træk blandes i forskellige dele.
- Du kan bruge abstrakt klasse, hvis du vil distribuere den i kompileret form og forventer, at eksterne grupper skriver klasser, der arver fra den.
Scala interviewspørgsmål til erfarne
11) Hvad er sagsklasser?
Case-klasser giver en rekursiv nedbrydningsmekanisme via mønstermatching, det er en regulær klasser, der eksporterer deres konstruktørparameter. Konstruktorparametrene for caseklasser kan tilgås direkte og behandles som offentlige værdier.
12) Hvad er brugen af tupler i scala?
Scala tuples kombinerer et fast antal genstande sammen, så de kan sendes rundt som hele. En tuple er uforanderlig og kan indeholde objekter med forskellige typer, i modsætning til en matrix eller liste.
13) Hvad er funktionskarry i Scala?
Currying er teknikken til at transformere en funktion, der tager flere argumenter, til en funktion, der tager et enkelt argument Mange af de samme teknikker som sprog som Haskell og LISP understøttes af Scala. Function currying er en af de mindst brugte og misforståede.
14) Hvad er implicitte parametre i Scala?
Implicit parameter er den måde, der gør det muligt at "finde" parametre for en metode. Det ligner standardparametre, men det har en anden mekanisme til at finde "standard"-værdien. Den implicitte parameter er en parameter til metode eller konstruktør, der er markeret som implicit. Dette betyder, at hvis en parameterværdi ikke er nævnt, vil compileren søge efter en "implicit" værdi defineret inden for et omfang.
15) Hvad er en lukning i Scala?
En lukning er en funktion, hvis returværdi afhænger af værdien af de variable, der er erklæret uden for funktionen.
16) Hvad er Monad i Scala?
En monade er et objekt, der omslutter et andet objekt. Man videregiver Monad-miniprogrammerne, altså funktioner, til at udføre datamanipulation af det underliggende objekt, i stedet for at manipulere objektet direkte. Monad vælger, hvordan programmet skal anvendes på det underliggende objekt.
17) Hvad er Scala anonym funktion?
I en kildekode kaldes anonyme funktioner 'funktionsliteraler', og under kørsel instansieres funktionsliteraler i objekter kaldet funktionsværdier. Scala giver en forholdsvis nem syntaks til at definere anonyme funktioner.
18) Forklar 'Scala højere orden' funktioner?
Scala tillader definition af højere ordens funktioner. Det er funktioner, der tager andre funktioner som parametre, eller hvis resultat er en funktion. I det følgende eksempel tager funktionen applicering () en anden funktion 'f' og en værdi 'v' og anvender funktion på v.
Eksempel:
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 ovenstående kode er kompileret og eksekveret, producerer den følgende resultat.
C:/>scalac Test.scala C:/>scala Test [10] C:/>
19) Hvad er forskellen mellem var og værdi?
I scala kan du definere en variabel ved at bruge enten a, val eller var nøgleord. Forskellen mellem val og var er, var er meget som java-erklæringen, men val er lidt anderledes. Vi kan ikke ændre referencen til at pege på en anden reference, når først variablen er erklæret ved hjælp af val. Variablen defineret ved hjælp af var nøgleord kan ændres og kan ændres et vilkårligt antal gange.
20) Hvad er muligheder, nogle og ingen i scala?
'Option' er en Scala generisk type, der enten kan være 'en eller anden' generisk værdi eller ingen. 'Queue' bruger det ofte til at repræsentere primitiver, der kan være nul.
21) Hvordan tilføjer jeg listen?
I scala for at tilføje til en liste, brug ":+” 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) Hvordan kan du formatere en streng?
For at formatere en streng, brug metoden .format (), i scala kan du bruge
Val formatted= “%s %i”.format (mystring.myInt)
23) Hvorfor foretrækker scala uforanderlighed?
Scala foretrækker uforanderlighed i design og bruger det i mange tilfælde som standard. Uforanderlighed kan hjælpe, når man beskæftiger sig med ligestillingsspørgsmål eller samtidige programmer.
24) Hvad er de fire typer scala identifikatorer?
De fire typer identifikatorer er
- Alfanumeriske identifikatorer
- Operator identifikatorer
- Blandede identifikatorer
- Bogstavelige identifikatorer
25) Hvad er de forskellige typer af Scala-literaler?
De forskellige typer bogstaver i scala er
- Heltal bogstaver
- Flydende komma bogstaver
- Boolske bogstaver
- Symbolbogstaver
- Tegnbogstaver
- String-bogstaver
- Multi-line strenge
Disse interviewspørgsmål vil også hjælpe i din viva(orals)