25 parasta Scala-haastattelun kysymystä ja vastausta (PDF)

Tässä Scala-haastattelukysymyksiä ja vastauksia tuoreemmille ja kokeneemmille hakijoille unelmatyönsä saamiseksi.

 

Scala-haastattelukysymyksiä ja vastauksia fuksilaisille

1) Selitä mikä Scala on?

Scala on oliotoiminnallinen ohjelmointi- ja komentosarjakieli yleisille ohjelmistosovelluksille, jotka on suunniteltu ilmaisemaan ratkaisuja ytimekkäästi.


2) Mikä on "Scala-setti"? Mitkä ovat menetelmiä, joilla operaatiojoukot ilmaistaan?

Scala-sarja on kokoelma samantyyppisiä parittaisia ​​elementtejä. Scala-sarja ei sisällä päällekkäisiä elementtejä. On olemassa kahdenlaisia ​​joukkoja, muuttuvia ja muuttumattomia.

👉 Ilmainen PDF-lataus: Scala-haastattelun kysymyksiä ja vastauksia >>


3) Mikä on "Scala-kartta"?

Scala-kartta on kokoelma avain- tai arvopareja. Sen avaimen perusteella mikä tahansa arvo voidaan hakea. Arvot eivät ole ainutlaatuisia, mutta avaimet ovat ainutlaatuisia kartassa.

Scalan haastattelukysymykset


4) Mikä on Scalan etu?

Edut Scala ovat:

  • Less virhealtis toiminnallinen tyyli
  • Korkea huollettavuus ja tuottavuus
  • Suuri skaalautuvuus
  • Korkea testattavuus
  • Tarjoaa rinnakkaisen ohjelmoinnin ominaisuuksia

5) Millä tavoin Scala on muita ohjelmointikieliä parempi?

  • Taulukot käyttävät tavallisia geneerejä, kun taas toisella kielellä geneeriset tuotteet on pultattu kiinni jälkikäteen ja ovat täysin erillisiä, mutta niillä on päällekkäinen käyttäytyminen taulukoiden kanssa.
  • Scalassa on muuttumaton "val" ensiluokkaisena kieliominaisuudena. Scalan "val" on samanlainen kuin Java lopulliset muuttujat. Sisältö saattaa muuttua, mutta pääviittaus on muuttumaton.
  • Scala sallii "if blocks", "for-yield loops" ja "code" aaltosulkeissa palauttaakseen arvon. Se on edullisempi ja eliminoi erillisen kolmiosaisen operaattorin tarpeen.
  • Singletonilla on pikemminkin singleton-objekteja C++/Java/ C# klassinen staattinen. Se on puhtaampi ratkaisu
  • Pysyvät muuttumattomat kokoelmat ovat oletusarvoja, ja ne on rakennettu vakiokirjastoon.
  • Siinä on alkuperäiset monikot ja ytimekäs koodi
  • Siinä ei ole kattilalevykoodia

6) Mitä ovat Scala-muuttujat?

Arvot ja muuttujat ovat kaksi muotoa, jotka tulevat Scalassa. Arvomuuttuja on vakio, eikä sitä voi muuttaa, kun se on määritetty. Se on muuttumaton, kun taas tavallinen muuttuja toisaalta on muuttuva, ja voit muuttaa arvoa.

Kaksi muuttujatyyppiä ovat

var myVar : Int=0;

val myVal: Int=1;


7) Mainitse ero objektin ja luokan välillä?

Luokka on määritelmä kuvaukselle. Se määrittelee tyypin menetelmien ja muiden tyyppien koostumuksen perusteella. Luokka on objektin suunnitelma. Vaikka objekti on singleton, luokan esiintymä, joka on ainutlaatuinen. Anonyymi luokka luodaan jokaiselle koodin objektille, se perii kaikista luokista, jotka olet ilmoittanut objektin toteutettavaksi.


8) Mikä on rekursiohäntä scalassa?

'Rekursio' on funktio, joka kutsuu itseään. Itseään kutsuva funktio, esimerkiksi funktio 'A', kutsuu funktiota 'B', joka kutsuu funktiota 'C'. Se on tekniikka, jota käytetään usein toiminnallisessa ohjelmoinnissa. Jotta häntärekursiivista saataisiin aikaan, takaisinkutsu funktioon on oltava viimeinen suoritettava toiminto.


9) Mikä on "scala ominaisuus" scalassa?

Piirteitä käytetään tuettujen menetelmien allekirjoituksen määrittämien objektityyppien määrittämiseen. Scala sallii osittaisen toteutuksen, mutta ominaisuuksilla ei välttämättä ole konstruktoriparametreja. Ominaisuus koostuu metodista ja kenttämäärittelystä, joita yhdistämällä luokkiin sitä voidaan käyttää uudelleen.


10) Milloin voit käyttää ominaisuuksia?

Ei ole olemassa erityistä sääntöä, milloin voit käyttää ominaisuuksia, mutta on ohje, jota voit harkita.

  • Jos käyttäytymistä ei käytetä uudelleen, tee siitä konkreettinen luokka. Se ei kuitenkaan ole uudelleenkäytettävää toimintaa.
  • Perikseen siitä sisään Java koodia, voidaan käyttää abstraktia luokkaa.
  • Jos tehokkuus on etusijalla, nojaa luokan käyttöön
  • Tee siitä ominaisuus, jos sitä voidaan käyttää uudelleen useissa ja toisiinsa liittymättömissä luokissa. Luokkahierarkian eri osissa vain piirteitä voidaan sekoittaa eri osiin.
  • Voit käyttää abstraktia luokkaa, jos haluat jakaa sen käännetyssä muodossa ja odottaa ulkopuolisten ryhmien kirjoittavan siitä periviä luokkia.

Scala-haastattelukysymyksiä kokeneille

11) Mitä ovat tapausluokat?

Case-luokat tarjoaa rekursiivisen hajottelumekanismin kuvion sovituksen kautta, se on tavallinen luokat, jotka vievät konstruktoriparametrinsa. Tapausluokkien konstruktoriparametreihin pääsee suoraan ja niitä käsitellään julkisina arvoina.


12) Mitä hyötyä on monikoista scalassa?

Scala-tupelit yhdistävät kiinteän määrän kohteita yhteen, jotta ne voidaan välittää kokonaisina. Tuple on muuttumaton ja voi sisältää erityyppisiä objekteja, toisin kuin matriisi tai luettelo.


13) Mitä on funktio currying Scalassa?

Currying on tekniikka, jolla useita argumentteja käyttävä funktio muunnetaan funktioksi, joka ottaa yhden argumentin. Scala tukee monia samoja tekniikoita kuin kieli, kuten Haskell ja LISP. Funktiocurrying on yksi vähiten käytetyistä ja väärinymmärretyistä.


14) Mitä ovat implisiittiset parametrit Scalassa?

Implisiittinen parametri on tapa, jolla menetelmän parametrit "löytetään". Se on samanlainen kuin oletusparametrit, mutta sillä on erilainen mekanismi "oletusarvon" löytämiseksi. Implisiittinen parametri on menetelmän tai konstruktorin parametri, joka on merkitty implisiittiseksi. Tämä tarkoittaa, että jos parametrin arvoa ei mainita, kääntäjä etsii "implisiittistä" arvoa, joka on määritelty laajuudessa.


15) Mikä on sulkeminen Scalassa?

Sulkeminen on funktio, jonka palautusarvo riippuu funktion ulkopuolella ilmoitettujen muuttujien arvosta.


16) Mikä on Monad Scalassa?

Monadi on esine, joka ympäröi toisen kohteen. Ohitat Monad-miniohjelmat, eli funktiot, suorittamaan taustalla olevan objektin tietojen käsittelyn sen sijaan, että manipuloisit objektia suoraan. Monad valitsee, kuinka ohjelmaa sovelletaan alla olevaan objektiin.


17) Mikä on Scalan anonyymi toiminto?

Lähdekoodissa anonyymejä funktioita kutsutaan "funktioliteraaaleiksi", ja ajon aikana funktioliteraaleja instantioidaan objekteiksi, joita kutsutaan funktioarvoiksi. Scala tarjoaa suhteellisen helpon syntaksin anonyymien funktioiden määrittämiseen.


18) Selitä "Scalan korkeamman asteen" toiminnot?

Scala mahdollistaa korkeamman asteen funktioiden määrittelyn. Nämä ovat funktioita, jotka ottavat muita toimintoja parametreiksi tai joiden tulos on funktio. Seuraavassa esimerkissä Apply () -funktio ottaa toisen funktion 'f' ja arvon 'v' ja käyttää funktiota funktioon v.

Esimerkiksi:

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() + "]"

Kun yllä oleva koodi käännetään ja suoritetaan, se tuottaa seuraavan tuloksen.

C:/>scalac Test.scala
C:/>scala Test
[10]
C:/>

19) Mitä eroa on var:n ja arvon välillä?

Scalassa voit määrittää muuttujan joko a-, val- tai var-avainsanoilla. Ero val:n ja var:n välillä on, var on paljon kuin Java-ilmoitus, mutta val on vähän erilainen. Emme voi muuttaa viittausta osoittamaan toista viittausta, kun muuttuja on ilmoitettu komennolla val. Var-avainsanoilla määritetyt muuttujat ovat muuttuvia ja niitä voidaan muuttaa kuinka monta kertaa tahansa.


20) Mitkä ovat vaihtoehdot, jotkut ja ei mitään scalassa?

"Optio" on Scalan yleinen tyyppi, joka voi olla joko "jokin" yleinen arvo tai ei mitään. 'Queue' käyttää sitä usein edustamaan primitiivejä, jotka voivat olla nolla.


21) Kuinka lisään luetteloon?

Scalassa voit lisätä luetteloon käyttämällä ":+” 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) Kuinka voit muotoilla merkkijonon?

Muotoile merkkijono käyttämällä .format () -menetelmää, jota voit käyttää scalassa

Val formatted= “%s %i”.format (mystring.myInt)


23) Miksi scala suosii muuttumattomuutta?

Scala suosii suunnittelussa muuttumattomuutta ja käyttää sitä monissa tapauksissa oletuksena. Muuttumattomuus voi auttaa tasa-arvokysymyksiä tai rinnakkaisia ​​ohjelmia käsiteltäessä.


24) Mitkä ovat neljä scala-tunnisteen tyyppiä?

Tunnisteita on neljä tyyppiä

  • Alfa-numeeriset tunnisteet
  • Operator-tunnisteita
  • Sekalaiset tunnisteet
  • Kirjaimelliset tunnisteet

25) Mitä eri Scala-literaaaleja on?

Scalan erityyppiset literaalit ovat

  • Kirjainten kokonaisluku
  • Liukuluku literaalit
  • Boolen kirjaimet
  • Symbolikirjaimet
  • Hahmolitraalit
  • Merkkijono literaalit
  • Multi-Line jouset

Nämä haastattelukysymykset auttavat myös vivassasi (suullinen)