Le 25 migliori domande e risposte all'intervista su Scala (PDF)

Ecco le domande e le risposte al colloquio di Scala per i candidati piรน freschi ed esperti che vogliono ottenere il lavoro dei loro sogni.

 

Domande e risposte all'intervista alla Scala per le matricole

1) Spiegare cos'รจ Scala?

Scala รจ un linguaggio di programmazione e scripting funzionale a oggetti per applicazioni software generali progettato per esprimere soluzioni in modo conciso.


2) Cos'รจ un 'set della Scala'? Quali sono i metodi attraverso i quali vengono espressi gli insiemi di operazioni?

Il set Scala รจ una raccolta di elementi a coppie dello stesso tipo. Il set Scala non contiene alcun elemento duplicato. Esistono due tipi di set, mutabili e immutabili.

๐Ÿ‘‰ Download gratuito del PDF: domande e risposte all'intervista alla Scala >>


3) Cos'รจ una 'mappa della Scala'?

La mappa Scala รจ una raccolta di coppie di chiavi o valori. In base alla sua chiave รจ possibile recuperare qualsiasi valore. I valori non sono univoci ma le chiavi sono univoche nella mappa.

Domande per l'intervista alla Scala


4) Qual รจ il vantaggio di Scala?

I vantaggi di Scala siamo:

  • Less stile funzionale soggetto a errori
  • Elevata manutenibilitร  e produttivitร 
  • Alta scalabilitร 
  • Elevata testabilitร 
  • Fornisce funzionalitร  di programmazione simultanea

5) In che modo Scala รจ migliore di altri linguaggi di programmazione?

  • Gli array utilizzano generici regolari, mentre in altri linguaggi i generici vengono aggiunti in un secondo momento e sono completamente separati ma hanno comportamenti sovrapposti con gli array.
  • Scala ha โ€œvalโ€ immutabile come caratteristica linguistica di prima classe. Il โ€œvalโ€ di scala รจ simile a Java variabili finali. I contenuti possono cambiare ma il riferimento principale รจ immutabile.
  • Scala consente di inserire "if block", "for-yield loop" e "code" tra parentesi graffe per restituire un valore. รˆ piรน preferibile ed elimina la necessitร  di un operatore ternario separato.
  • Singleton ha oggetti singleton anzichรฉ C++/Java/C# statico classico. รˆ una soluzione piรน pulita
  • Le raccolte immutabili persistenti sono quelle predefinite e integrate nella libreria standard.
  • Ha tuple native e un codice conciso
  • Non ha codice targa caldaia

6) Cosa sono le variabili Scala?

Valori e variabili sono due forme presenti in Scala. Una variabile valore รจ costante e non puรฒ essere modificata una volta assegnata. รˆ immutabile, mentre una variabile regolare, d'altra parte, รจ mutabile e puoi modificarne il valore.

I due tipi di variabili sono

var myVar : Int=0;

val myVal: Int=1;


7) Menzionare la differenza tra un oggetto e una classe?

Una classe รจ la definizione di una descrizione. Definisce un tipo in termini di metodi e composizione di altri tipi. Una classe รจ un progetto dell'oggetto. Mentre un oggetto รจ un singleton, un'istanza di una classe che รจ unica. Viene creata una classe anonima per ogni oggetto nel codice, eredita da qualunque classe tu abbia dichiarato oggetto da implementare.


8) Cos'รจ la coda di ricorsione in scala?

La "ricorsione" รจ una funzione che richiama se stessa. Una funzione che richiama se stessa, ad esempio, una funzione 'A' chiama la funzione 'B', che chiama la funzione 'C'. รˆ una tecnica utilizzata frequentemente nella programmazione funzionale. Affinchรฉ una coda ricorsiva, la richiamata alla funzione deve essere l'ultima funzione da eseguire.


9) Cos'รจ il 'tratto scala' in scala?

I "tratti" vengono utilizzati per definire i tipi di oggetto specificati dalla firma dei metodi supportati. Scala consente di essere parzialmente implementato ma i tratti potrebbero non avere parametri di costruzione. Un tratto รจ costituito da un metodo e da una definizione di campo, mescolandoli in classi puรฒ essere riutilizzato.


10) Quando puoi usare i tratti?

Non esiste una regola specifica quando puoi utilizzare i tratti, ma esiste una linea guida che puoi considerare.

  • Se il comportamento non verrร  riutilizzato, rendilo una classe concreta. In ogni caso non รจ un comportamento riutilizzabile.
  • Per ereditare da esso in Java codice, รจ possibile utilizzare una classe astratta.
  • Se lโ€™efficienza รจ una prioritร , propendi verso lโ€™utilizzo di una classe
  • Rendilo un tratto se puรฒ essere riutilizzato in classi multiple e non correlate. In parti diverse della gerarchia di classi solo i tratti possono essere mescolati in parti diverse.
  • Puoi utilizzare la classe astratta, se vuoi distribuirla in forma compilata e ti aspetti che gruppi esterni scrivano classi che ereditano da essa.

Domande di intervista Scala per esperti

11) Cosa sono le classi di casi?

Le classi Case forniscono un meccanismo di scomposizione ricorsiva tramite pattern match, si tratta di classi regolari che esportano i parametri del loro costruttore. รˆ possibile accedere direttamente ai parametri del costruttore delle classi case e vengono trattati come valori pubblici.


12) Qual รจ l'uso delle tuple in scala?

Le tuple Scala combinano insieme un numero fisso di elementi in modo che possano essere passati come interi. Una tupla รจ immutabile e puรฒ contenere oggetti di tipo diverso, a differenza di un array o di un elenco.


13) Cos'รจ la funzione currying in Scala?

Il currying รจ la tecnica di trasformazione di una funzione che accetta piรน argomenti in una funzione che accetta un singolo argomento. Molte delle stesse tecniche di linguaggi come Haskell e LISP sono supportate da Scala. La funzione currying รจ una delle meno usate e fraintese.


14) Cosa sono i parametri impliciti in Scala?

Il parametro implicito รจ il modo che consente di โ€œtrovareโ€ i parametri di un metodo. รˆ simile ai parametri predefiniti, ma ha un meccanismo diverso per trovare il valore "predefinito". Il parametro implicito รจ un parametro del metodo o del costruttore contrassegnato come implicito. Ciรฒ significa che se il valore di un parametro non viene menzionato, il compilatore cercherร  un valore "implicito" definito all'interno di un ambito.


15) Cos'รจ una chiusura a Scala?

Una chiusura รจ una funzione il cui valore restituito dipende dal valore delle variabili dichiarate all'esterno della funzione.


16) Cos'รจ la Monade in Scala?

Una monade รจ un oggetto che avvolge un altro oggetto. Si passano i mini-programmi Monad, cioรจ le funzioni, per eseguire la manipolazione dei dati dell'oggetto sottostante, invece di manipolare direttamente l'oggetto. Monad sceglie come applicare il programma all'oggetto sottostante.


17) Cos'รจ la funzione anonima di Scala?

In un codice sorgente, le funzioni anonime sono chiamate "valori letterali di funzione" e in fase di esecuzione, i valori letterali di funzione vengono istanziati in oggetti chiamati valori di funzione. Scala fornisce una sintassi relativamente semplice per definire funzioni anonime.


18) Spiegare le funzioni della 'Scala di ordine superiore'?

Scala consente la definizione di funzioni di ordine superiore. Si tratta di funzioni che prendono altre funzioni come parametri o il cui risultato รจ una funzione. Nell'esempio seguente, apply() function prende un'altra funzione 'f' e un valore 'v' e applica la funzione a v.

Esempio:

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

Quando il codice sopra riportato viene compilato ed eseguito, produce il seguente risultato.

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

19) Qual รจ la differenza tra var e valore?

In scala, puoi definire una variabile utilizzando le parole chiave a, val o var. La differenza tra val e var รจ che var รจ molto simile alla dichiarazione Java, ma val รจ leggermente diverso. Non possiamo modificare il riferimento per puntare a un altro riferimento, una volta che la variabile รจ stata dichiarata utilizzando val. La variabile definita utilizzando le parole chiave var รจ modificabile e puรฒ essere modificata un numero qualsiasi di volte.


20) Cosa sono l'opzione, alcuni e nessuno in scala?

'Option' รจ un tipo generico di Scala che puรฒ essere 'qualche' valore generico oppure nessuno. 'Queue' lo usa spesso per rappresentare primitive che possono essere nulle.


21) Come faccio ad aggiungermi alla lista?

In scala per aggiungere a un elenco, utilizzare ":+โ€ 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) Come si formatta una stringa?

Per formattare una stringa, utilizzare il metodo .format(), in scala รจ possibile utilizzare

Val formatted= โ€œ%s %iโ€.format (mystring.myInt)


23) Perchรฉ scala preferisce l'immutabilitร ?

Scala preferisce l'immutabilitร  nel design e in molti casi la utilizza come impostazione predefinita. Lโ€™immutabilitร  puรฒ aiutare quando si affrontano questioni di uguaglianza o programmi concorrenti.


24) Quali sono i quattro tipi di identificatori di scala?

I quattro tipi di identificatori sono

  • Identificatori alfanumerici
  • Operaidentificatori
  • Identificatori misti
  • Identificatori letterali

25) Quali sono i diversi tipi di letterali Scala?

I diversi tipi di letterali in scala sono

  • Letterali interi
  • Letterali in virgola mobile
  • Letterali booleani
  • Letterali simbolo
  • Letterali dei caratteri
  • Valori letterali stringa
  • Stringhe multilinea

Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)

Riassumi questo post con: