Как проходят собеседования с программистами Scala? Какие аспекты ищет интервьюер при опросе разработчика Scala?
Как проходят собеседования с программистами Scala? Какие аспекты ищет интервьюер при опросе разработчика Scala?
Ответы:
Во-первых, я бы сказал, подумайте, зачем вам Scala-разработчик. Вам действительно нужен Scala? Подумайте о том, что идет вместе со Scala (IDE, инструменты для сборки, библиотеки, еще один уровень сложности выше Java и т. Д.). Вернуться к вопросу. Это идет в двух аспектах: теоретическое понимание и практические способности. не позволяйте «теории» обмануть вас. Это так же важно в Scala, как практичность важна в Java.
Посмотрите, могут ли они преобразовать императивный фрагмент кода в хорошую функциональную альтернативу (см. Выше). Попробуйте цикл, который реализует некоторые математические или что-то в этом роде.
Найдите их вкус к функциональности против императивного стиля. Выберите более функциональный стиль, но будьте осторожны, он не доходит до крайности на стороне разработчика.
Посмотрите, как много они знают о библиотеках Scala (например, Lift, Dispatch и т. Д.) И инструментах (например, SBT, fsc, IDEA).
Посмотрите, насколько хорошо они могут использовать Java (инструменты кода и). Scala тесно связана с Java, особенно в более серьезных средах. Знание этого является большим плюсом.
Посмотрите, связаны ли они с сообществом. Спросите их о Мартине Одерском и Дэвиде Поллаке. Попросите их назвать несколько проектов Scala и описать их вам (Facebook, Twitter, FourSquare, DBPedia и DBPedia SpotLight). Посмотрите, знают ли они, как именно Scala используется в этих проектах. Они читали статьи, смотрели видео и т. Д.?
Спросите их о книгах (их всего несколько). Чем больше они знают, тем лучше.
В качестве последнего слова предостережения я могу сказать, что блестящие языки обладают этим странным потенциалом для привлечения не тех людей. Будьте осторожны с тем, что приходит в Scala по всем неправильным причинам. Вот несколько:
PS: Если вы нашли хорошего Джо, то, пожалуйста, непременно сообщите мне, как нам нужно;)
В реальном интервью просто знание того, что Scala - это половина выигранной битвы. Нанимать хорошего программиста всегда сложно, независимо от языка!
Программисты 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, но я бы искал понимание того, как это влияет на работу, шаблон классов типов и основы функционального программирования.