Як опитуються програмісти Scala? Які аспекти шукає інтерв'юер, опитуючи розробника Scala?
Як опитуються програмісти Scala? Які аспекти шукає інтерв'юер, опитуючи розробника Scala?
Відповіді:
По-перше, я б сказав, подумайте, навіщо вам потрібен розробник Scala. Чи справді вам потрібна Скала? Подумайте, що поставляється разом із Scala (IDE, інструменти для збирання, libs, ще один рівень складності над Java тощо). Повернення до питання. Це складається у двох аспектах: теоретичне розуміння та практичні здібності. не дозволяйте думці "теорії" вас обдурити. У Scala це так само важливо, як практичність важлива на Java.
Подивіться, чи можуть вони переробити імперативний фрагмент коду в хорошу функціональну альтернативу (див. Вище). Спробуйте цикл, який реалізує певну математику або щось подібне.
Знайдіть свій смак до функціонального та імперативного стилю. Виберіть більш функціональний стиль, але будьте обережні, він не доходить до крайностей на стороні розробника.
Подивіться, скільки вони знають про губки Scala (наприклад, ліфт, відправлення тощо) та інструменти (наприклад, SBT, fsc, IDEA).
Подивіться, наскільки добре вони можуть використовувати Java (code -and- tools). Scala тісно пов'язана з Java спеціально в більш серйозних умовах. Знання цього - великий плюс.
Подивіться, чи вони підключені до спільноти. Запитайте їх про Мартіна Одерського та Девіда Поллака. Попросіть їх назвати кілька проектів Scala та описати їх вам (Facebook, Twitter, FourSquare, DBPedia та DBPedia SpotLight). Подивіться, чи знають вони, як саме Scala використовується в цих проектах. Чи читали вони статті, переглядали відео тощо?
Запитайте їх про книги (їх лише кілька). Чим більше вони знають, тим краще.
Як одне останнє застереження я можу сказати, що геніальні мови мають цей дивний потенціал для залучення неправильних людей. Будьте уважні до виду, який приходить до Скали з усіх неправильних причин. Ось декілька:
PS: Якщо ви знайшли хорошого Джо, то будь-ласка, будь ласка, повідомте мені, як нам це потрібно;)
У реальному інтерв'ю просто знати, що Скала - це половина виграної битви. Найняти хорошого програміста завжди важко, незалежно від мови!
Програмісти Scala схильні до мови, тому що вони вже були на вершині своєї гри на Java і хотіли «перенести її на наступний рівень».
Якщо у вас є достатня кількість розробників Scala, доступних для співбесіди, тоді вважайте себе щасливчиком. Якщо ні, то більш релевантними питаннями можуть бути "Які аспекти слід шукати у програміста, якого я навчатимусь використовувати Scala?" Та "Які компанії в даний час можуть надавати навчальні послуги?"
Мені подобається бачити такі невеликі проблеми, як це: Складіть гістограму результатів, кинувши дві шестигранні кістки 200 разів.
Дивіться коментарі тут, щоб отримати цікаві відповіді: http://briccetti.blogspot.com/2011/01/dice-throw-simulation-in-java-and-scala.html
Хтось із таким рішенням, як Даніель Собрал, або це з Кевіна Райт: http://ideone.com/8LFs3 варто було б детальніше ознайомитись.
Якщо відповідь виглядає як код Java, то заявник може бути недостатньо далеко.
Я також хотів би побачити, що людина пов’язаний із спільнотою Scala: Знає книги, авторів, розробників з відкритим кодом, групи користувачів, цікавих людей.
Я ніколи не робив жодного найму Scala, але хотів би зрозуміти, як впливає робота, тип класового шаблону та основи функціонального програмування.