Java 大神面试经验
作者:黄靠谱
概述
程序员跳槽的原因:
钱没给够:没涨薪、涨薪太慢、自己提升太快,面试市场价高于当前薪资太多
职业发展:项目太简单、技术太旧、缺乏领导机会、并发不够
心受委屈:恶心的领导、恶心的制度、恶心的产品经理
加班太猛:身体扛不住,或者没有自己的生活时间(996的互联网文化)
其它:归属感、同事的圈子、福利、技术氛围
跳槽注意事项:
自己先想清楚自己要什么:我的长期的职业规划是什么?我为什么要离职?我理想的跳槽公司是什么样的公司?
充分准备
多投几家多面试
理性选择
1、 尽量不要讲假话(容易露馅),但是也不能全盘而出,面试也是一场谈判,大家都会藏着点的,善于保护自己的缺点(给面试官一个好印象,可以抬高薪资),get到对方的需求点,大家聊的越开心,一般来讲,成功率越高,薪资也越高,谈个好的价钱,充分了解到对方的优势和劣势。 就好比你问对方,你们公司的技术氛围怎么样,没有面试官会告诉你很垃圾的。 就好比公司996,但是你如果不主动问,面试官也不会直接主动告诉你,我们公司加班很变态。 面试是一场博弈,我们要尽量武装自己,做好准备,探明情况。 你掌握的信息越多,越有利于自己谈薪资,而且很多坑是可以避免的,你讨厌996的公司文化,那你就提前问清楚,不要盲目进坑之后不停的抱怨,然后刚进坑就想着换坑,问题是出在自己身上,而不是公司的文化上
2、 你需要了解的内容:
在网上查一下员工对该公司的评价
工作时间:加班情况,平时的工作时间,加班是否有调休。加班多的话,薪资就要多要一点,不然委屈的加班,对双方都不好。
项目情况(项目的进度,新项目还是维护老项目、项目所用的技术、项目小组的成员情况)
薪资:薪资构成(项目奖金、年终奖、平均大家拿年终奖的构成、五险一金、缴金基数、补充公积金、饭补、交通补助、其它福利),以及薪资是如何发放的
年假、病假、团建
3、 技术面试不仅仅是技术,而是一场 技术、三观、运气、简历技巧、面试技巧的一场综合PK。多面几家,好好准备,对自己的前途负责啊。你要知道你现在面试的公司,就是你未来跳槽的上一家公司啊。你要对自己的履历负责,也要对自己未来两三年甚至更长时间的生活负责啊。
4、选对招聘软件是关键啊。前几年最火的是 智联招聘、猎聘网,今年最火的是Boss直聘啊
5、 不同的公司面试要准备不同的简历、不同的自我介绍啊。
比如阿里的简历,谨慎的选择“精通”这样的修饰词,可能碰到这个开源技术的原作者,所以要谦虚一点。
一开始绝对不要面自己心仪的公司,越想去的公司越排在后面。
一开始拿一个offer保底很重要(至少是自己真正愿意去的公司),手上有offer,心态就会很好,去自己心仪的公司,也敢开价,有底气,自信。
比较颠覆三观的面经:
谁说能力决定薪资?有的公司就是土豪,开薪资拿到你手软,有的公司开低价他还不乐意,一面 10分钟就被打发走了
技术面试不一定技术能力主导一切。有的公司面试主导结果的因素:价值观、开发年限、面试技巧。你能力再强又如何?技术强,这事不一定成,或者有的公司技术实力那都不是大事,对领导的口味才是关键
面试时经常问的问题
做个自我介绍吧
介绍一下你做过的最有亮点的项目,架构是什么样的?解决的是什么问题?你做了哪些工作?你扮演什么角色?
你觉得你做过的最有挑战性的内容是什么?
你是怎么保持学习的?
你为什么跳槽?
你之前每家单位离职的原因(面试官想要考察你的稳定性)
你的职业规划是什么?
你的优点和缺点分别是什么?
你现在的薪资是多少?你期望的薪资是多少?
自我介绍
精心设计:这可能是你唯一一次可以主导谈话节奏的机会
值得推敲:你说你基础很好,那么面试官就怼基础。你说你很快成为核心角色,那么面试官就会问你,你在最近的项目里扮演的角色。你说你做过一些架构优化,那么面试官就被你引导到项目优化上面了
跳槽的原因
一个很难回答,但是每个新公司都很好奇,非常重要而且是必问的问题,因为面试官想知道你的稳定性和基本价值观。为了避免面试官断章取义,最好先把所有的原因罗列一下,再详细展开。
综合来看:钱没给够、职业发展、心受委屈、稳定性和归属感、加班太猛。实际上可以拿出台面上来讲的就只有职业发展。
其实我觉得一家公司要保持对员工核心的吸引力,还是要保持自己的优势在:比如华为的薪资就是高,股票分红拿到手软。比如阿里的技术氛围,比如Google的尊重员工自由的文化。就好比一个真正的女神从来不担心没有男人围着转是一个道理。
1、因为钱没给够是大家心照不宣的,一般的跳槽的涨薪幅度在20%--30%之间,而且如果你说是因为钱的话,那么面试官会认为你在该公司也待不长久,只要有钱多的公司你还会跳槽,稳定性特别不好,而且很浮躁,因为钱不应该成为你跳槽的主要原因或者全部的原因。而且如果互相真有意愿,最后环节会跟你谈期望薪资的,没必要一开始就谈这个敏感的话题。
2、心受委屈也不好说,因为每个公司的制度不可能完美,而且一套制度不可能让所有人都满意。而且假如是你的领导恶心、产品经理恶心、制度恶心首先面试的公司也可能存在同样的问题,而且你首先要证明他们是怎么恶心的,面试官需要先做一个判断,是你自身的问题,还是他人的问题。
3、加班太猛,面试官可能会担心你的身体状况。另外如果你面试的是996的公司,如果你接受不了加班文化,面试就到此结束了。如果一定要说的话,一定要量化。你认为的加班严重和面试官认为的加班严重可能不是一种Level
4、其它:比如公司稳定性、归属感。这一招特别适合面试国企单位的时候,因为他们最大的特点就在稳定,福利好。也是适合大龄程序员的真实诉求。
薪资的不稳定,比如我们30%的是收入是项目补助,如果因为一个项目停止而没有新的项目进入,导致收入大幅度降低,非自身原因导致收入大幅度降低,非常没有安全感
没有年会、节日礼金只有50元的京东卡。
办公环境差,一楼阴暗的角落,窗户是不能打开的,违反信息安全的,夏天全是蚊子,花露水都没用,上班的时候进公司都是一股霉味。
5、 职业发展:唯一能拿上台面来讲的理由。但是要结合新公司的特点啊。比如招聘的岗位是 技术烂的银行,你就不要说因为老项目技术烂了,因为他们的更烂
项目用的技术太烂了:项目框架太旧、高并发、海量数据、复杂的业务场景
一直再写业务代码,而且做的业务并不复杂,或者没有多大复用的价值,无法成为业务专家
一直维护老项目,缺乏架构搭建的经验
缺乏领导团队的机会
缺乏规划开发流程的经验
面试心得
一定要谨慎,多对比,要有长远眼光看待问题,跳槽不仅仅是加薪,换一个地方挣钱。因为你的下一份工作,就是你未来跳槽的工作经历,你下次跳槽的定薪会参考你这次入职的薪资。都是一环扣一环,有个好的工作经历或者项目经理,一辈子都可以享受红利的。
你如果想往业务专家发展,就要去银行、保险、财务ERP等公司跳。你如果想做架构师,就要去互联网公司历练一下。你如果想转项目经理,就要去活儿多的外包公司,可以让你快速具备项目管理经验。
1、 面试数量决定质量,广撒网重点捕捞绝对没错,只要有机会就去尝试一下,折腾一点、姿态低一点,只要结果好,但是受益终身啊。谁说技术面试一定要面技术,重构了我的价值观啊!
每个公司、每个岗位、每个面试官 HR 部门的偏好都不同:
国企讲的是三观,一轮技术面试蜻蜓点水,一轮主管面试就可以留人了。
有的技术面试聊的还可以吧,因为简历上开发年限只有3年半,直接pass,根据面试官的私下追问,他们主管说才三年半就想要这个薪资,直接pass。
很多公司定薪是由HR和部门主管定的,有的公司技术面试只能决定你是否符合这个岗位,至于薪资多少,技术面试官没有决策权,甚至没有建议权
每个公司和主管的偏好不同:三观、技术、领导力和团队协作、业务经验、完整的项目经验。
2、 最近一份工作的薪资绝对不要吹大,可以吹一下手头上的offer开价,因为这个是无法求证的,现在都精的不要不要了,拉税单,拉工资流水,提供工资单,提供公积金截图
因为这个是由入职者提供的,所以对于HR是几乎没有工作量的。她只需要ckeck一下就可以了。
另外一个角度说明,你现在选公司的薪水很重要,下一家公司会参考上家公司的薪水。特别是国企。这对他们特别有利,降低他们技术面试不充分导致滥竽充数的概率。
3、 自己要想清楚:
我为什么要离职(除了涨薪还有什么原因)
你之前每家单位离职的原因(面试官想要考察你的稳定性)
我的职业规划是什么(有点扯淡,面技术岗位肯定就说架构师,面偏向业务的岗位就说 业务专家。最怕你没有管理经验说自己想往管理转型,公司不愿意培养一个项目经理的,公司需要项目经理就直接招一个项目经理了,为什么要培养你呢?所以要藏着点,如果能力够了的话,自然会让你带小弟,自然会让你带团队,水到渠成的事。否则你会让面试官很懵逼)。
面试官想知道你和这个职位的匹配度如何
你理想的工作是什么?
3、 简历最重要。一般都是HR先筛选一下简历,再把简历给技术面试官筛选,也就是说简历要同时满足HR和技术面试官,都符合口味才会约着面试。
在Boss直聘上面,自我介绍可以多吹吹水,显得更加自信,比如:我技术能力挺强的,工作也很靠谱、稳定,希望有机会进一步沟通。这样自我介绍,获得面试的机会会多一些。
这是HR看的,能否有面试机会就看简历了。一定要反复斟酌,主要信息是否正确。我的工作经历的年份写错了,这给面试官的第一印象就是不靠谱啊。
HR筛选简历的方式简单粗暴:开发年限、毕业学校、专业、技能匹配、项目匹配等,所以这些关键信息,一定也要简单显眼的方式暴露给HR,一定要充分重视啊
简历里面一定要有亮点,不要堆砌一些啰嗦的、无关紧要的信息,给技术面试官看一些他想看到的、吸引他眼球的信息,不是亮点的地方一笔带过。比如我项目经验当中比较有亮点的就是架构优化。
我觉得比较好的简历:一开始介绍自己的关键信息,第二介绍自己的公司经历,第三是熟悉的技能,第四是项目经历,第五再是个人介绍。这种模式专为HR和面试官准备的,帮助他们从海量简历中挑选出自己的需求
4、 薪资
真正想去的公司,还是要先估摸好自己的期望薪资,还是要脸皮厚多要一点,大不了人家砍价呗,可是万一人家壕,同意了呢。要是你开一个自己也不太愿意的薪资,结果人家接受了,再定薪之后你又后悔,真的很尴尬,感觉耍了人家,你说期望年薪万,结果人家开了万,你又不去。
一般拒绝offer的时候,可以厚着脸皮问一句,能否帮忙再争取一下,如果能开到多少,我还是很愿意去的。有的HR会主动问你,有的HR抹不开面子,其实也想问的,真想去一家公司就要脸皮厚。有很多真实的案例,真要拒绝offer的时候,直接找HR,加薪的案例很多哎。最好告诉HR一个自己的期望值。
薪资要综合多方面因素考虑的,特别是加班情况和其它福利情况,这笔帐要算清楚啊,月薪还是年薪,年终奖怎么算,住房成本、交通成本。抛开这一切谈期望薪资都是扯淡啊。这种一上来就让你填期望年薪的极不靠谱。建议先不填,或者填多少万以上
5、 一定要多做功课
网上摸清楚状况,避免踩坑,非常关键啊。有很多话 面试官出于个人利益是不方便讲的。还有一些优势,HR习以为常,竟然自己家的优势不介绍。
比如公司加班很多(有些不告诉你,有些HR甚至会骗你说不加班,996 997如果提前知道很重要,多劳就要多得,加班多那期望薪资就要多要一点,其实很多技术面试官希望你知道他们加班多,希望你多要一点,因为基于充分了解,接下来的共事才会愉悦,他们也不想害你进坑。你如果提前知道并且讲明了,我可以接受996,他们会觉得很踏实,会非常希望和你做同事)
比如公司内部斗争很激烈
比如考核机制很变态
比如公司福利很好,食堂很棒,上班自由
6、 细节:
面试的时候带好简历,有很多公司的HR很不靠谱啊,连打印一份完整的简历都做不到,或者打印出来的简历是BOSS直聘的简历,排版混乱。
有的公司的HR甚至都没有纸质版的简历,发个电子版让面试官看,日你麻痹。
平安金服的助理打印出来的简历居然只有最后一张。
草!面试官拿到这种简历的第一反应也是崩溃了,自己本来就忙成狗,你这HR还拿这破玩意来糊弄我,我也糊弄一下。
我亲眼看到平安金服的面试官怼他们的HR助理,助理说我收到的简历就只有最后一张,我远远的根据面试官的唇形来判断,以后这样的简历不要拿给我。
另外反复确认简历上面的信息的准确性。比如年份,不然你连怎么死的都不知道,我简历上的最后一家单位的年限写成2018年了,草
7、 与人为善,和平分手。就算你现在公司的HR、主管、项目经理很恶心,你也不要做的太绝了,现在的HR越来越精啦,咱得罪不起啊。有的公司要求你背景调查包括之前公司的证明人(HR 还必须是 座机,防止你作弊),还有你之前直接主官的联系方式。我操,删库跑路,直接一查就全知道了。还是要与人为善,和平分手吧,不为别的,为了自己的前程啊。就算现在的公司恶心,你也得罪不起啊。血淋淋的现实摆在你面前。不要意气用事,多个朋友多条路,多个敌人多堵墙。指不定哪天,他就成为整个链条中的核心环节。
8、 面试技巧:
最想去的公司一定要最后去,真的面试讲感觉的。面试完10家公司之后,讲过二三十遍的自我介绍和项目介绍,基本后面都是条件反射啦,6的不要不要,根本不用担心会结巴。给人的感觉就是准备的很充分啦,其实都是现学现卖。
很多公司的面试题是一样的。比如热点问题:分布式事务、threadlocal、线程池、jvm
尽量争取电话面试,根据我的经验,一家公司不同面试官的面试题的重复率高的惊人,可能是因为项目的技术栈差不多吧。所以第一轮电话面,一定要把自己没答上的问题查清楚,最好再拓展一下,基本上这个路子就不会错了。
9、 每年参加几次面试很有用,不一定是为了跳槽,而是帮助你认识到自己的不足,特别是有挑战性的面试。我本来自我感觉特别良好,源码和官方文档看了这么多,分分钟吊打面试官的,但是经历多次面试发现了自己处于一个非常危险的状态。面试会帮你认知到:根据你的情况对标的这个岗位,是需要具备哪些方面的能力。你的Gap是什么
10、 裸辞是一件风险很高的事情,特别是离职后还没拿到心仪的offer,整个人的心态都崩了,出于安全感的考虑,可能就找个差不多的offer就凑活了。一凑活就又陷入不好的工作状态,直接导致下一次跳槽,恶性循环。而且有些公司的入职流程特别长,需要一层层的领导审批,特别是国企,面试一上午就结束了,当天晚上出了结果,通过了,可以三周过去了,才刚定薪结束,预计还要3周的流程要走。白白空跑一个月,xx万块钱啊。关键还没发offer,旅游都没法彻底放空,玩都不踏实。阿里面试的流程最快也要一个月,裸辞你就等着,心态容易崩。而且定好工作之后再离职,可以充分交接啊。公司有时间找到替代者。
11、每个公司的薪酬标准本就不同,多面几家公司,相同的实力,面出来的价格相差巨大。有的公司刚融资,有钱。有的公司手头紧张。也就是能力一样,面出来的薪资相差巨大啊。脉脉职言:说有个哥们同时拿到阿里和拼多多的offer,拼多多能多50%。草!谁说能力决定薪资?谁说的?每次发挥也不同啊,平安金服手写 顺序打印奇偶数,麻痹我写对了,面试官脑子没转过来,直接就挂了。这真是万万没想到啊,我去之前都犹豫要不要面,因为offer基本稳了,面过了还要想着怎么拒绝别人。所以有时候就是在碰运气,正好赶上对的公司对的领导在招人,而我又赶上了,就水到渠成了。
12、 大厂算法题,而且是手写算法题很流行,但是一般难度的算法题居多。排序、链表、树、数组,所以多刷点题目绝对很有必要,不同公司算法题重复率高的惊人,而且是手写。
13、面试的技术问题,50%以上出自你的简历,一般面试官问问题的思路
简历上写的技能,面试官挑自己熟悉的问,有的技术官比较牛逼,会全部问一遍。所以你的简历就是最好的技术面试准备资料
项目中用到的技术
常问的一些问题:HashMap、JVM、SQL优化、锁、threadlocal、线程池、分布式事务
未来项目要用到的一些技术,有的面试官比较暴力,直接给业务场景,让你说解决方案。比如让你设计一个秒杀的框架,比如做一个高并发场景的流量统计,比如说从各个角度出发,如何提升一个系统的并发能力
14、 笔试题一定要充分重视啊,有的公司喜欢搞笔试题,还笔试一些特别基础的问题,但是平时都是百度解决的。而且笔试题的得分会影响你的定薪。基本上的流程都是你一到公司,HR让你填一个入职申请表格,然后就丢给你一个笔试试卷,让你写。然后20分钟以后,面试官开始来面了。所以一定要记住,但凡有笔试题的,面试官都会看你笔试的结果,然后根据这些笔试题来问问题。所以不要摆架子,姿态放低一点,HR一走就疯狂百度。所以先扫一眼所有的题目,有不会的直接百度,大致都有思路了,再一题一题的写。不要等面试官来了,你发现有不会的问题,都不好意思当面手机百度了。这就是套路啊,血淋淋的套路。