Wie werden Scala-Programmierer interviewt? Nach welchen Aspekten sucht der Interviewer, wenn er einen Scala-Entwickler interviewt?
Wie werden Scala-Programmierer interviewt? Nach welchen Aspekten sucht der Interviewer, wenn er einen Scala-Entwickler interviewt?
Antworten:
Zunächst würde ich sagen, warum Sie einen Scala-Entwickler brauchen. Ist es wirklich Scala, die Sie brauchen? Denken Sie darüber nach, was mit Scala zusammenkommt (IDE, Build-Tools, Bibliotheken, eine weitere Komplexitätsebene über Java usw.). Zurück zur Frage. Es geht um zwei Aspekte: Theoretisches Verständnis und praktische Fähigkeiten. Lass dich nicht von der "Theorie" täuschen. In Scala ist das genauso wichtig wie in Java die Praktikabilität.
Sehen Sie nach, ob sie ein Code-Snippet in eine gute funktionale Alternative umgestalten können (siehe oben). Versuchen Sie es mit einer Schleife, die Mathematik oder ähnliches implementiert.
Finden Sie ihren Geschmack für funktionalen vs. imperativen Stil. Entscheiden Sie sich für einen funktionaleren Stil, aber seien Sie vorsichtig, er geht nicht bis an die Grenzen des Entwicklers.
Sehen Sie, wie viel sie über Scala-Bibliotheken (z. B. Lift, Versand usw.) und Tools (z. B. SBT, fsc, IDEA) wissen.
Sehen Sie, wie gut sie Java (Code -und- Tools) nutzen können. Scala ist eng an Java gekoppelt, insbesondere in anspruchsvolleren Umgebungen. Das zu wissen ist ein großes Plus.
Überprüfen Sie, ob sie mit der Community verbunden sind. Fragen Sie nach Martin Odersky und David Pollak. Bitten Sie sie, einige Scala-Projekte zu nennen und sie Ihnen zu beschreiben (Facebook, Twitter, FourSquare, DBPedia und DBPedia SpotLight). Sehen Sie nach, ob sie wissen, wie genau Scala in diesen Projekten verwendet wird. Haben sie die Artikel gelesen, die Videos angeschaut usw.?
Fragen Sie sie nach den Büchern (es gibt nur wenige). Je mehr sie wissen, desto besser.
Als letzte Warnung darf ich sagen, dass brillante Sprachen das seltsame Potenzial haben, die falschen Leute anzulocken. Seien Sie vorsichtig mit der Art, die aus den falschen Gründen zu Scala kommt. Hier sind einige:
PS: Wenn du einen guten Joe gefunden hast, dann lass es mich auf jeden Fall wissen, wenn wir welche brauchen;)
In einem realen Interview ist es die halbe Miete, Scala zu kennen. Es ist immer schwierig, einen guten Programmierer zu finden, unabhängig von der Sprache!
Scala-Programmierer tendieren dazu, in die Sprache zu kommen, weil sie in Java bereits an der Spitze ihres Spiels standen und „es auf die nächste Stufe heben“ wollten.
Wenn Sie genügend Scala-Entwickler für ein Interview zur Verfügung haben, können Sie sich glücklich schätzen. Wenn nicht, könnten die relevanteren Fragen lauten: „Nach welchen Aspekten sollte ich bei einem Programmierer suchen, der für die Verwendung von Scala geschult wird?“ Und „Welche Unternehmen können derzeit Schulungsdienste anbieten?“.
Ich mag es, Lösungen für kleine Probleme wie dieses zu finden: Machen Sie ein Histogramm der Ergebnisse des 200-maligen Werfens von zwei sechsseitigen Würfeln.
In den Kommentaren finden Sie einige interessante Antworten: http://briccetti.blogspot.com/2011/01/dice-throw-simulation-in-java-and-scala.html
Jemand mit einer Lösung wie Daniel Sobral oder dieser von Kevin Wright: http://ideone.com/8LFs3 wäre einen genaueren Blick wert.
Wenn die Antwort wie Java-Code aussieht, ist der Antragsteller möglicherweise nicht weit genug.
Ich würde auch gerne sehen, dass die Person mit der Scala-Community verbunden ist: Kennt die Bücher, Autoren, Open Source-Entwickler, Benutzergruppen, interessante Leute.
Ich habe noch nie Scala eingestellt, aber ich würde nach einem Verständnis dafür suchen, wie Implizite funktionieren, wie Klassenmuster geschrieben werden und welche Grundlagen die funktionale Programmierung hat.