金三银四铜五铁六,Offer收到手软!

做者:鲁班大师
https://www.cnblogs.com/zhuoq...

文中的鲁班简称LB html

听说,金三银四,截止今天为止面试黄金时间已通过去十之八九,而LB恰逢是这批面试大军其中的一名小兵,很不幸今年恰逢赶上了互联网寒冬(即各大公司都在裁人,对外提供岗位相对较少的,这意味着不少猿即将面临着更多的竞争对手和相对较少的岗位困境),LB求职过程种种被虐,尸体趟过召唤师峡谷每一个角落,现在历历在目,终究,当初的一名无名小卒现在已经是一名超级兵哈哈,可是从这个事情上却学到了很多的东西,LB不亏。前端

经验也老是用来交流用的,因而LB以为有必要记录下来,也许对猿们会有一丝帮助。java

首先,找工做得有一份体面的简历,这里就会衍生一个如何书写简历的问题,LB将从以下角度总结:程序员

关于简历

如何书写简历

HR角度较为关注信息

  • 我的信息(年龄,联系方式等)
  • 求职意向(工做年限,工做地,岗位)
  • 教育经历(专业,学校,毕业时间)
  • 证书(如ACM,软证,外语水平)

面试官角度较为关注信息面试

1.专业技能算法

4-5项熟悉2-3项了解,建议井井有条,逻辑有序,建议别写精通,除非很NB,否则被问到不是很深的问题你答不出,面试官认为你不真实。spring

2.自我评价数据库

是否有博客(文章数太少不写,减分),是否有GITHUB(提交数和STRA太少不写,减分),是否有积极学网课(如极客时间星球,虚假减分)。编程

3.项目难点后端

队列和缓存高可用,分布式应用衍生问题解决方案,JVM的排查技能,数据库层面优化和分库分表等,这些东西都须要你嵌入到你的项目中。

那么什么是‘’优秀‘’的简历(网图)

哈哈哈,大佬说,看到这种简历直接扔垃圾桶吧,缘由很简单,你既然那么牛逼还特么须要本身投简历找工做么,早就被挖了,这种一看就是啥经验都没有培训生或者不懂行规的应届生简历写的东西,那么合格的简历刚刚上面已经说了,专业技能模块不能写太多,井井有条就能够,大概这样:

暂不评价技术如何,光从这个专业技能在简历的书写规则上是很符合井井有条的,并且一行表明一个领域,整体上来看就是一个标准的JAVA后台开发路线的技术栈,并且从内容上来看,也有必定的侧重点,这样给面试官的感受就会比较友好,提问方便。与人方便本身方便。

如何投递简历

拉钩,公司官方网

这种看RP了,有时候投出去也大几率不会被看到,称之为海投,收到面试邀请无论怎么样,去了再说,毕竟是一种经历,总能学到东西的,但若是是你比较想去的公司,没有很大得取胜信心,建议别投先,毕竟若是被刷,那就得含泪在等一年了。

BOSS直聘,脉脉

搜索你想去的公司,而后加HR或者技术官后给他们发简历,本质和BOSS直聘差很少,他们看到你的简历,而且以为OK,通常都很是愿意帮你内推的,由于内推录用了,是有推荐金的。

朋友内推,猎头内推

这种得到面试机会概率较高,由于是直推的。

关于面试

面试须要准备3个部分的东西

  • 算法智力题笔试
  • 项目技术面试
  • HR跪舔与防坑宝典

首先是算法编程题

这个没办法的,会就会不会的话,短期以内也是作不出来的,有些公司硬性规定必需要你写出来,不然免谈,LB遇到个一个很奇葩的一次面试就是,笔试题出了编程题目,没想到一面后面完了,还让你去作一道编程题,二面也是,估计HR面也是。。无可厚非,由于他们认为动手能力才是最重要的,因此对于猿们惟一的办法就是提早刷题,若是不是面试对算法有较高要求的公司,通常的公司只要把LeetCode简单的题目刷了就能作出来大部分的题目,甚至会遇到如出一辙的题目,连标点符号也同样哦。

而后就是智力题

其实也不是什么智力题,网上一搜程序员面试智力题一大推,看来看去也就是那几类问题,头脑比较聪明的猿基本不须要准备。

这里重点讲讲技术面

面试官:能写出一段能体现你水平的代码~

LB:好的~

几秒后~

while{  
  Scanner scan = new Scanner(System.in);  String question = scan.nextLine();       String answer =question.replace ('你', '我'). replace ('吗', ' '). replace ('?', '!') );  
  Sysem.out.println (answer );  
}
面试官:呀,这难道就是….. 

LB:没错,是失传已久的Artificial Intelligence 

面试官:你到底是什么人? 

LB:阁下莫问出处,这个程序我示范给您看下 

面试官:好的 

LB:在吗? 

电脑:在! 

LB:你能够人机对话吗? 

电脑:我能够人机对话! 

LB:你会本身思考吗? 

电脑:我会本身思考! 

面试官也跃跃欲试:你能够滚出去吗? 

电脑:我能够滚出去!

寒冷的冬天,外出的农夫,看见一条冻僵的蛇,因而把蛇带回了家,解冻以后,泡进酒里,蛇终于醒了,看到如此场景,蛇说:我也是醉了。

emmm~

言归正传,技术面就是看你的技术栈,而后结合项目去提问,并根据项目遇到的问题,要求回答出解决方案,而且根据遇到的问题会继续问深一层或者变形,考察你是否真的对问题进行了仔细的思考和深刻的研究,以及问题对应的技术功底是否深厚,因此这里提到的重点是项目结合技术栈,若是你的项目没有用到你写的技术,那么就是扯蛋,那么面试官就会认为这个候选人只是停留在理论基础或者是初学,并无实践,若是是应届生还说的过去,不然多半会被PASS。

那什么基础功底

好比问你某些关键字的做用如static

若是你答出static修饰变量、修饰方法我会认为你合格,答出静态块,我会认为你不错,答出静态内部类我会认为你很好,答出静态导包我会对你很满意,满意的缘由是能看出你确实很是热衷研究技术。Static 关键字的 5 种用法,推荐你看下这篇。这比你在自我评价写一万句本人热爱研究技术,学习能力强之类的废话更有说服力。关注Java技术栈微信公众号,在后台回复:java,能够获取我整理的java系列教程,都是干货!

又如问你对锁部分的了解

1.通常人回答出Synchronized具备多线程的同步做用,能防止多个线性同时访问同一临界资源。面试常考:Synchronized 有几种用法?看下吧!

2.可是却不多人提到 Synchronized的局限性(没法解決业务层面并发)。

3.能够说明锁的用法,如能够建立 Reentrantlock类的可重入锁,并且能够经过其中的lock和unlock方法行加锁和解锁的操做。

4.说出可重入锁、公平锁和读写锁,如词锁的含义、公平数的含义,以及在建立 Reentrantlock和 Semaphore时如何经过参数强它是不是公平锁,也能够说明在读写锁中加读锁和写锁的条件,由此介绍经过读写线程吞吐量的作法。

5.在协调多个线程处理临界资源时,可使用锁,但这不是惟一的解决方法,还能够用 Condition和 Semaphore管理多线程竟争的方法。首先,说明这两个类的基本用法如能够经过 Reentrantlock来建立 Condition,过 Condition的awat和 signal来实现相似加锁和解锁的功能,能够经过 Semaphore acquire和 release方法来申请和释放资源。Java中的锁原理、锁优化、CAS、AQS详解,推荐阅读。关注Java技术栈微信公众号,在后台回复:多线程,能够获取我整理的多线程系列教程,都是干货!

另外,说明用 Condition和 Semaphore的特色(在哪些场景下用它们比较合适)经过 Condition类的相关方法,能够在不一样的线程中建立多个阻塞队列,从而能精准的控制唤醒某个阻塞队列的线程,而不是只唤醒默认的阻塞队列的线程,而 Semaphore能够用在多个线程竞争少许资源的场合中。如10张票,20个线程的抢购场景。

再如问你对框架里的了解

由于通常的候选人,大多仅仅是能“山寨”别人的代码,也就是说能在现有框架的基础上,照着别人写的流程,扩展出新的功能模块。好比要写个股票挂单的功能模块,是会模仿现有的下单流程,而后从前端到后端再到数据库,依样画葫芦写一遍,最多把功能相关的代码点改掉。其实咱们每一个人都这样过来的,但在面试时,若是你仅仅表现出这样的能力,就和大多数人的水平差很少了,在这点就无法体现出你的优点了。

咱们知道,若是单纯使用SSM框架,大多数项目都会有痛点。好比数据库性能差,或者业务模块比较复杂,并发量比较高,用Spring MVC里的Controller没法知足跳转的需求。因此通常还会被问:你除了依照现有框架写业务代码时,还作了哪些改动?关注Java技术栈微信公众号,在后台回复:spring,能够获取我整理的spring系列教程,都是干货!

对于这个问题,不在意听到什么回答,只关心回答符不符逻辑。通常只要答对,面试官就会给出“在框架层面有本身的体会,有必定的了解”,不然,就只会给出“只能在项目经理带领下编写框架代码,对框架自己了解很少”。

回答例若有:增长了Redis缓存,以免频繁调用一些不变的数据。或者,在MyBitas的xml里,select语句where条件有isnull,即这个值有就增长一个where条件,对此,会对任何一个where增长一个不带isnull的查询条件,以避免该语句当传入参数都是null时,作全表扫描。或者对返回信息作了压缩处理,以增长网络传输性能。

小结:

技术面试很是重要,这里说的重要不是说对于整个求职过程重要,由于在求职过程哪怕是HR面都有权利决定不要你,因此说没有重不重要的,这里说的重要的是指这是检验你自身水平的能力的考察,经过面试其实能够反映出你的自身不少问题,好比,知识面有了,可是不够全面,或者知识面全了可是不够深刻,或者把需求转化为实际产品的能力不足等等,这些东西才是对于你来讲是重要的,若是你的能力有了,还会惧怕找不到工做吗?这里最怕的就是明知本身能力不足,又不肯意专研学习,还想着高新,只能说你不适合当一名程序员。

那么问题来了,我知道本身的状况,可是又不知道努力的方向,或者不知道怎么提高本身,怎么办?若是你能提出这样的问题,LB只能说,你独立解决问题能力确实也是挺差的,由于在咱们开发当中,常常会遇到一些需求,都不知道怎么去作,或者用一些彻底没接触过用的框架,若是团队中有人熟悉那还好,可是也别期望别人教你太多,因此这个时候就只能靠本身了,无它,须要你经过网上找教学资料(视频,博客,官方网)的方式快速学习,这些资料花几块钱随手可得,而后一步一个脚印慢慢的把产品作出来。

HR跪舔与防坑宝典(LB总结了一些)

自我介绍

您好,很荣幸有机会来参加公司的面试

1.我的经历(我是谁,我来自哪里,年龄,学历,从业经历)实习加上正职

2.公司为何要选你(应聘岗位中最重要的3个技能点,说清楚相关经验)我能作好我要作的事情,我相信本身

3.你为何要选这家公司(就公司的产品,文化,影响力等)着重说出你选择的理由如贵公司的高技术开发环境很吸引我,贵公司在近年来市场上颇有竞争力,贵公司可以提供一个不同凡响的发展道理

高频问题

1.上一家公司,你为何会离职?

1.公司很好,可是公司调整了业务,接下来的发展路线和本身的目标不一致,因此要换工做

2.工做太悠闲,学不到知识,我不怕累,就是想多锻炼本身,想找具备挑战力工做

3.公司的管理制度不也是很完善,没有晋升机会,我比较想进步,找一个更好的平台

4.我想去优秀的公司,让本身变得更好

2.为何来咱们这里?

1.对原单位充满感恩,这是我人生中很是重要的经历,我认同原单位领导和文化

2.两份工做的本质是一致的,行业和工做性质都有紧密联系

3.选择一份新的工做不表明背叛过去,发扬原公司魅力,同时为了寻求更大的成长和突破

4.不承诺一份工做干一生,保证在个人任期内尽职尽责

3.你怎么看待本身之后的职涯?(包括工做和家庭的分配,怎么平衡家庭和工做的关系、加班、选择一家公司时的考量、地点等)(离职稳定性)

我准备在技术领域有所做为,我但愿在我3到5年内,具有什么样的素质,在行业内达到什么样的水平,产出什么样的工做成果,将规划量化,具体化

4.对薪资指望(不要直接说数,毫不能表现出没到多少钱或者什么层级我就不去)

薪资应该基于你求职行业的市场价格和自身的价值,例如目前这个岗位的平均工资是8K,虽然我刚毕业,可是在我工做期间已经有过两份的相关经验并且都是做为核心成员参与项目,所以能够很快上手这份工做,因此我但愿可以在转正后的工资能达到10K等等

5.能够接受降薪吗?(先了解公司薪酬体系,根据行业和自身能力来定位)

若是候选人的调性符合(足够官方),能够这么回答:我也了解咋们公司如今的薪资架构,我相信公司会根据个人能力给出一个合理的薪水方案,我相信只要把事情作好,该有的必定会有的对于这样的部门,“ 毕竟贵公司在作一个历来没有人作的这么好的事情,因此确定是有难度的,确定是要付出大量努力的 ”

6.本身以为本身工做上的短板/优势是什么?

  • 不能避而不谈,
  • 不能变相夸本身,
  • 不能暴露重大缺陷,
  • 能够将一些能接受能改进的缺点

综上:缺点加说明加改进

7.说说本身性格上的优缺点(描述一下本身的性格)

我不懂得如何拒绝他人,我拉不下面子去指出别人的问题,我作事的时候但愿立刻就能看到成效,有时候会比较贪心,想同时作好几项工做,我比较慢热,不善于和陌生人打交道,我有意识的让本身在改正,让本身更加有亲和力,我很是在乎别人对本身的工做评价,得不到好评就会焦虑,其实我也在开导本身别太功利心了。沉着冷静,条例清楚,立场坚决,顽强向上,乐于助人和关心他人,适应能力等等

8.怎么看待加班(你能接受99六、99七、007吗)?

能够接受版本

若是候选人的调性符合(足够官方),能够这么回答:我以为咱们要实现梦想,必定是要付出比较多努力的,因此我已经作好了准备,也愿意和小伙伴们一块儿战斗我是能够加班的,我如今加班强度就是比较大的。由于我喜欢这个事情,我想把这个事情作好。项目忙的时候可能一个月都没有休息日,我以为要应对这么忙的工做,光有心理准备其实还不够,还要有特别好的身体素质,因此我准备把健身的习惯一直坚持下去

不接受版本

加班是应该的,不加班也是应该的,没有把事情作完是不该该的,由于能力低完成工做慢形成的加班,并非一件好事,不加班是能力,加班是态度,能力不够的状况下,态度去补。

9.你谈恋爱了没?(状态是否稳定,会不会由于感情影响工做,很快结婚,休婚假产假)

我尚未谈恋爱,目前不考虑恋爱问题,我但愿本身变得更优秀之后,在谈一场稳定的恋爱,因此如今想把主要的精力放在工做上。

我已经有男友或女友,咱们都在这个城市工做,目前准备先工做几年,有精力能力了在考虑结婚。

10.是否还面试其余公司(HR确认求职意向与诚信度)

实话实说,选择名声较大较好的公司来讲,职位和如今的求职相思相近,表是本身求职意向专注,还在等候结果

11.项目中遇到的最大挑战是什么?怎么解决的?

因人而已,须要描述问题产生的缘由,查找解决问题的方式,对比那种更加好,遇到什么问题,最终怎么一步一步解决的

12.最有成就感的事情是?

作有挑战性的事情,而且可以作好,或者是坚持一个习惯好久,如坚持写博客,坚持看书

13.你有什么问题想问的?

1.你做为一个资深的CODER,我想知道,你平时是怎么学习技术,有什么好的学习途径,怎么才能作到像你同样强呢?

2.公司的业务和技术栈是什么呢?

3.技术难点怎么解决,有什么技术支持

4.天天有多少时间花在写代码上

14.收到OFFER该问的5个问题

1.试用期工资和时间(正常来讲合同是3年,试用期是3个月)

2.转正考核的方式,转正工资

3.工做时间以及加班计算(一周五天工做制,一天8小时)

4.培训晋升机制

5.福利状况(五险一金,餐补,其余补贴如电脑补贴)

关注Java技术栈微信公众号,在后台回复:面试,能够获取我整理的面试系列经验,都是干货!

推荐去个人博客阅读更多:

1.Java JVM、集合、多线程、新特性系列教程

2.Spring MVC、Spring Boot、Spring Cloud 系列教程

3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程

4.Java、后端、架构、阿里巴巴等大厂最新面试题

生活很美好,明天见~

相关文章
相关标签/搜索