java⾯试题(⼀年⼯作经验)的⼼得
看⾯试题
正常⼈第⼀步肯定都会看⾯试题,我也不例外,在看的过程中,我发现有些⽂章写的不错,对我帮助不⼩值得推荐,如下:
Java⾯试题全集(上) 很多基础的东西,建议先看。
各⼤公司Java后端开发⾯试题总结
⾯试⼼得与总结—-BAT、⽹易、蘑菇街
关于Java⾯试,你应该准备这些知识点
深⼊学习
在看⾯试题的过程,你会遇到⼀些⾃⼰没接触过的或者以前没深⼊学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看jdk的源码或者是学习⼀些新的东西。看源码是很重要的⼀步,起步很难,但是会让你收益良多,看源码的过程如果碰到⽆法理解的地⽅,可以百度看下别⼈的理解。我学习源码的过程中,看过⼏个⼈的关于源码的⽂章写的很不错,如下:
熟悉项⽬
出⾃⼰⼯作以来开发过的最叼的功能,将整个功能的流程和涉及的东西吃透。项⽬是⾯试中必问的环节,⼀般是以⼀个功能点为基础展开问,因此你必须对这个功能有很深的认识,不能有模糊的地⽅。如果有时间,能把涉及到的知识点也搞懂最好。
做⾯试题
有不少公司是有⾯试的,如果你没有准备过,很容易在各种⼩地⽅犯错,建议去⼀些⾯试题⽹站多做些题⽬,我⾃⼰是⽤的⽜客⽹。
学习记录
把⾃⼰每天的学习时间和学习内容记录下来,可以让⾃⼰更有动⼒的学习,学习是⼀个枯燥的过程,你必须让⾃⼰时刻保持有动⼒。
投简历、约⾯试环节
在哪些⽹站投?
拉勾⽹、BOSS直聘、猎聘⽹。
是否该海投?
投简历分为两个情况。
1)没有社招⾯试经验:建议采取海投的⽅式,只要职位要求跟⾃⼰⽐较匹配都可以投,累计⾯试经验。这个环节可以把投简历的⽹站增加两家:智联和⽆忧。
2)⾃认为社招⾯试经验已经⾜够:投那些职位匹配、公司满意的职位。公司评价可以去看准⽹、百度、知乎等查询。
⼀天约⼏家⾯试合适?
最理想的情况为2家⾯试,上午⼀般在10点左右,下午⼀般在2点左右。建议把理想的公司放下午,因为下午的时间⽐较充⾜,可以让公司更充分的了解你。我开始⾯的时候,每次都是上午⾯的不好,下午⾯的不错。
投简历经常没下⽂?
我当初也没想到简历筛选这关有这么难,可能是我的简历确实亮点不多,再者HR很多都不是⾏内⼈,因此他们看得最直接的就是你上家的公司和你毕业的学校,如果你不是从⽜逼的公司/学校出来,可能会碰到和我⼀样的情况,应对的办法就是多投。
是否该裸辞?
我⼀开始是边上班边投,然后利⽤调休时间,或者请假去⾯试。后来,⾯试机会越来越多,请假太频繁了,⾃⼰都不好意思了,并且⾃⼰也已经有⾜够的信⼼,这个时候我选择了裸辞。裸辞还有⼀个原因是,在⾯试过程中你会发现,有的公司要⼈要的紧,如果你的辞职流程过长可能会导致你错过这个公司。
注意事项
1)⾯试前⼀天把路线和时间算好,最好别迟到。
2)背个书包,带好简历、充电宝、纸⼱、⾬伞。
⾯试环节
笔试常见的问题?
⾯试常见的问题上⾯给的⾯试题链接基本都有。我只提⼏点:1)写SQL:写SQL很常考察group by、内连接和外连接。2)⼿写代码:⼿写代码⼀般考单例、排序、线程、消费者⽣产者。我建议排序算法除了冒泡排序,最好还能⼿写⼀种其他的排序代码。试想:如果⼀般⾯试者都写的冒泡排序,⽽你写的是快速排序/堆排序,肯定能给⾯试官留下不错的印象。
⾯试流程?
1)让你⾃我介绍
2)问Java基础知识
3)问项⽬
4)情景问题,例如:你的⼀个功能上了⽣产环境后,服务器压⼒骤增,该怎么排查。
5)你有什么想问⾯试官的
⼀、Java基础部分
1、使⽤length属性获取数组长度,public、private、protected、friendly区别
2、Collection和Collections区别
3、String s=new String(‘xyz’);创建了⼏个object对象
4、short s1;
s1=s1+1;是否有错?
5、Overriding和Overloading区别
6、Set⾥⾯的元素不能重复,⽤什么⽅法区分重复与否。
7、给出⼀个常见的runtime exception。
8、error和exception区别。
9、List和Set是否继承⾃Collection接⼝。
10、abstract class和interface 的区别。
11、是否可以继承String类。
12、try{}⾥有⼀个return语句,紧跟在try后的finally⾥的code会不会被执⾏,什么时候执⾏,return前执⾏还是return后执⾏。
13、最有效率的⽅法算2*8等于⼏
14、两个对象值相同,x.equal(y)==true,但是却可有不同的hashcode,这句话对不对。
15、值传递和引⽤传递
16、switch是否作⽤在byte、long、string上。
17、ArrayList和Vector区别,HashMap和Hashtable区别(了解这⼏个类的底层jdk中的编码⽅式)。
18、GC是什么,为什么要有GC,简单介绍GC。
19、float f=3.4是否正确。
20、介绍Java中的Collection framework。
21、Collection框架中实现⽐较⽅法
22、String和Stringbuffer的区别
23、final、finally、finalize区别
24、⾯向对象的特征
25、String是最基本的数据类型吗。
26、运⾏时异常和⼀般异常的区别
27、说出ArrayList、Vector、Linkedlist的存储性能和特性
28、heap和stack区别
29、Java中的异常处理机制的简单原理和应⽤
30、垃圾回收的原理和特点,并考虑2种回收机制
31、说出⼀些常⽤的 集合类和⽅法
32、描述⼀下JVM加载Class⽂件的原理和机制
33、排序的⼏种⽅法,了解。(算法和数据结构在⾯试的时候还没有被问到)
33、排序的⼏种⽅法,了解。(算法和数据结构在⾯试的时候还没有被问到)
34、Java语⾔如何进⾏异常处理,throws,throw,try catch finally代表什么意义,try块中可以抛出异常吗
35、⼀个’.java’源⽂件是否可以包括多个类,有什么限制。
36、Java中有⼏种类型流,jdk为每种类型的流提供了⼀些抽象类以供继承,请分别说出它们是哪些类。
jquery框架面试题
37、Java中会存在内存泄漏吗,请简单描述。
38、静态变量和实例变量的区别。
39、什么是Java序列化,如何实现java序列化。
40、是否可以从⼀个static⽅法内部发⽣对⾮static⽅法调⽤。
41、写clone⽅法,通常都有⼀⾏代码。
42、Java中如何跳出多重嵌套循环
43、说出常⽤类、包、接⼝,各举5个。
44、Java中实现线程的⽅法,⽤关键字修饰同步⽅法。
45、同步和异步区别。
46、线程同步的⽅法。
47、字符串常⽤⽅法,字符串转化为整型数⽅法,整型数转化为字符串⽅法。
⼆、Java⾼级
1、简述⾯向对象的理解,并举例说出你的理解。
2、写出单例模式。
3、写出⼀种11位⼿机号的正则表达式
4、实现字符串多个空格转换⼀个空格
5、字符串常⽤⽅法,substring(),split()。
6、start()和run()区别。
7、写出知道的设计模式。
8、Webservice介绍。(这个我⾃⼰没⽤过,渣渣了)
9、说出Servlet⽣命周期,Servlet和CGI区别。
10、sleep和wait的区别。
11、什么是发射,如何实现。
12、检查字符串回⽂,实现英⽂中单词个数和单词次数统计(部分公司要求较⾼,需要⼿动编程,百度查⼀些⾯试常⽤编程题即可)。
13、tcp/ip协议三次握⼿。
14、http协议⼏种请求⽅式,区别。
15、Ajax请求是否可以实现同步。
16、隐藏URL⽅式。
17、描述取到⼀个⽹页内容的实现步骤,不需要具体实现过程(就是爬⾍:取到⽹页的URL,然后从URL中国获取⽹页内容),考察逻辑思维能⼒。
18、简述form表单提交post⽅法与get⽅法在字符编码、http协议⽅⾯的区别。
19、⼀个http请求从开始到结束都经历了哪些过程,简写流程图。
三、框架(只介绍⾃⼰熟悉)
1、Spring中的事务管理,⽀持哪⼏种⽅式,以及每种⽅式具体⽅法。
2、Spring常⽤注解。
3、Hibernate的缓存级别。
4、hibernate是什么,⼯作原理。
5、hibernate如何实现延迟加载。
6、hibernate如何怎样类之间的关系。
7、struts1是什么,⼯作流程。
8、struts2⼯作流程。
9、spring是什么。
10、介绍IOC和AOP。
11、springmvc⼯作原理。
12、Mybatis⼯作流程。
13、Mybatis与Hibernate区别。
14、Mybatis框架传递参数⽅式。
15、简述Spring事务管理,使⽤什么设计模式实现。
四、数据库
1、数据库⾥⾯的索引和约束是什么。
2、⽤SQL语句实现oracle分页查询。
3、学⽣成绩表的常⽤查询(百度即可查到,常⽤的查询语法)
3、学⽣成绩表的常⽤查询(百度即可查到,常⽤的查询语法)
4、数据库性能优化常⽤基础知识,百万级数据优化(百度搜搜即可)。
5、left join ,right join⽤法。
6、了解redis,memcache,mongodb等,最好有项⽬使⽤经验。
7、如何防⽌SQL注⼊。
8、⼀个微博评论功能的数据库设计,部门表和员⼯表的设计,权限管理系统的数据库设计(数据库设计这个是⼀个重点,⾯试了⼏家公司都问到了,⽽且是重点)。
9、简述悲观锁和乐观锁。
五、linux基础
1、修改系统时间命令、修改权限命令、
六、前端基础
1、javascript中怎样选中⼀个checkbox,设置它⽆效的⽅式。
2、form表单 的input可以设置readonly和disable区别。
3、javascript变量范围有什么不同,全局变量和局部变量。
4、列举3种数据类型。
5、javascript常⽤对象
6、javascript中常⽤的取值赋值⽅法,对于单选按钮,复选框等的取值赋值等⽅法。(百度即可,javascript常⽤基础)
7、jquery取值赋值基本⽅法。
8、获取单选按钮的值,获取复选框的值,获取下拉列表的值,后去复选框的值,获取单选按钮组的值,⽂本框、⽂本域赋值。
9、jquery的append与appendTo区别。
10、CSS盒⼦模型的4个顺序。
⼀些经验:
1.先投⼀些普通公司,等⾯出了⼼得再去投理想的公司。
2.不熟悉的技术不要主动提。
3.对于那种实习期6个⽉还打8折的公司,除⾮你没有其他选择了,否则不要去。
4.⼩公司喜欢在薪⽔上压你,开的时候适当提⾼。
5.不要去参加招聘会,纯粹是浪费时间。
6.把⾯试当作⼀次技术的交流,不要太在意是否能被录取。
7.公司⼀般⾯完就决定是否录取了,让你回去等消息这种情况⼀般没戏,⽆论你⾃⼰觉得⾯的有多好。
8.尽量少通过电话⾯试,效果不好。
9.在⾯试的⽇⼦⾥,要保持每天学习,⽆论是学习新东西还是复习旧东西。
10.拿到offer了,问问⾃⼰这个公司让⾃⼰100%满意了吗,如果不是,请继续努⼒更好的。
11.通过⾯试官可以⼤概判断这家公司的情况。
12.拉勾投的简历很多会被筛掉,但是拉勾还是⾯试机会的最主要来源。
13.理想的公司可以多投⼏次,我有好⼏次都是第⼀次投被筛掉,多投⼏次就过的经验。
14.问到⾃⼰有深⼊研究过的知识,抓住机会好好表现,不要轻易放过。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。