java面试常问道的知识
1.java面试问道:从技术方面描述下你做的项目,都用了什么技术,遇
此项目是采用B/S结构,采用struts,hibernate,spring等技术实现.
然后说下项目的总体结构(概括)
在具体说下自己所做的模块。面试官看重的是你的口述能力和技术方面(自己本身的)
新手一般在使用SSH时,对配置文件不是很熟悉,可以说这方面问题,就说框架是自己动手搭建。
在动手做项目时,很容易出现JS错误..JS因为没有明确错误提示..所以特别难找..我相信你应该也遇见了(除非界面你没动过)
其次在做项目时,JAVA自带内的运行效率都很高。你可以说下自己最开始的时候使用的是循环..等,效率不高。
后来为了提高效率采用了什么方法.
将字符串一个个取出,例如:
String str="123456789";
for()。{
str.substring(?.?);//循环拿
。只为说明,大概列出
String str="123456789";
char[] ch=str.toChararray(); //一个个拿,放入数组,效率是上列方法的N倍
------------------------
这个只是给你的意见。你在项目中使用的还是靠你自己来说.这里可以让考官知道你很喜欢比较学习,善于动脑思考。.
---------------
写完后才想到非常重要的一点。.
推荐一本书给你:<<java程序员上班那点事>>
2.java 现在面试问的 基础知识 一般有那些
1. 什么是Java、Java2、JDK?JDK后面的1.3、1.4.2版本号又是怎么回事? 2. 什么是JRE/J2RE? 3. 学习Java用什么工具比较好? 4. 什么是J2SE/J2EE/J2ME? 5. package是什么意思?怎么用? 6. 在一个类中怎么使用其他类? 7. java里面怎么定义宏? 8. java里面没法用const? 9. java里面不能用goto? 10. java里面能不能重载操作符? 11. 为什么main方法必须被声明为public static? 12. throw和throws有什么不同? 13. 什么是异常? 14. java能动态分配数组吗? 15. 如何得到数组的长度? 16. 如何让数组的长度能自动改变,能够增加/删除元素? 17. java如何队列/栈。
18. Map有什么用? 19. java如何获得一个随机数。 20. 如何比较两个String 变量是否相等? 21. 如何将字串String转换成整数int? 22. 如何将整数 int 转换成字串 String? 23. 如何从一个文件档案的尾端新增记录? 24. 如何设置Java 2(JDK1.2)的环境变量? 25. String是最基本的数据类型吗? 26. int 和 Integer 有什么区别? 27. String 和StringBuffer的区别? 28. 运行时异常与一般异常有何异同? 29. 说出ArrayList,Vector, LinkedList的存储性能和特性? 30. Collection 和 Collections的区别。
31. &和&&的区别。 32. HashMap和Hashtable的区别。
33. final, finally, finalize的区别。 34. sleep() 和 wait() 有什么区别? 35. error和exception有什么区别? 37. 同步和异步有何异同,在什么情况下分别使用他们?举例说明。
38. heap和stack有什么区别。 39. Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 40. String s = new String("xyz");创建了几个String Object? 41. Java有没有goto? 42. 启动一个线程是用run()还是start()? 43. List, Set, Map是否继承自Collection接口? 44. 数组有没有length()这个方法? String有没有length()这个方法? 答: 数组没有length()这个方法,有length的属性。
String有有length()这个方法。 45. Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 46. 构造器Constructor是否可被override? 47. 是否可以继承String类? 48. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? 49. try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后? 50. 你所知道的集合类都有哪些?主要方法? 51. 描述一下JVM加载class文件的原理机制? 52. char型变量中能不能存贮一个中文汉字?为什么? 53. 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 54. 排序都有哪几种方法?请列举。
用JAVA实现一个快速排序。 55. JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗? 56. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 57. java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 58. java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 59. java中会存在内存泄漏吗,请简单描述。
60. 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 61. 静态变量和实例变量的区别? 62. 什么是java序列化,如何实现java序列化?。
3.一般java面试都会问些什么问题
考的都是java的基础,基础好的话很容易进入公司,一般都会问
String,StringBuffer,StringBudilder区别
ArrayList,vector 等的区别
hashMap,hashTable 的区别
多线程的实现方式和方法了
传参数方面的 考传的是本身还是副本 如 a(String value); a方法的value参数是传本身还是副本
其它的问题都是最基本的,基本能答上来
还有就是框架的知识了,比如spring 依赖注入,事务深入点的话 拦截器等
考其它框架的话 基本上问的都是比较基础的 难的话很少问到
db方面的话 简单考下你的sql , 可能会写几个表 要查什么让你写sql 主要考 多表连接查询,分组,分组后的查询,排序,取最大最小之类的 看你sql熟练否
我面试过10多间公司 基本都是上面我说到的问题
4.java面试题
1: public abstract boolean isStupidName(String name) {}改成public abstract boolean isStupidName(String name); 2: private String 错误,局部变量不能有关可视性的修饰 3: private abstract 错误,不能 private 4: final int x 。
++x;会出错,final 修饰的变量如果是对象则的引用是不可变的 ,如果是基本数据则数值是不可变的5: 貌似没错,引用未变,只是变了引用所指对象的内容 6: 貌似没错 7: final int i;错误,final 修饰的变量必须要被明确初始化 8: System。
out。println(”s。
doSomething() returns ” + doSomething()); 错,非静态方法只能通过对象调用改成: System。out。
println(”s。doSomething() returns ” + s。
doSomething()); 9: 怎么个好明显了,这个貌似没错? 10: System。out。
println(x); ,这个x有异义错误。
5.java面试一般要问到了那些题,不是笔试
一般来说,面试官做面试的时候,对于有工作经验的人他让你自我介绍实际上就是想了解你做了些什么项目,在项目中担任了些什么角色,承担了些什么任务,项目的技术难度在什么地方。
所以做自我介绍的时候不要介绍一些有的没的,尽量说一些项目相关的,自己开发相关的东西。这样他会根据你的项目做一些提问。
然后你就好好回答就OK了。如果是没有工作经验的,那就主要介绍在学校学习的开发相关的课程,还有自己动手做过的一些小的项目什么的。
面试官主要就是想了解你这个的技术水平,还有解决问题的能力。基本就OK了。
6.java项目中面试问道属于项目组中哪一层次的
如果不是主程,就是普通开发人员或者主要开发人员。
主程可以理解为项目技术经理,对于6人以上的中大型开发团队,主程除了解决重要的技术问题,完成核心功能的编码研发,同时还担负着工作分解、组内任务分配、代码级设计质量的职责;因此主程相比普通的程序员不只是技术要更好,而且与人沟通的能力也要较强些,有一定的管理意识,他们能够理解产品经理和项目经理的要求,并把这些要求转化为具体的技术实现,或是解释给组中的程序员来具体实现;最后能为其所在的小组按时按量的提交好用的交付物。
7.Java面试有什么样的技巧
首先,你要自信,要展示出自己的能力。
其次,你可以参考下面的一段话:
找工作要面试,有面试就有对付面试的办法。以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司。
面试是没什么道理可讲的,它的题目有的不合情理、脱离实际。有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票, 说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中如果出现一两题回答不准确很有可能你就被拒之门外了。
当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些基础,我朋友水平一流,结果就栽在一到基础知识的问题下,和高薪无缘。
好了废话少说,开始正题。
第一,谈谈final, finally, finalize的区别。
最常被问到。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
这个问得很少。
第五,HashMap和Hashtable的区别。
常问。
第六,Collection 和 Collections的区别。
你千万别说一个是单数一个是复数。
第七,什么时候用assert。
API级的技术人员有可能会问这个。
第八,GC是什么? 为什么要有GC?
基础。
第九,String s = new String("xyz");创建了几个String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
面试题都是很变态的,要做好受虐的准备。
第十二,sleep() 和 wait() 有什么区别?
搞线程的最爱。
第十三,Java有没有goto?