我所经历的问题,每一个良好的.NET开发人员应该能够回答,是这个问题的内容和方法非常深刻的印象,因此,在同样的精神,我要求的Java/Java EE的开发者这个问题.
有什么问题你认为应在良好的Java/Java EE的程序员能够回答?
我将此问题标记为社区维基,因为它不是用户特定的,它旨在为整个编程社区提供服务.
期待一些惊人的回应.
编辑:请回答问题,如评论中所建议的那样,这样人们也可以学习一些关于语言的新知识.
Jef*_*eff 83
hashCode()和equals()之间有什么关系?这些方法有什么意义?实施它们有哪些要求?
Jon*_*Jon 70
Set,Map和List有什么区别?
我仍然惊讶于有多少人在电话采访中不知道这个.
ewe*_*nli 44
接口可以扩展多个接口吗?
大多数人回答"不",因为他们知道java没有多重继承.但是接口仍然可以扩展多个接口(但是类不能扩展多个类).这不会导致钻石问题.
如果答案是"否",面试官应该问"为什么会被禁止?".然后你开始思考它,你应该意识到它没有问题.
所以你在面试中学到了一些东西(你自己),你向面试官展示了你能够推理出类,对象,继承,多态等等.这实际上比一个知道答案的候选人要好得多但却没有明白为什么
sat*_*esh 23
在方法调用中使用final关键字.例如,尽管对方法参数使用final限定符,为什么下面的代码中的方法测试不会给出任何编译错误.
class Name {
private String name;
public Name (String s) {
this.name = s;
}
public void setName(String s) {
this.name = s;
}
}
private void test (final Name n) {
n.setName("test");
}
Run Code Online (Sandbox Code Playgroud)
zap*_*ing 19
一个肯定是字符串的比较.之间的区别
String helloWorld ="Hello World";
helloWorld =="Hello World";
"Hello World".equals(helloWorld);
Chi*_*chi 17
特技提问:Java中通过引用传递了哪些参数?
令人惊讶的是,有多少人仍然鹦鹉学舌"原始人通过价值传递,物品通过参考传递"咒语.
Eli*_*ter 17
你说"好","开发者".这是我的2美分.. :)
对于J2EE:
我可以想到很多很多很多,但是现在这样做:)
Thu*_*shy 16
String,StringBuffer和StringBuilder有什么区别?
Pas*_*ent 12
很多问题和访谈可以在http://www.techinterviews.com/interview-questions/java上找到,我真的没有看到复制/粘贴选择它们的价值.
不,这是你来创建你自己的东西编译你认为是很重要的.就个人而言,我总是分两步进行:首先是几个问题,以获得经验和技能的基本概念,然后解决问题.我确实不相信能够回答任何已知问题会使你成为一个好的或坏的未知问题解决者.所以,我更愿意让人们解决一个给定的问题,给他们一些要求,并要求他们编写代码(但不是在纸上).我给他们一些时间回到我身边检查他们是如何做到的,他们的编码风格,他们如何使用建议的API等等.
尽管如此,我最喜欢的问题是"你对Java有什么不喜欢的?" (本着这一点的精神).这是一个非常好的问题,它可以让您立即反馈候选人使用Java的程度并探索其API,以及他是否只是虔诚于此(正如OP所写).
更新:正如CPerkins所建议的那样,对于上面提出的问题,更好的措辞可能是"你最希望看到Java中有什么变化?".事实上,我更喜欢这种方式.
Mar*_*ark 10
Jua*_*nZe 10
如果您正在招聘具有Java"经验"的毕业生一个简单的问题,例如编写一些会导致抛出NullPointerException的代码,可以区分哪些候选人最近使用过Java,并且当他们完成单位/课程时不会停止.
什么会打印?
public void testFinally(){
System.out.println(setOne().toString());
}
protected StringBuilder setOne(){
StringBuilder builder=new StringBuilder();
try{
builder.append("Cool");
return builder.append("Return");
}finally{
builder.append("+1");
}
}
Run Code Online (Sandbox Code Playgroud)
答案:CoolReturn + 1
有点困难:
public void testFinally(){
System.out.println(setOne().toString());
}
protected StringBuilder setOne(){
StringBuilder builder=new StringBuilder();
try{
builder.append("Cool");
return builder.append("Return");
}finally{
builder=null; /* ;) */
}
}
Run Code Online (Sandbox Code Playgroud)
答:CoolReturn
我所遇到的J2EE/JEE中间件问题列表非常长,但这里是我被问过的前五名,并且引发了很好的讨论:
javax.naming.Context
问题,从许多方面提出了这个问题.我发现另一个令人不安的问题,但多次遇到的问题是,
如何将依赖库打包到存档中?
或捆绑存档中各种类的可见性.
如果讨论没有导致不同应用程序服务器,资源档案等的类加载器层次结构,则最好辞职并继续前进.
Set
,List
,Map
,和的重要性Object.equals()
,并Object.hashCode()
在这些接口的每个实施. 归档时间: |
|
查看次数: |
195095 次 |
最近记录: |