在采访大学合作社/实习生或刚毕业的学生时,有一个Java编程问题可以在15分钟内在白板上完成.有没有人有像这样的好问题的例子?我曾经在一次采访中被问到的一个C++问题是写一个字符串到整数函数,这是我正在寻找的例子的问题.
它有什么理由必须在白板上吗?就个人而言,我宁愿把它们放在键盘前面让他们写一些代码.我们的测试曾经是一个简单的100(IIRC)行Swing文本编辑器.然后我们打破了几个简单的方法,一些使代码不编译,一些更微妙,并给候选人一半和一小时以及一系列问题来解决.
即使你不能让他们做任何事情,确保你确实给他们一些明确的技术问题.在接下来的一轮采访中,出现了大量近期毕业生,这些毕业生只是流行的IDE-jockeys,所以他们看起来可以在白板前挥手示意企业 - 这和SOA - 但是当给出时一个简单的Java基础知识多项选择考试,询问关于什么final
和protected
意思的事情做得非常糟糕.
我一直认为算法问题应该与语言无关.如果你想测试学生的java级别,请关注语言:它的关键词(从常见的一个,如静态到更具异国情调的一个,如volatile),泛型,重载,变量的装箱/拆箱,标准库.
编写一个函数来使用指针交换变量值(对于这个,真的很差)
编写程序以查找XY平面中两点之间的距离.利用一个类来存储积分.
使用简单的程序演示在java中使用多态.
编写一个程序来打印前n个素数.
编写一个程序来替换另一个文件中的字符串.
SO上出现的一些东西:
IsPalindrome(字符串s)
ReverseWordsInString(string s):"我知道java" - >"java know I"
想到的其他东西:
将一个向量与一个矩阵相乘(这可以做到OO风格吗?)
echo
(是的,unix工具的简单克隆)
cat
(15分钟应该足够了,应该排除无能)
int
s 的简单容器.喜欢ArrayList
.奖金问题:通用?