在准备Java开发人员访谈时,哪些算法值得学习或回忆?

时间:2011-01-25 08:20:52

标签: java algorithm

我知道Java中的Collections.sort()方法,但我认为quicksort值得记住并尝试。 我的工作目标是通用Java:Web,数据库访问,集成,而不是游戏开发人员,科学应用程序或依赖于高级算法的另一个。 在没有压力的Java开发人员访谈的情况下,我应该学习哪些算法?

2 个答案:

答案 0 :(得分:3)

Fizz Buzz

如果开发人员深入了解基本算法,我通常不在乎。如果他能够理解要求并将其翻译成正确,可测试且易于理解的代码片段,我会非常关心。

啊,我确实知道如何实现最常见的设计模式。他应该知道何时以及如何使用集合,线程和 - String#split - 令人惊讶的是,有多少“开发人员”不知道如何阅读和处理简单的csv文件。

答案 1 :(得分:0)

虽然我完全赞同约阿希姆的评论,但我会选择:收集选择。这本身不是算法,而是很好地了解哪个集合适用于哪个目的:

  • 使用常量查找时间对内容进行排序? TreeSet
  • 映射数据并记忆插入顺序? LinkedHashMap

使用它,以及对集合背后的设计模式的一些了解,你将经常回答使用knuth答案的算法问题(或微妙的变化:只要Sun开发人员正确实现它,我只需明智地选择)