大家好,我是小羽
马上就是新年啦,最近有很多粉丝跟我交流关于面试方面的经验以及分享,也有部分是在准备明年的金三银四的春招。
小羽也一直没出关于面试方面的文章,这篇就结合自己之前的面试经历以及总结,在这里分享给大家。回忆起当初面试的时候说很简单那肯定是假的,也基本准备了很长一段时间,最终结果也很满意。所以在这里将一些小羽当初踩过的坑以及需要注意的事项,分享出来,希望给那些有年后换工作或者正在准备新面试的朋友一些帮助。
好了,开始进入我们的正文。
内容要素
简历是我们必须用心准备的第一个重点,对于面试官来说,一份相对直接清晰明了的简历,会让他们快速的注意到你,才会给你发送面试邀请。那么我们在简历中应该主要写明什么内容呢,小伙伴请看小羽罗列出的内容要素:
履历情况中,工作经历采用倒叙,不要有相当长时间的空档期。公司不建议写太多,比如你有两年经验最多写两个公司,不然会让面试官觉得你不稳定,流动性大。公司填写要写真实存在的公司,切记不可编公司名,或者以某某公司代替,以防止做背调。信息简介需要正确填写姓名,性别,居住地(现居住地),邮箱,手机号。手机号以及邮箱号别写错了,这是 HR 联系你的主要途径。
项目情况中,项目经历一样要注意项目的个数,控制在 5
个之内。每个项目的具体内容控制在 5-6 行之内,具体体现项目的周期、功能、技术。着重写明你负责的模块功能,使用哪种技术栈来实现的。
技术功底,对于技术名词不要直接罗列,建议展开,通过例子来说明。比如写:“精通MySQL、Druid、Activiti”,可以这样写:“熟练使用MySQL数据库和Driud数据库连接池对数据库进行持久化操作,用Activiti工作流对相关报表数据的打印”,会让面试者觉得你的技术栈能灵活体现在具体功能实现中。谨慎使用精通,除非你对这一技术点研究很彻底。
个人 IP,这一项对于有相关领域有所成就或者贡献的,可以填写。属于加分项,面试者看到你的这些业余产出,同等情况下,会更看好你,有助于优先录取。
学习情况,如果你是计算机专业就写明具体专业情况,非科班就不用刻意写明。成绩优秀者可以酌情填写自己在校期间获得的奖项。
自我总结,放到最后,让面试者进一步了解你的其他情况,方便做出综合评估。也可以从另一方面看到你本人的工作与生活情况。
其他注意事项
不建议粘贴个人照片,尤其是艺术照、生活照之类不正式的照片。页面在两到三页之间,有序排列,不需要封面。
简历背景不要搞的太华丽,对于 IT 从业者来说,更重要的应该体现的是你的技术栈,而非华丽的颜色渲染,会让面试者觉得你华而不实。
字体要格式保持一致,建议使用正文小四,行距也要做到统一,标题适当加粗。对于技术名词的大小写一定要写对(html-Html、dbunit-Dbunit、cas-CAS)。给面试官一种你很严谨的体现,才会对你有进一步的兴趣。
如果有带自己的代码展示,一定要注意检查自己是否有注释的习惯,以及各包名的命名情况。说白,并不会去细看你的代码,只会大概看下你的结构组成,有没有达到规范,细节真的很重要。
但凡是写到简历上的内容以及技术栈,就要通通掌握。绝大多数情况,面试官会按照你所写的简历对你进行提问。所以,要提前熟练了解每个技术点的来龙去脉以及功能体现,在项目中遇到的问题以及解决方案也要记录一下。
对于薪资来说的话,对自己技术很自信的话,可以写期望薪资精确一点。如果觉得应聘这一岗位超过自己的预期,就可以写成面议,这样都有商量的余地。
招聘渠道
现在市面上找工作的网站很多很多,但是针对互联网来说的话,小羽感觉不错的首选推荐 BOSS
直聘,拉勾招聘这两款软件
当然啦,还有其他也可以,只要自己做好鉴别即可,如下:
智联招聘:https://www.zhaopin.com/
前程无忧:https://www.51job.com/
香草招聘:https://www.xp.work/
英才网联:https://m.800hr.com/
猎聘网:https://www.liepin.com/
58网:https://bj.58.com/
脉脉:https://maimai.cn/
内推:有人脉资源,尽量走内推,机遇会大很多!
注意事项
如果在近期就想找到工作的话,可以每天安排 20 个投递,然后提前看好所投这些公司的技能要求。对于面试要合理安排时间,一天不超过 3
个面试,最好是上午一个,下午一个,这样也有充足的时间去总结每天的面试题。
周一还有周五下午尽量别投,因为基本都是公司在开会,或者接近周末时间了,HR 看到机会比较小。上午投递时间建议在 8:30-9:30 之间,下午投递时间建议在 13:30-14:30之间,HR 第一时间看到肯定会优先联系。当然对于同一时间有很多面试者邀请,一定要做好时间规划,免得冲突。
不建议海投,应该有所针对性的投递。也要对不同的公司所需要用的技术特点,来改善补充自己的简历情况,不可千篇一律,对症下药,机会才会更多。不要觉得麻烦就一堆乱投,毕竟是在给自己找工作。选职位的时候,要注意你与当前岗位的匹配度,只要超过一半即可投递。
有的公司比较大的话,肯定日常收到的简历会很多,所以这个时候要注意他们发布的招聘信息上有没有邮箱之类的信息。有的话,可以通过邮件发送自己的简历,邮件的标题做到简介明了,比如“小羽应聘贵公司 Java 开发工程师”即可。如果你有相应的项目想要展示的话,加在附件一起发送过去。
简历不建议公开,不然会收到很多诸如外包公司的联系,以及一些诈骗消息。当然最保险还是,电话问清楚,具体是哪家公司,然后检查自己是否投递过。没有投递过的,就当心一点,毕竟现在采集信息太方便了,还是要做到安全第一的。
面试技巧
前面说的都是准备工作,接下来介绍的是你最为关键的部分,可以这么说,你的成功与否,面试当场表现可以占到百分之九十。下面小羽介绍一些需要在面试中注意的技巧供大家学习。
正常流程都是首先需要填表,将个人信息完整无误填好交给前台小姐姐。这时会给你一份笔试题,笔试题一般都不会太难,把握好时间将自己能拿下的一定要答对。不会的也要写下思路,不能空着。部分公司有上机题,根据自己情况进行解答就可以。
接下来就会到面试官正式面试的时候,先简单的做个自我介绍,一般3分钟之内就好,不宜时间过长,不要完全背简历上的内容。具体可以从这些方面来说:我是谁,之前在哪里工作过,负责的项目有哪些,都用了哪些技术栈。这样就会引导面试官向你了解的技术方向所靠拢。这样就将面试引入到你所熟悉的技能方面,简短的将简历的核心内容告诉面试官。也建议尽量以日常交流的方式交谈,这样会让面试官觉得很亲近,仿佛是工作中小组讨论项目的过程。
切记不要紧张,公司多的很,就算这一家不要,还有后面数不尽的公司在等你,总有一个适合你的。所以在面试过程中,轻松自然一点,然后保证气氛活跃一点,就当成是两个人聊天而已,当答的不好的地方,积极向面试官询问。就算这家不要,这个知识点掌握了,下家不就会了吗。一定要学会引导面试官向对你有利的方面提问,这样才会达到事半功倍的效果。
注意事项
在与面试官交流的时候,不要全场紧盯着面试官,这样会让人觉得很不自然。不能抖腿,或者有其他的小动作,严格把握好自己的行为举止。讲完自己的一个观点以后,要及时告诉面试官,你的回答已经结束,看面试官是否满意。
讲话语速不宜太快,跟着思维一步一步来,这样面试官才会看到你是在认真想问题,想解决方案,过快,也会导致会有很多表述不清,语句不连贯。对于不懂的技术,实事求是,不会就是不会,然后可以问面试官可否介绍一下贵公司这方面是如何实现的。
对于自己的薪资来说,也要有一个预期,适当可以根据公司的情况来进行衡量。比如你觉得这个公司很不错,就是公司给的不是很高,但是其他方面待遇还是很好的,觉得自己在这里能学习成长很多,也可以在这发展。对于一些给你不错薪资的公司来说,要认真衡量自己是否能胜任这一岗位,觉得可以胜任就接受。当然也要相信自己,不要一味将自己薪资定位很低,这样反而会让面试官觉得你技术能力欠缺。
一般情况的话,当你和技术经理面试的时间越长,证明他对你越感兴趣,也就是说明你能拿到这个公司的 offer
的几率越大。当最后技术经理跟你说,你等下,HR 一会面试你,那么恭喜你,你的技术已经得到了认可。相比技术来说,人事这边只要没有太大问题,都可以通过,主要也就是聊薪资以及看你的为人处事了。
小羽在这里罗列一部分关于技术面会涉及到的知识点,当然每个公司面试内容都不一样,还是需要自己多多总结的。以下供大家参考:
1.Java 核心知识的提问
有些面试官会直接问讲一下 java 的集合类。一般都会问到 ArrayList,LinkedList 的区别,主要答存储结构,增删改查效率;Set 会问到 hashSet,treeSet,以及 Set 和 map 的区别,list 和 set 的区别;Map 会问到 HashMap,TreeMap,HashTable 的区别;HashMap 会问到底层数据结构,以及解决 hash 碰撞的方法。Hashmap 底层涉及到红黑树,有些面试官会让解释一下红黑树;集合类怎么解决高并发问题;队列的使用问题;也有问到 Exception 的类型的,有的面试官会问到自定义异常的问题;Object 类中的方法;我们用的是 jdk1.8,有的面试官会问到 1.8 的新特性;笔试题会问到通过一段程序,写出打印语句。
2.Jvm 需要掌握的一些问题
jvm 内存模型,以及这些空间都存放什么东西;堆内存划分的空间,如何回收这些内存对象,有哪些回收算法;jvm 调优,如何解决线上 gc 问题;class 初始化过程;内存溢出的原因,如何排查线上问题;jvm 有哪些垃圾回收器,少部分公司会让解释一下某个垃圾回收器,一般都是 cms 往后的。类加载模型。
3.关于 Spring 问到比较多的
很多面试官会问到 spring 的底层代码,一般会问到 bean 的生命周期,有些会问到循环引用问题,以及 spring 中用到的设计模式;解释一下 spring,springMVC,springBoot;说一下 spring 和 springBoot 的区别;spring 的 AOP;spring 的事务是如何回滚的。
4.Mybatis 会涉及到的一些考察
Mybatis 和 hibernate 的区别;mybatis 的缓存,都缓存些什么,session 缓存存在哪;mybatis 的执行流程,需要了解源码;mybatis 防止 sql 注入,jdbc 防止 sql 注入。
5.多线程不得不了解的内容
多线程之间是如何通信的;synchronized
底层实现,和 lock
的区别;synchronized 关键字加在静态方法和实例方法的区别,有的面试官会出一些题,让判断是否会发生争夺锁问题;稍大点的厂会出面试题,涉及到 countdownlatch 的用法;线程池的用法,Executor 提供了几种线程池,大厂会问到线程池的参数,参数说明,拒绝策略有哪几种也需要说一下,任务放置的顺序过程,任务结束后会不会回收线程,未使用的线程池中的线程放在哪里,线程池线程存在哪,cache 线程池会不会销毁核心线程等问题。
6.MySql 老生常谈的知识点
Mysql 的索引类型,底层索引数据结构,用这个的好处,叶子节点存储的是什么,索引失效的原因;如何优化 sql
,查询计划的结果中看哪些些关键数据;innodb 和 myisam 的区别;mysql 默认隔离级别;mysql 的乐观锁和悲观锁,锁的种类;如何用 sql 实现乐观锁和悲观锁;mysql 如何分库分表。
7.所有公司都在用的 Redis
redis 的数据结构类型,一般都用在什么场景下;sortedSet 的底层数据结构;利用 redis 实现分布式锁;redis 使用单线程的好处;redis 中如何控制多线程并发;redis 删除 key 的策略;redis 的主动缓存,被动缓存;如何保证数据一致性问题;集群环境下如何处理,解释一下一致性哈希;解释一下缓存击穿,缓存穿透,缓存雪崩,如何解决这些问题。
8.中间件 MQ 的理解
mq 的结构图,交换机的种类,如何保证消费者是否消费,ack 返回的种类;请求过程服务宕机如何处理,已经支付,消费端服务处理不了;一般公司都会用到 kafka
。
9.设计模式
问的比较多的是单例模式,需要了解每种写法;项目中用到哪些设计模式,讲一下为什么要用,怎么用的?
10.微服务框架 SpringCloud
SpringCloud 和 dubbo 的区别;项目中用到了哪些组件;eureka 的原理,如何保证高可用性,和 Zookeeper 有什么区别;feign 如何调用的;处理生产环境上配置生效问题;hystrix 的降级策略有哪些
基本到了人事面,也就是我们的最终面了。HR 会问一些非技术相关的问题,主要是考察你的为人处事,看你是否有跟团队一起协作的一方面。也是很关键的,直接影响到最终会不会给你发 offer,以下是小羽总结的一些经常会被问到的人事面试问题:
1.请先做一个自我介绍?
在面试过程中首先会被被问到的,那么我们被问到之后,该如果回答呢?难道仅仅只说姓名?年龄?工作经验吗?
小羽推荐回答:
一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验等,其实这些信息你的个人简历上都有,面试官最希望知道的是求职者能否胜任这份工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但一定要突出积极的个性和做事的能力,说得合情合理企业的面试官才会相信。企业很重视一个人的礼貌,求职者要尊重面试官,在回答每个问题之后还可以加一句“谢谢”,企业喜欢有礼貌的求职者。切记:回答面试官问题的时候一定要回答的自然,有底气,否则你给面试官留下一个“假”的印象。
2.你最大的优点和缺点是什么?
一个人如果不能认清自己或者了解自己的话,那么他做任何事情都不能端正自己的态度,这样自然而然的无法给企业带来价值,企业还会聘用你吗?
小羽推荐回答:
通常面试官不希望听到直接回答的优缺点是什么等,例如:我优点很多、我最大的优点就是追求完美,最大的缺点就是优点太多,有的人以为这样回答会显得自己比较出色,但事实上,已经岌岌可危了。大家可以结合自己的性格,这么说:沉着冷静、条理清楚、立场坚定、顽强向上、乐于助人和关心他人、适应能力和幽默感、乐观和友爱。我在先前公司经过这几年的项目实战,使我更适合这份工作,企业喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分,企业喜欢聪明的求职者。
3.谈谈你对公司加班的看法?
基本被问到这个问题的话,这家公司将来会让你加班哦!现在的IT行业基本都是九九六,所以也不要太惊奇。被问到这题,求职者一定要把分寸自己拿捏好了。
小羽推荐回答:
好多公司会问这个问题,并不证明一定要加班,只是有时候项目多了要加班,想提前测试你是否愿意为公司奉献。面试官问到这道题,不要直接问面试官:“加班是否有加班费”?这样你是不会被公司录用的,面试官想提前测试你是否愿意为公司奉献,当然加班费也只有为数不多的公司现在还有。我们可以试着这么回答:如果是工作需要我会义不容辞加班,我现在年轻还单身,没有任何家庭负担,可以全身心的投入工作。但同时,我也会提高工作效率,减少不必要的加班;或者说如果是工作需要我会义不容辞加班,我现在已经成家,生活上已经稳定,这样更能全身心的投入工作。我也会提高工作效率,减少不必要的加班。这么回答之后,这道题你就顺利的过关了。
4.你对薪资的要求?
投递简历的时候,别再简历上体现“期望薪资”、“原来薪资”等一些关于薪资明确的数字,建议写“面议”。真正的薪资要是不是你写出来的,是你在面试的时候自己的价值体现!
小羽推荐回答:
大家找工作,都希望找个高薪的,那我们如何和公司去谈薪酬呢?你对薪酬的要求太低,那显然贬低自己的能力;你对薪酬的要求太高,那又会显得你分量过重,公司请不起。基本公司都事先对求聘的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给予的最高价钱,他们问你只不过想证实一下这笔钱是否足以引起你对该工作的兴趣。如果你自己必须说出具体数目,请不要说一个宽泛的范围,最好给出一个具体的数字,表明你已经对当今的人才市场作了调查。我们可以这么回答:我对工资没有硬性要求,我相信贵公司在处理我的问题上会友善合理。我注重的是找对工作机会,所以只要条件公平,我则不会计较太多,我希望公司能根据我的情况和市场标准的水平,给我合理的薪水。
5.在未来的五年的时间内,你的职业规划是什么?
所谓不想当将军的士兵不是好士兵,所以大家一定要自强。遇到这样的问题,又该怎么解决呢?
小羽推荐回答:
这是每一个应聘者都会被问到,比较多的答案是“管理者”。但是近几年来,许多公司都已经建立了专门的技术途径。这些工作地位往往被称作“顾问”、“参议技师”或“高级软件工程师”等等。当然,说出其他一些你感兴趣的职位也是可以的,比如产品销售部经理,运营部经理等一些与你的专业有相关背景的工作。要知道,考官总是喜欢有进取心的应聘者,此时如果说“不知道”,所以你在回答这道题的时候,一定要符合自己实际情况,千万不要大而空,这样面试官会觉得你是一个好高骛远之人,就会使你丧失一个好机会。最普通的回答应该是“我准备在技术领域有所作为,比如技术上有所突破”或“我希望能按照公司的管理思路发展”。
6.谈谈你的朋友对你的评价是什么?
其实企业面试官问你这道题,是想从侧面了解一下你的性格及与人相处的问题,那我们该如何去回答呢?
小羽推荐回答:
大家可以这么回答面试官,“我的朋友都说我是一个可以信赖的人。因为,我一旦答应别人的事情,就一定会做到。如果我做不到,我就不会轻易许诺;或者说“我觉的我是一个比较随和的人,与不同的人都可以友好相处。在我与人相处时,我总是能站在别人的角度考虑问题。”
7.你能为我们公司带来什么呢?
面试官往往想知道,你比其他面试者能多带给公司什么,小羽接下来就告诉大家该如何去回答这道题。
小羽推荐回答:
企业很想知道未来的员工能为企业做什么,我们可以这么说:“就我的能力,我可以做一个优秀的员工在组织中发挥能力,给组织带来高效率和更多的收益”。企业喜欢求职者就申请的职位表明自己的能力,比如申请研发之类的职位,可以说:“我已经在之前的项目里研发了很多贵公司类似的软件,相信来到公司能很快对接公司的开发任务”
8.在完成某项工作时,你认为自己的方式比领导要求的更好,你应该怎么做?
实际工作中,自己和领导有不同的意见很常见,这个是好事,面试官问这道题是想知道你遇到这种情况你怎么处理,因为如果处理好了,会给公司带来更大的价值。
小羽推荐回答:
原则上我会尊重和服从领导的工作安排,同时私底下找机会以请教的口吻,婉转地表达自己的想法,看看领导是否能改变想法。如果领导没有采纳我的建议,我也同样会按领导的要求认真地去完成这项工作,并私下找领导分析下我的想法有哪些考虑是不周到的,这样也可以去提高自己。还有一种情况,假如领导要求的方式违背原则,我会及时提出自己的意见,让大家一起讨论,最后看看项目组之间的反馈,来定夺。
9.谈谈你对跳槽的看法?
这个问题,其实大部分都遇到过来,比较简单,大家可以在面试的时候在扩展一下。
小羽推荐回答:
正常的“跳槽”能促进人才合理流动,应该支持。频繁的跳槽对单位和个人双方都不利,应该反对。
10.你还有什么问题要问吗?
今天这道面试题是大家面试的时候最后都会被问到的:“你还有什么问题要问吗?”不要小看这道题,一定要回答好了。
小羽推荐回答:
企业面试官问的这个问题看上去可有可无,其实很关键,企业不喜欢说“没问题”的人,因为其很注重员工的个性和创新能力。企业不喜欢求职者问个人福利之类的问题,如果有人这样问:贵公司对新入公司的员工有没有什么培训项目,我可以参加吗?或者说贵公司的晋升机制是什么样的?企业将很欢迎,因为体现出你对学习的热情和对公司的忠诚度以及你的上进心。
想成为企业合格的一名开发人员,小羽认为在技术层面是衡量自己的唯一标准。毕竟做这一行,靠技术吃饭,技术不行的话,到哪里也都会有困难的。最后想说的是,近几年的面试情况来看,有这几点必须得牢牢掌握:
Java核心方面,应该更多关注数据结构和性能优化领域。不能只是会用 Java 核心基本的 API,应该深入了解更高端的知识,比如并发、虚拟机等更为高端的知识。
框架是重中之重,你的项目经验必须得含有框架方面的体系,在与面试官的介绍中,这是你最为拿分的法宝。现在主流的微服务框架推荐 SpringCloud
和 Dubbo
都应该熟练掌握。
分布式也必不可少,现在对于我们绝大多数项目来说,都需要用到分布式组件。在面试过程中,你如果能详细讲解关于分布式的实现原理,将会让面试官对你的评价很高。
数据库方面,别单单只会增删改查,要多多了解性能优化。你如果在 SQL 的建表、索引、语句、分库分表都熟练掌握,那么证明你的数据库知识已经过关了。
Linux 系统现在已经普遍用在很多项目上了。我们也需要学会如何部署以及使用。所以一些基本的 Linux
命令必须熟记于心。
多通过源码来提升自己,至少能讲出自己对一些很擅长的技术点的底层代码的研究。这样会让面试官对你很欣赏,因为这是成为优秀架构师的必要条件。
说了这么多,那么有读者问我,有没有实质性的福利能给大家提供呢?那当然得给大家安排上了,小羽在平时也经常会总结一些模版,下面已经收录了程序员系列的 120
套模版了。大家如果有需要的,可以在小羽的公众号后台私信简历模板获取。