Top 25 Scala-interviewvragen en antwoorden (PDF)
Hier zijn Scala-sollicitatievragen en -antwoorden voor zowel nieuwere als ervaren kandidaten om hun droombaan te krijgen.
Scala-interviewvragen en -antwoorden voor eerstejaarsstudenten
1) Leg uit wat Scala is?
Scala is een objectfunctionele programmeer- en scripttaal voor algemene softwaretoepassingen die is ontworpen om oplossingen op een beknopte manier uit te drukken.
2) Wat is een 'Scala set'? Wat zijn methoden waarmee operatiesets worden uitgedrukt?
Scala-set is een verzameling van paargewijze elementen van hetzelfde type. Scala-set bevat geen dubbele elementen. Er zijn twee soorten sets, veranderlijk en onveranderlijk.
👉 Gratis pdf-download: vragen en antwoorden over Scala-interviews >>
3) Wat is een 'Scala-kaart'?
Scala-kaart is een verzameling sleutel- of waardeparen. Op basis van de sleutel kan elke waarde worden opgehaald. Waarden zijn niet uniek, maar sleutels zijn uniek op de kaart.
4) Wat is het voordeel van Scala?
De voordelen van Scala zijn:
- Less foutgevoelige functionele stijl
- Hoge onderhoudbaarheid en productiviteit
- Hoge schaalbaarheid
- Hoge testbaarheid
- Biedt functies voor gelijktijdig programmeren
5) In welke opzichten is Scala beter dan andere programmeertalen?
- De arrays maken gebruik van gewone generieke geneesmiddelen, terwijl in andere talen generieke geneesmiddelen als bijzaak worden toegevoegd en volledig gescheiden zijn, maar overlappend gedrag vertonen met arrays.
- Scala heeft een onveranderlijke “val” als een eersteklas taalkenmerk. De “val” van scala is vergelijkbaar met Java laatste variabelen. De inhoud kan muteren, maar de topreferentie is onveranderlijk.
- Scala laat 'if blocks', 'for-yield loops' en 'code' tussen accolades een waarde retourneren. Dit is beter en elimineert de noodzaak voor een aparte ternaire operator.
- Singleton heeft singleton-objecten in plaats van C++/Java/ C# klassiek statisch. Het is een schonere oplossing
- Persistente onveranderlijke verzamelingen zijn de standaard en zijn ingebouwd in de standaardbibliotheek.
- Het heeft native tupels en een beknopte code
- Het heeft geen ketelplaatcode
6) Wat zijn de Scala-variabelen?
Waarden en variabelen zijn twee vormen die in Scala voorkomen. Een waardevariabele is constant en kan na toewijzing niet meer worden gewijzigd. Het is onveranderlijk, terwijl een reguliere variabele daarentegen veranderlijk is en u de waarde kunt wijzigen.
De twee soorten variabelen zijn
var myVar : Int=0;
val myVal: Int=1;
7) Noem het verschil tussen een object en een klasse?
Een klasse is een definitie voor een beschrijving. Het definieert een type in termen van methoden en samenstelling van andere typen. Een klasse is een blauwdruk van het object. Terwijl een object een singleton is, een instantie van een klasse die uniek is. Voor elk object in de code wordt een anonieme klasse gemaakt, die overerft van de klassen waarvan u heeft aangegeven dat het object moet worden geïmplementeerd.
8) Wat is recursiestaart in scala?
'Recursie' is een functie die zichzelf aanroept. Een functie die zichzelf aanroept, bijvoorbeeld, een functie 'A' roept functie 'B' aan, die de functie 'C' aanroept. Het is een techniek die vaak wordt gebruikt bij functioneel programmeren. Om een staart recursief te maken, moet de terugroep naar de functie de laatste functie zijn die moet worden uitgevoerd.
9) Wat is 'scala-eigenschap' in scala?
'Traits' worden gebruikt om objecttypen te definiëren die zijn gespecificeerd door de handtekening van de ondersteunde methoden. Scala kan gedeeltelijk worden geïmplementeerd, maar eigenschappen hebben mogelijk geen constructorparameters. Een eigenschap bestaat uit een methode- en velddefinitie, door deze in klassen te mengen kan deze hergebruikt worden.
10) Wanneer kun je eigenschappen gebruiken?
Er is geen specifieke regel wanneer je eigenschappen mag gebruiken, maar er is wel een richtlijn waarmee je rekening kunt houden.
- Als het gedrag niet hergebruikt wordt, maak er dan een concrete klasse van. Het is hoe dan ook geen herbruikbaar gedrag.
- Om er van te erven in Java code, kan een abstracte klasse worden gebruikt.
- Als efficiëntie een prioriteit is, neig dan naar het gebruik van een klasse
- Maak er een eigenschap van als deze in meerdere en niet-gerelateerde klassen kan worden hergebruikt. In verschillende delen van de klassenhiërarchie kunnen alleen eigenschappen in verschillende delen worden gemengd.
- Je kunt abstracte klassen gebruiken als je deze in gecompileerde vorm wilt distribueren en verwacht dat externe groepen klassen schrijven die ervan overerven.
Scala-interviewvragen voor ervaren
11) Wat zijn casusklassen?
Case-klassen bieden een recursief decompositiemechanisme via patroonmatching. Het zijn reguliere klassen die hun constructorparameter exporteren. De constructorparameters van case-klassen zijn rechtstreeks toegankelijk en worden behandeld als publieke waarden.
12) Wat is het gebruik van tupels in scala?
Scala-tupels combineren een vast aantal items zodat ze als geheel kunnen worden doorgegeven. Een tuple is onveranderlijk en kan objecten van verschillende typen bevatten, in tegenstelling tot een array of lijst.
13) Wat is functiecurry in Scala?
Currying is de techniek waarmee een functie die meerdere argumenten accepteert, wordt omgezet in een functie die één argument accepteert. Veel van dezelfde technieken als taal, zoals Haskell en LISP, worden ondersteund door Scala. Functiecurrying is een van de minst gebruikte en onbegrepen methoden.
14) Wat zijn impliciete parameters in Scala?
Impliciete parameter is de manier waarop parameters van een methode kunnen worden “gevonden”. Het is vergelijkbaar met standaardparameters, maar heeft een ander mechanisme voor het vinden van de ‘standaard’-waarde. De impliciete parameter is een parameter voor de methode of constructor die als impliciet is gemarkeerd. Dit betekent dat als er geen parameterwaarde wordt vermeld, de compiler zal zoeken naar een “impliciete” waarde die binnen een bereik is gedefinieerd.
15) Wat is een afsluiting in Scala?
Een afsluiting is een functie waarvan de retourwaarde afhangt van de waarde van de variabelen die buiten de functie zijn gedeclareerd.
16) Wat is Monade in Scala?
Een monade is een object dat een ander object omhult. U geeft de Monad-miniprogramma's, dat wil zeggen functies, door om de gegevensmanipulatie van het onderliggende object uit te voeren, in plaats van het object rechtstreeks te manipuleren. Monad kiest hoe het programma op het onderliggende object wordt toegepast.
17) Wat is de anonieme Scala-functie?
In een broncode worden anonieme functies 'functieliterals' genoemd en tijdens runtime worden functieliterals geïnstantieerd in objecten die functiewaarden worden genoemd. Scala biedt een relatief eenvoudige syntaxis voor het definiëren van anonieme functies.
18) Verklaar 'Scala hogere orde'-functies?
Scala staat de definitie van hogere orde functies toe. Dit zijn functies die andere functies als parameters nemen, of waarvan het resultaat een functie is. In het volgende voorbeeld neemt de functie apply () een andere functie 'f' en een waarde 'v' en past de functie toe op v.
Voorbeeld:
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() + "]"
Wanneer de bovenstaande code wordt gecompileerd en uitgevoerd, levert dit het volgende resultaat op.
C:/>scalac Test.scala C:/>scala Test [10] C:/>
19) Wat is het verschil tussen var en waarde?
In scala kunt u een variabele definiëren met behulp van de trefwoorden a, val of var. Het verschil tussen val en var is dat var veel lijkt op Java-declaratie, maar val is weinig anders. We kunnen de verwijzing niet wijzigen om naar een andere verwijzing te verwijzen, zodra de variabele is gedeclareerd met val. De variabelen die zijn gedefinieerd met behulp van var-trefwoorden zijn veranderlijk en kunnen een willekeurig aantal keren worden gewijzigd.
20) Wat zijn opties, sommige en geen in scala?
'Optie' is een generiek Scala-type dat een 'enige' generieke waarde of geen kan zijn. 'Wachtrij' gebruikt het vaak om primitieven weer te geven die mogelijk nul zijn.
21) Hoe kan ik iets aan de lijst toevoegen?
Gebruik in scala om aan een lijst toe te voegen “:+” 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) Hoe kun je een string opmaken?
Om een string te formatteren, gebruik je de .format () methode, in scala die je kunt gebruiken
Val formatted= “%s %i”.format (mystring.myInt)
23) Waarom geeft scala de voorkeur aan onveranderlijkheid?
Scala geeft de voorkeur aan onveranderlijkheid in ontwerp en gebruikt dit in veel gevallen als standaard. Onveranderlijkheid kan helpen bij het omgaan met gelijkheidskwesties of gelijktijdige programma's.
24) Wat zijn de vier soorten scala-identifiers?
De vier soorten identificatiegegevens zijn
- Alfanumerieke identificatiegegevens
- Operator-ID's
- Gemengde identificatiegegevens
- Letterlijke identificatiegegevens
25) Wat zijn de verschillende soorten Scala-letterwoorden?
De verschillende soorten letterlijke waarden in scala zijn
- Integer-letterlijke waarden
- Letterlijke met drijvende komma
- Booleaanse letterlijke tekens
- Letterlijke symbolen
- Letterlijke tekens
- Letterlijke tekenreeksen
- Tekenreeksen met meerdere regels
Deze interviewvragen zullen ook helpen bij je viva (oralen)