java开发三年,总结一些经历与经验


我是一个喜欢总结经验的人,每通过一场面试,我在回来的路上都会仔细回想今天哪些问题能够答的更好,或者哪些问题是本身以前没遇到过的,或者是哪一个知识点今天又问了等等。四月中旬的时候,我就在构思要写一篇面经,主要是想着可能对那些跟我相同处境的人有点帮助,再者就是稍微记录下这为期一个月的面试过程。 面试


我的介绍: 算法


首先介绍下我面试时的自身条件状况,我把本身的状况分为优点和劣势来讲可能更有利于大家比较自身状况。 编程


劣势: api


1.15年7月毕业后开始到上海工做,面试的时候是17年3月到4月,一年多的经验,勉强算两年经验。分析:一年多经验我认为是比较尴尬的,处于一个不上不下的位置,不少公司比较喜欢招三年经验的,或者直接招应届生来培养。 服务器


2.毕业于一个非985/211,勉强上一本的高校。分析:这个相对影响较小,由于有工做经验后,公司对学校的要求就没那么高了,只要是本科就基本没问题,可是仍是有个别叼毛公司只要985/211。 学习


3.前一家公司是传统电信行业,加入项目组时,项目已经上线有段时间了,咱们的任务就是有需求就开发,有bug就优化,其余时间就聊骚,各干各的,工做一年多跟在养老同样,用一句话说就是编程5分钟,扯淡2小时,项目经验严重不足,没开发过很难的需求。分析:这一点是最伤的,公司招有经验的就想看你都干了些什么牛批的东西,结果你告诉面试官我写的需求都是垃圾。 优化


优点: 网站


1.大学时拿过比较多的奖,每一年都是校级优秀学生,毕业时是市级优秀毕业生,拿过省级ACM二等奖等。分析:大学的荣誉对一个有工做经验的人来讲,公司不必定会看重,可是可能会对面试官产生微妙的影响,特别是ACM奖,我碰到过有的面试官也是搞过ACM的,有共同的话题聊起来老是比较容易的,可是也要注意不能把这一栏篇幅写的过于多,只能看成点缀用,我当时是放在简历最后一栏,简要的写了最主要的几个奖。 ui


2.良好的沟通交流能力。分析:这个能力不会是关键性的,可是能够加分。 spa


3.较强的学习能力和逻辑思惟能力。分析:有些公司和面试官仍是比较看重一我的的学习能力的,经验表明着你如今在什么级别,而学习能力则表明着你未来能到达什么级别。 


学习过程:


看了个人优劣势介绍,你会发现个人优点相对于个人劣势来讲,简直不值一提。我本身对此也有清晰的认识,所以从过完年以后,我就开始抓紧空闲时间学习。学习的过程以下: 


1.看面试题 
正常人第一步确定都会看面试题,我也不例外,在看的过程当中,我发现有些文章写的不错,对我帮助不小值得推荐 


2.深刻学习 
在看面试题的过程,你会遇到一些本身没接触过的或者之前没深刻学习过的知识,例如最常问的HashMap内部实现原理,这就促使你得开始去看jdk的源码或者是学习一些新的东西。看源码是很重要的一步,起步很难,可是会让你收益良多,看源码的过程若是碰到没法理解的地方,能够百度看下别人的理解。我学习源码的过程当中,看过几我的的关于源码的文章写的很不错 


3.熟悉项目 
找出本身工做以来开发过的最叼的功能,将整个功能的流程和涉及的东西吃透。项目是面试中必问的环节,通常是以一个功能点为基础展开问,所以你必须对这个功能有很深的认识,不能有模糊的地方。若是有时间,能把涉及到的知识点也搞懂最好。 


4.作面试题 
有很多公司是有面试的,若是你没有准备过,很容易在各类小地方犯错,建议去一些面试题网站多作些题目,我本身是用的牛客网。 


5.学习记录 
把本身天天的学习时间和学习内容记录下来,可让本身更有动力的学习,学习是一个枯燥的过程,你必须让本身时刻保持有动力。 


投简历、约面试环节


1.在哪些网站投? 
拉勾网、BOSS直聘、猎聘网。 


2.是否该海投? 
投简历分为两个状况。 
1)没有社招面试经验:建议采起海投的方式,只要职位要求跟本身比较匹配均可以投,累计面试经验。这个环节能够把投简历的网站增长两家:智联和无忧。 
2)自认为社招面试经验已经足够:投那些职位匹配、公司满意的职位。公司评价能够去看准网、百度、知乎等查询。 


3.一天约几家面试合适? 
最理想的状况为2家面试,上午通常在10点左右,下午通常在2点左右。建议把理想的公司放下午,由于下午的时间比较充足,可让公司更充分的了解你。我开始面的时候,每次都是上午面的很差,下午面的不错。 


4.投简历常常没下文? 
我当初也没想到简历筛选这关有这么难,多是个人简历确实亮点很少,再者HR不少都不是行内人,所以他们看得最直接的就是你上家的公司和你毕业的学校,若是你不是从牛逼的公司/学校出来,可能会碰到和我同样的状况,应对的办法就是多投。 


5.是否该裸辞? 
我一开始是边上班边投,而后利用调休时间,或者请假去面试。后来,面试机会愈来愈多,请假太频繁了,本身都很差意思了,而且本身也已经有足够的信心,这个时候我选择了裸辞。裸辞还有一个缘由是,在面试过程当中你会发现,有的公司要人要的紧,若是你的辞职流程过长可能会致使你错过这个公司。 


6.注意事项 
1)面试前一天把路线和时间算好,最好别迟到。 
2)背个书包,带好简历、充电宝、纸巾、雨伞。 


面试环节


1.笔试常见的问题? 
面试常见的问题上面给的面试题连接基本都有。我只提几点:1)写SQL:写SQL很常考察group by、内链接和外链接。2)手写代码:手写代码通常考单例、排序、线程、消费者生产者。我建议排序算法除了冒泡排序,最好还能手写一种其余的排序代码。试想:若是通常面试者都写的冒泡排序,而你写的是快速排序/堆排序,确定能给面试官留下不错的印象。 


2.面试流程? 


1)让你自我介绍 
2)问Java基础知识 
3)问项目 
4)情景问题,例如:你的一个功能上了生产环境后,服务器压力骤增,该怎么排查。 
5)你有什么想问面试官的 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------