A 25 legnépszerűbb Scala-interjú kérdés és válasz (PDF)
Íme a Scala interjú kérdései és válaszai friss és tapasztalt jelöltek számára, hogy megszerezzék álmaik állását.
Scala interjúkérdések és válaszok pályakezdőknek
1) Magyarázza el, mi az a Scala?
A Scala egy objektumfunkcionális programozási és szkriptnyelv általános szoftveralkalmazásokhoz, amelyek célja a megoldások tömör kifejezése.
2) Mi az a „Scala készlet”? Melyek azok a módszerek, amelyeken keresztül a műveleti halmazok kifejeződnek?
A Scala készlet azonos típusú páronkénti elemek gyűjteménye. A Scala készlet nem tartalmaz ismétlődő elemeket. Kétféle halmaz létezik, változtatható és megváltoztathatatlan.
👉 Ingyenes PDF letöltés: Scala interjúkérdések és válaszok >>
3) Mi az a „Scala térkép”?
A Scala térkép kulcs- vagy értékpárok gyűjteménye. A kulcsa alapján bármilyen érték lekérhető. Az értékek nem egyediek, de a kulcsok egyediek a térképen.
4) Mi az előnye a Scalának?
A Scala vannak:
- Less hibára hajlamos funkcionális stílus
- Magas karbantarthatóság és termelékenység
- Nagy skálázhatóság
- Magas tesztelhetőség
- Párhuzamos programozási funkciókat biztosít
5) Miben jobb a Scala más programozási nyelveknél?
- A tömbök szokványos generikusokat használnak, míg más nyelveken a generikusokat utólagos gondolatként rögzítik, és teljesen különállóak, de átfedésben vannak a tömbökkel.
- A Scala első osztályú nyelvi funkciója a megváltoztathatatlan „val”. A scala „val” hasonló a Java végső változók. A tartalom változhat, de a felső hivatkozás megváltoztathatatlan.
- A Scala lehetővé teszi az „if blocks”, a „for-yield loop” és a „code” szót kapcsos zárójelben, hogy értéket adjanak vissza. Ez előnyösebb, és szükségtelenné teszi a különálló hármas operátort.
- A Singletonnak inkább egyszemélyes objektumai vannak, mintsem C++/Java/ C# klasszikus statikus. Ez egy tisztább megoldás
- A perzisztens megváltoztathatatlan gyűjtemények az alapértelmezettek, és be vannak építve a szabványos könyvtárba.
- Natív sorai és tömör kódja van
- Nincs rajta kazántábla kód
6) Mik azok a Scala változók?
Értékek és változók két alakzat található a Scalában. Az értékváltozó állandó, és hozzárendelése után nem módosítható. Ez változtathatatlan, míg egy reguláris változó viszont változtatható, és megváltoztatható az érték.
A kétféle változó az
var myVar : Int=0;
val myVal: Int=1;
7) Említse meg a különbséget egy objektum és egy osztály között?
Az osztály egy leírás definíciója. Egy típust a módszerek és más típusok összetétele szempontjából határoz meg. Az osztály az objektum tervrajza. Míg egy objektum egy egyedi, egy osztály példánya, amely egyedi. A kód minden objektumához névtelen osztály jön létre, amely örököl minden osztályból, amelyet objektum megvalósítására deklarált.
8) Mi az a rekurziós farok a scala-ban?
A „rekurzió” egy függvény, amely meghívja magát. Egy önmagát meghívó függvény, például egy 'A' függvény, a 'B' függvényt hívja meg, amely a 'C' függvényt hívja meg. Ez egy olyan technika, amelyet gyakran használnak a funkcionális programozásban. Ahhoz, hogy egy farok rekurzív legyen, a függvény visszahívásának kell az utolsó végrehajtandó függvénynek lennie.
9) Mit jelent a „scala vonás” a scala nyelvben?
A „jellemzők” a támogatott metódusok aláírása által meghatározott objektumtípusok meghatározására szolgálnak. A Scala lehetővé teszi a részleges megvalósítást, de előfordulhat, hogy a tulajdonságoknak nem lehetnek konstruktor paraméterei. Egy tulajdonság metódusból és meződefinícióból áll, ezeket osztályokba keverve újra felhasználható.
10) Mikor használhatod a tulajdonságokat?
Nincs konkrét szabály, hogy mikor használhatsz tulajdonságokat, de van egy iránymutatás, amelyet figyelembe vehetsz.
- Ha a viselkedést nem használjuk fel újra, akkor legyen konkrét osztály. Mindenesetre ez nem újrafelhasználható viselkedés.
- Hogy örököljön belőle Java kódot, egy absztrakt osztály használható.
- Ha a hatékonyság a prioritás, akkor hajlítson egy osztály használatára
- Legyen tulajdonsága, ha esetleg több, egymástól független osztályban újra felhasználható. Az osztályhierarchia különböző részein csak a tulajdonságok keverhetők különböző részekre.
- Absztrakt osztályt használhatunk, ha lefordított formában szeretnénk terjeszteni, és elvárjuk, hogy a külső csoportok ebből öröklő osztályokat írjanak.
Scala interjúkérdések tapasztaltaknak
11) Mi az a Case Classes?
Az esetosztályok rekurzív dekompozíciós mechanizmust biztosítanak mintaillesztésen keresztül, ez egy reguláris osztály, amely exportálja a konstruktor paraméterét. Az esetosztályok konstruktor paraméterei közvetlenül elérhetők és nyilvános értékként kezelhetők.
12) Mire használhatók a sorok a scala-ban?
A Scala sorok meghatározott számú elemet egyesítenek, így azok egészként továbbíthatók. A tuple változatlan, és különböző típusú objektumokat tartalmazhat, ellentétben a tömbökkel vagy a listákkal.
13) Mi az a függvény currying a Scalában?
A currying a több argumentumot felvevő függvény egyetlen argumentumot felvevő függvényté alakításának technikája. A Scala sok olyan technikát támogat, mint a Haskell és a LISP. A funkciós curry az egyik legkevésbé használt és félreértett.
14) Mik azok az implicit paraméterek a Scalában?
Az implicit paraméter az a mód, amely lehetővé teszi egy metódus paramétereinek „megtalálását”. Hasonló az alapértelmezett paraméterekhez, de más mechanizmussal rendelkezik az „alapértelmezett” érték megtalálásához. Az implicit paraméter a metódushoz vagy a konstruktorhoz tartozó paraméter, amely implicitként van megjelölve. Ez azt jelenti, hogy ha egy paraméterérték nincs megemlítve, akkor a fordító egy hatókörön belül meghatározott „implicit” értéket fog keresni.
15) Mit jelent a bezárás a Scalában?
A lezárás olyan függvény, amelynek visszatérési értéke a függvényen kívül deklarált változók értékétől függ.
16) Mi az a Monad a Scalában?
A monád egy olyan tárgy, amely egy másik tárgyat beburkol. A Monad miniprogramokat, azaz függvényeket adja át az alapul szolgáló objektum adatkezelésének végrehajtására, ahelyett, hogy közvetlenül manipulálná az objektumot. A Monad kiválasztja, hogyan alkalmazza a programot az alapul szolgáló objektumra.
17) Mi az a Scala névtelen funkciója?
A forráskódban az anonim függvényeket „függvényliteráloknak” nevezik, és futási időben a függvényliterálokat függvényértékeknek nevezett objektumokká példányosítják. A Scala viszonylag egyszerű szintaxist biztosít az anonim függvények meghatározásához.
18) Magyarázza el a „Scala magasabb rendű” funkcióit?
A Scala lehetővé teszi a magasabb rendű függvények meghatározását. Ezek olyan függvények, amelyek más függvényeket vesznek fel paraméterként, vagy amelyek eredménye egy függvény. A következő példában az apply () függvény egy másik „f” függvényt és egy „v” értéket vesz fel, és alkalmazza a függvényt v-re.
Példa:
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() + "]"
Amikor a fenti kódot lefordítják és végrehajtják, a következő eredményt produkálja.
C:/>scalac Test.scala C:/>scala Test [10] C:/>
19) Mi a különbség a var és az érték között?
A scala-ban a változókat a, val vagy var kulcsszavakkal definiálhatja. A val és a var közötti különbség az, hogy a var hasonló a java deklarációhoz, de a val alig különbözik. A hivatkozást nem módosíthatjuk úgy, hogy egy másik hivatkozásra mutasson, ha a változót a val használatával deklaráltuk. A var kulcsszavakkal meghatározott változók változtathatók, és tetszőleges számú alkalommal módosíthatók.
20) Mik az opciók, néhány és egy sem a scala alkalmazásban?
Az „Opció” a Scala általános típusa, amely lehet „valamilyen” általános érték, vagy nem. A 'Queue' gyakran használja olyan primitívek ábrázolására, amelyek nullák lehetnek.
21) Hogyan fűzhetek hozzá a listához?
A listához a scala programban használja a „:+” 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) Hogyan lehet formázni egy karakterláncot?
Karakterlánc formázásához használja a .format () metódust, scala-ban használhatja
Val formatted= “%s %i”.format (mystring.myInt)
23) Miért részesíti előnyben a scala a megváltoztathatatlanságot?
A Scala a változatlanságot részesíti előnyben a tervezésben, és sok esetben ezt használja alapértelmezettként. A megváltoztathatatlanság segíthet az egyenlőség kérdéseinek vagy a párhuzamos programok kezelésében.
24) Mi a négyféle scala azonosító?
Az azonosítók négy típusa a következő
- Alfa-numerikus azonosítók
- Operator azonosítók
- Vegyes azonosítók
- Szó szerinti azonosítók
25) Melyek a Scala literálok különböző típusai?
A scala különböző típusú literáljai
- Egész literálok
- Lebegőpontos literálok
- Logikai literálok
- Szimbólum literálok
- Karakter literálok
- String literálok
- Többsoros húrok
Ezek az interjúkérdések a viva-ban is segítenek.