Scala程序员如何接受采访?面试官在采访Scala开发人员时会寻找哪些方面?
Scala程序员如何接受采访?面试官在采访Scala开发人员时会寻找哪些方面?
Answers:
首先,我想一想,为什么需要一个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
像丹尼尔·索布拉(Daniel Sobral)这样的解决方案的人,或者凯文·赖特(Kevin Wright)的解决方案:http://ideone.com/8LFs3,都值得一看。
如果答案看起来像Java代码,那么申请人可能还不够。
我还希望看到此人与Scala社区建立了联系:了解书籍,作者,开源开发人员,用户组,有趣的人。
我从未做过任何Scala招聘活动,但是我希望了解隐式工作方式,类型类模式以及函数式编程基础知识。