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.

Scala interjúkérdések


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.