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、排序的几种方法,了解。(算法和数据结构在面试的时候还没有被问到)
34、Java语言如何进行异常处理,throws,throw,try catch finally代表什么意义,try块中可以抛出异常吗
35、一个’.java’源文件是否可以包括多个类,有什么限制。
36、Java中有几种类型流,jdk为每种类型的流提供了一些抽象类以供继承,请分别说出它们是哪些类。
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、学生成绩表的常用查询(百度即可查到,常用的查询语法)
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.问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。
java面试题(一年工作经验)的心得的更多相关文章
- java开发3~5年工作经验面试题
关于java基础 String,StringBuilder,StringBuffer区别是什么?底层数据结构是什么?分别是如何实现的? HashSet的底层实现是什么?它与HashMap有什么关系? ...
- 面试题:3年工作经验 已看1 有用 memcache和redis有什么区别
此内容偏中高级,适合有三年经验者. 1. java中wait和sleep有什么区别?多线程条件下如何保证数据安全? 答:最大区别是等待时wait会释放锁(乐观锁),而sleep会一直持有锁 ...
- 写给java web一年左右工作经验的人
摘要 大学就开始学习web,磕磕绊绊一路走过来,当中得到过开源社区很多的帮助,总结了这些年来的技术积累,回馈给开源社区. ps:图片都是从网上盗...感谢原作者. ps:文字千真万确都是我自己写的 ...
- Java面试题Tomcat的优化经验
一.掉对web.xml的监视,把jsp提前编辑成Servlet.有富余物理内存的情况,加大tomcat使用的jvm的内存 二.服务器资源 服务器所能提供CPU.内存.硬盘的性能对处理能力有决定性影响. ...
- 2年Java开发工作经验面试总结
最近换了个公司,从三月底开始面,面到四月底,面了有快二十家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些问题是自己之前没遇到过的,或者是哪 ...
- 经过本人 6 年.net 工作经验证明 .net 工资确实比 Java 低
很久没有逛博客园了,很久没有出来吐槽了.怎么呢?生活压力大,就需要找地方吐槽. 排版不怎么好,文笔不怎么好,可以看出我不是雇佣的写手. 工作到今夏,已经有6个年头了,一直使用着.net技术,但是最近工 ...
- java后端程序员1年工作经验总结
java后端1年经验和技术总结(1) 1.引言 毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西.这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为 ...
- 一位10年Java工作经验的架构师聊Java和工作经验
从事近十年的 JavaEE 应用开发工作,现任阿里巴巴公司系统架构师.对分布式服务架构与大数据技术有深入研究,具有丰富的 B/S 架构开发经验与项目实战经验,擅长敏捷开发模式.国内开源软件推动者之一, ...
- 一年iOS工作经验,如何一举拿下百度、美团、快手等Offer面经(附面试题)
前言: 先简单说说我最近的面试经历吧.面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了.对于我来说,这也是一次自我检查,在这次面 ...
随机推荐
- Apple的Core ML3简介——为iPhone构建深度学习模型(附代码)
概述 Apple的Core ML 3是一个为开发人员和程序员设计的工具,帮助程序员进入人工智能生态 你可以使用Core ML 3为iPhone构建机器学习和深度学习模型 在本文中,我们将为iPhone ...
- 简单理解vertical-align属性和基线问题
vertical-align属性主要用于改变行内元素的对齐方式,对于行内布局影响很大,如果不了解的话,我们开发调整样式的时候很容易出错. 网上关于这个属性的原理说得很是复杂,看一眼就让人觉得望而生畏, ...
- 使用charAt()方法查找字符串
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- [bzoj4977]跳伞求生<贪心>
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4977 这是八月月赛的一道题,月赛的时候和同学讨论了一下,最后由一位叫二哥的大佬率先AC,用 ...
- shell大全
1.shell判断文件是否存在 http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html
- 延时对象promise的使用
promise是ES6(ECMA Script6)的新标准,只能在支持ES6的浏览器中使用 Promise是一个延时对象,创建延时对象时需要传入一个函数类型的参数 这个函数有两个参数:resolve和 ...
- 实验四 数据查询3-group by等
实验四 数据库查询 一. 实验内容: 1. Group by语句 2. Having 语句 3. Order by语句 4. Limit语句 5. Union语句 6. Handler语句 二. ...
- J. Justifying the Conjecture(规律——整数拆分)
题目链接 五校友谊赛终于开始了,话不多说A题吧. 从前从前有一个正整数n,你需要找到一个素数x和一个合数y使x+y=n成立,这样就可以双剑合并了. 素数是一个大于1的自然数,它的因数只有1与它自己本身 ...
- Vertica的这些事(五)——-谈谈vertica的flex-table
Json格式对于现在所有的软件开发者都不陌生,很多数据格式都用他来存储,我们来看一下vertica是怎么处理json数据的.这就是vertica的flex table! 首先创建一个json文件: { ...
- 跨域问题:Cross origin requests are only supported for protocol schemes: http...
跨域:Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extensi ...