A 25 legnépszerűbb Scala interjúkérdés & Válaszok

Anonim

PDF letöltése

1) Magyarázza el, mi a Scala?

A Scala egy objektum funkcionális programozási és szkriptnyelv általános szoftveralkalmazások számára, amelyek célja a megoldások tömör kifejezése.

2) Mi az a „Scala készlet”? Milyen módszerek fejezik ki a műveleti halmazokat?

A Scala set azonos típusú páronként elemeinek gyűjteménye. A Scala készlet nem tartalmaz ismétlődő elemeket. Kétféle halmaz létezik, változtatható és változhatatlan.

3) Mi az a „Scala térkép”?

A Scala térkép kulcs- vagy értékpárok gyűjteménye. Kulcsa alapján bármilyen érték lekérhető. Az értékek nem egyediek, de a kulcsok egyediek a térképen.

4) Mi a Scala előnye?

  • Kevesebb hibára hajlamos funkcionális stílus
  • Kiváló karbantarthatóság és termelékenység
  • Nagy méretezhetőség
  • Nagy tesztelhetőség
  • Biztosítja az egyidejű programozás jellemzőit

5) Milyen szempontból jobb a Scala, mint a többi programozási nyelv?

  • A tömbök rendszeres 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ő viselkedésűek a tömbökkel.
  • A Scala megváltoztathatatlan „val” mint első osztályú nyelvi jellemző. A scala „val” hasonló a Java végső változókhoz. A tartalom mutálódhat, de a felső referencia megváltoztathatatlan.
  • A Scala az "if blokkolja", a "hozamhurok" és a "kód" zárójelben hagyja vissza az értéket. Előnyösebb, és feleslegessé válik egy külön háromhálós operátor használata.
  • A Singleton-nak egyetlen objektuma van, nem pedig a C ++ / Java / C # klasszikus statikus. Tisztább megoldás
  • Az állandó változhatatlan gyűjtemények az alapértelmezettek, és beépülnek a standard könyvtárba.
  • Anyanyelvei vannak és tömör kóddal rendelkezik
  • Nincs kazánlemez kódja

6) Melyek a Scala változók?

Az értékek és változók két alakzat, amelyek a Scalában találhatók. Az értékváltozó állandó és hozzárendelés után nem változtatható meg. Változhatatlan, míg egy reguláris változó viszont változtatható, és megváltoztathatja az értéket.

A kétféle változó az

var myVar: Int = 0;

val myVal: Int = 1;

7) Megemlíti a különbséget egy objektum és egy osztály között?

Az osztály a leírás definíciója. Meghatározza a típust a módszerek és az egyéb típusok összetétele szempontjából. Az osztály az objektum tervrajza. Míg az objektum szingulett, egy osztály egyedi példánya. A kód minden objektumához létrehoz egy névtelen osztályt, amely örökli azokat az osztályokat, amelyeket az objektumnak deklarált megvalósítandónak nyilvánított.

8) Mi a rekurziós farok a scalában?

A „rekurzió” egy olyan funkció, amely önmagát hívja. Egy olyan funkció, amely önmagát hívja, például egy „A” függvény, „B” függvényt hív, amely „C” függvényt hív. Ez egy olyan technika, amelyet gyakran használnak a funkcionális programozásban. Ahhoz, hogy a farok rekurzív legyen, a függvény visszahívásának kell lennie az utolsó végrehajtandó funkciónak.

9) Mi az a „scala tulajdonság” a scalában?

A „vonások” a támogatott módszerek aláírásával meghatározott objektumtípusok meghatározására szolgálnak. A Scala lehetővé teszi a részleges megvalósítást, de a tulajdonságoknak nem lehetnek konstruktőri paraméterei. Egy tulajdonság a módszerből és a mező meghatározásából áll, osztályokba keverve újra felhasználható.

10) Mikor használhatja a tulajdonságokat?

A tulajdonságok használatára nincs külön szabály, de van egy irányelv, amelyet figyelembe vehet.

  • Ha a viselkedést nem fogják újrafelhasználni, akkor tegye konkrét betűvé. Egyébként nem újrafelhasználható magatartás.
  • Annak érdekében, hogy örököljön belőle a Java kódban, absztrakt osztály használható.
  • Ha a hatékonyság a prioritás, akkor hajlamos az osztály használata felé
  • Legyen vonás, ha több és egymással nem összefüggő osztályban újra felhasználható. Az osztályhierarchia különböző részeiben csak a vonások keverhetők különböző részekre.
  • Használhatja az absztrakt osztályt, ha lefordított formában akarja terjeszteni, és azt várja, hogy a külső csoportok írják az öröklődő osztályokat.

11) Mi az esetosztály?

Az esetosztályok rekurzív bontási mechanizmust biztosítanak a minták illesztésével, ez egy szabályos osztály, amely exportálja a konstruktor paraméterüket. Az esetosztályok konstruktor paraméterei közvetlenül elérhetők, és nyilvános értékként kezelhetők.

12) Mi a hasznuk a skáláknak a scalában?

A Scala-tincsek rögzített számú elemet kombinálnak, így egészben továbbadhatók. A kettő megváltoztathatatlan, és egy tömbtől vagy listától eltérően különböző típusú objektumokat képes befogadni.

13) Mi a függvény curry a Scalában?

A curry a több argumentumot tartalmazó függvény átalakításának olyan technikája, amely egyetlen argumentumot vesz fel. A Scala támogatja a nyelvhez hasonló technikákat, mint a Haskell és a LISP. A funkció-curry az egyik legkevésbé használt és félreértett.

14) Melyek az implicit paraméterek a Scalában?

Az implicit paraméter az az módszer, amely lehetővé teszi a módszer 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 egy metódus vagy konstruktor paramétere, amelyet implicitként jelölünk meg. Ez azt jelenti, hogy ha egy paraméter értéke nincs megemlítve, akkor a fordító egy hatókörön belül definiált „implicit” értéket keres.

15) Mi a bezárás Scalában?

A bezárás olyan függvény, amelynek visszatérési értéke függ a függvényen kívül deklarált változók értékétől.

16) Mi a Monád Scalában?

A monád olyan tárgy, amely egy másik tárgyat beburkol. A Monad mini-programokat, azaz a függvényeket adja át az alapul szolgáló objektum adatkezelésének elvégzésére ahelyett, hogy közvetlenül az objektumot manipulálná. Monad megválasztja, hogyan alkalmazza a programot az alapul szolgáló objektumra.

17) Mi a Scala névtelen funkció?

Egy forráskódban az anonim függvényeket „függvény literáloknak” nevezzük, futás közben pedig a függvény literálokat objektumoknak nevezzük függvényértékeknek. 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ókat?

A Scala lehetővé teszi a magasabb rendű függvények meghatározását. Ezek olyan függvények, amelyek más funkciókat vesznek paraméterként, vagy amelyek eredménye egy függvény. A következő példában az Apply () függvény felvesz egy másik 'f' függvényt és egy 'v' értéket, és függvényt alkalmaz 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() + "]"
A fenti kód összeállításakor és végrehajtásakor a következő eredményt kapja.
C:/>scalac Test.scalaC:/>scala Test[10]C:/>

19) Mi a különbség a var és az érték között?

A scalában meghatározhat egy változót a, val vagy var kulcsszavak használatával. A val és a var közötti különbség a var hasonló a java deklarációhoz, de a val alig különbözik. Nem tudjuk megváltoztatni a hivatkozást más referenciára, ha a változót a val használatával deklaráltuk. A var kulcsszavakkal definiált változó változtatható és tetszőleges számú alkalommal megváltoztatható.

20) Milyen lehetőségek vannak, néhány és egy sem a scalában?

Az „Opció” egy Scala általános típus, amely lehet „valamilyen” általános érték vagy sem. A „Queue” gyakran használja azokat a primitíveket, amelyek nullák lehetnek.

21) Hogyan csatolhatom a listához?

A scala listában történő hozzáadásához használja a „

:+” single value
var myList = List.empty[String]myList :+= "a"myList :+= "b"myList :+= "c"use++ for appending a listvar myList = List.empty[String]myList ++= List("a", "b", "c")

22) Hogyan formázhat egy karakterláncot?

A karakterlánc formázásához használja a .format () metódust, a scala-ban használhatja

Val formázva = „% s% i” .formátum (mystring.myInt)

23) Miért preferálja a scala a változhatatlanságot?

A Scala a változatlanságot részesíti előnyben a tervezésben, és sok esetben alapértelmezésként használja. A megváltoztathatatlanság segíthet egyenlőségi kérdések vagy párhuzamos programok kezelésében.

24) Mi a négy típusú scala azonosító?

A négyféle azonosító az

  • Alfanumerikus azonosítók
  • Üzemeltető azonosítói
  • Vegyes azonosítók
  • Szó szerinti azonosítók

25) Melyek a Scala literálok különféle típusai?

A skálában a különféle literálok vannak

  • Egész literálok
  • Lebegőpontos literálok
  • Logikai literálok
  • Szimbólum literálok
  • Karakter literálok
  • Húr literálok
  • Többsoros húrok