哈斯克尔访谈问题

时间:2012-09-03 03:04:06

标签: haskell

由于没有问过我在SO上找到的任何地方,因为我可能很快就会雇用一个haskell开发人员,我想我会把它搞定。

要问的一些详细的口头问题会展示出对haskell的强大工作知识。我可以想到一些好的问题和编码项目,但是看看其他人的想法真的很有帮助。

3 个答案:

答案 0 :(得分:1)

我通常会从易于开始的问题开始面试问题。最终你得到一个问题,让候选人失败或至少出汗,然后你就会看到他们如何处理压力。

因此,对于Haskell,您可以选择:

  • easy:生成素数列表
  • medium:编写一个给出第n个Fibonacci数的函数
  • hard:演示使用Monad

答案 1 :(得分:1)

我最喜欢的一个是:

  

编写一个函数,按元素的频率对列表进行排序。列表中出现频率最低的元素应该先行,最常见的元素应该是最后一个。例如,[3,2,1,2]应按[3,1,2,2]的顺序排列。

我喜欢这样的问题,因为它们允许申请人提供一个简单的解决方案,并且仍然可以讨论更有效的替代方案。

当然,你希望在访谈后期提出更复杂的问题。

答案 2 :(得分:0)

“解释您认为MonadApplicativeArrow的相对优势和劣势。”

“解释您所看到的使用类型系列和依赖类型的相对优缺点。”

但主要是,你想要查看一些代码,然后在那里编写代码是正确的,你需要询问他们如何在各种情况下开发他们的解决方案。