Come vengono intervistati i programmatori Scala? Quali sono gli aspetti che l'intervistatore cerca quando intervista uno sviluppatore Scala?
Come vengono intervistati i programmatori Scala? Quali sono gli aspetti che l'intervistatore cerca quando intervista uno sviluppatore Scala?
Risposte:
Innanzitutto, direi, pensa al motivo per cui hai bisogno di uno sviluppatore Scala. È davvero Scala che ti serve? Pensa a ciò che viene fornito con Scala (IDE, strumenti di compilazione, librerie, un altro livello di complessità sopra Java ecc ...). Torna alla domanda Comprende due aspetti: comprensione teorica e abilità pratiche. non lasciarti ingannare dalla "teoria". È importante in Scala quanto la praticità è importante in Java.
Vedi se riescono a trasformare un frammento di codice imperativo in una buona alternativa funzionale (vedi sopra). Prova un ciclo che implementa della matematica o qualcosa del genere lungo queste linee.
Trova il loro gusto per lo stile funzionale vs imperativo. Optare per uno stile più funzionale, ma attenzione che non raggiunga gli estremi dal lato dello sviluppatore.
Guarda quanto sanno sulle librerie Scala (ad es. Lift, invio ecc.) E sugli strumenti (ad es. SBT, fsc, IDEA).
Guarda come possono sfruttare Java (codice -e-strumenti). Scala è strettamente accoppiata a Java specialmente in ambienti più seri. Sapere questo è un grande vantaggio.
Verifica se sono collegati alla community. Chiedi loro di Martin Odersky e David Pollak. Chiedi loro di nominare alcuni progetti Scala e descriverli (Facebook, Twitter, FourSquare, DBPedia e DBPedia SpotLight). Vedi se sanno esattamente come viene utilizzato Scala in questi progetti. Hanno letto gli articoli, guardato i video, ecc.?
Chiedi loro dei libri (ce ne sono solo alcuni). Più sanno meglio.
Come ultima avvertenza, posso dire che le lingue brillanti hanno questo strano potenziale per attrarre le persone sbagliate. Fai attenzione al tipo che arriva a Scala per tutte le ragioni sbagliate. Eccone alcuni:
PS: Se hai trovato un bravo Joe, per favore fammi sapere perché ne abbiamo bisogno;)
In un'intervista nel mondo reale, semplicemente sapere che Scala è la metà della battaglia vinta. Assumere un buon programmatore è sempre difficile, indipendentemente dalla lingua!
I programmatori Scala tendono a venire al linguaggio perché erano già al top del loro gioco in Java e volevano "portarlo al livello successivo".
Se hai una vasta offerta di sviluppatori Scala disponibili per il colloquio, considerati fortunato. In caso contrario, le domande più rilevanti potrebbero essere "Quali aspetti dovrei cercare in un programmatore che mi allenerò per utilizzare Scala?" E "Quali aziende sono attualmente in grado di fornire servizi di formazione?"
Mi piace vedere soluzioni a piccoli problemi come questo: fai un istogramma dei risultati del lancio di due dadi a sei facce 200 volte.
Vedi i commenti qui per alcune risposte interessanti: http://briccetti.blogspot.com/2011/01/dice-throw-simulation-in-java-and-scala.html
Qualcuno con una soluzione come Daniel Sobral, o questa di Kevin Wright: http://ideone.com/8LFs3 varrebbe la pena dare un'occhiata più da vicino.
Se la risposta è simile al codice Java, il richiedente potrebbe non essere abbastanza lontano.
Vorrei anche vedere che la persona è connessa alla comunità Scala: conosce libri, autori, sviluppatori open source, gruppi di utenti, persone interessanti.
Non ho mai assunto assunzioni alla Scala, ma cercherei di capire come funzionano le implicazioni, il tipo di modello di classe e le basi della programmazione funzionale.