程序员如何准备好一次面试

2022-12-23 08:53:51 浏览数 (1)

前言

笔者在六月份刚完成一次跳槽,对新公司还是比较满意的。在复盘的同时,在记录下一些个人总结经验和大家分享一下。

时间线

2022年3月,因为现在项目组的项目持续亏损,得到消息要去其他项目组支援,就觉得大事不妙要准备后路了。

2022年4月,准备各种八股文,整理案例素材更新简历。

2022年5月,开始投简历面试。前前后后面试了20多家企业,收到了6,7个offer。

2022年6月,入职新公司。

准备工作

摆正心态

在一个地方待不下去,准备找机会的想法后,就容易滋生负面情绪,经常觉得现在的公司这不行,那不行,怎么这么垃圾,或者事不关己高高挂起开始摆烂。如果是为了体验生活而工作的,那就无所谓了。如果不是,那最好摆正心态,不要过早表露自己的意图,避免打草惊蛇让领导找你麻烦。

我在前期都是按时完成分配的工作,然后用摸鱼时间开始准备八股文。尽量保持低调不要张扬,不然如果遇到不友好的领导,可能会增加不必要的麻烦。就个人面试的情况来看,确实二线城市软件人才需求减少了很多。能不裸辞还是尽量不要裸辞,骑驴找马还是不错的。

都说金三银四、金九银十是换工作的好时间,这两个时间段可能机会比较多,但是竞争也比较大。不管是什么时间,只有你做好了准备,才能更好的抓住机会,是金子总会发光。心态要调整好,没必要硬着头皮跳槽,一不小心就从这个坑调到另一个坑里去了,开发如果有太多跳槽记录还是不利于发展的。

写好简历

一份好的简历就是一块有力的敲门砖。简历还是需要下功夫反复修改的,我的简历至少修改了十几次,从简历模板、工作经历到字体大小和标点符号,我都看了好多遍,不断完善改进,争取不要让自己的简历在细节方面掉链子。这也得感谢前领导的教诲,在细节方面的处理更能体现一个人的能力。

简历的几个注意点:

  • 删除不必要的信息,例如兴趣爱好,家庭住址这些大多数企业都不在意;
  • 要体现符合公司岗位要求的技术,方便HR在查看简历,如果没有体现出来很容易直接被过滤掉;
  • 不要太多页,一般建议在两页左右;
  • 突出成果(案例),可以引导面试官在面试的时候问到你准备好的案例中;
  • 可以列举在公司获得的奖项(一行带过),例如:优秀员工,优秀讲师,最佳伙伴等。
  • 项目经历足够的情况下,尽量不要写不熟悉的项目或者不值一提的项目。

打好基础

现在就业环境不好,很多企业都是面试造火箭,入职拧螺丝。所以我们不能不好好准备面试八股文,以此来争取一个条件更好的企业。开发面试一般都会问些技术,高级开发可能偏向解决方案和管理方面技能会更多点。

现在技术八股文太多了,有时候都不知道如何选择。我是先去看看目前市场上企业招聘岗位的要求,或者咨询最近跳槽的朋友,也可以自己找几家不打算去的小公司外包公司面试一下,总结一些面试技术要点。以我个人总结的JAVA岗位为例,包含但不限于以下几点:

  • Spring Cloud组件相关
  • 多线程高并发常见问题
  • JVM调优
  • MySQL调优
  • Redis相关

八股文在网上或者技术公众号一大堆,大家自行选择。

技术亮点

要想从众多的程序员中脱颖而出,就要准备一些与众不同的东西(案例)才能打动面试官。在工作的过程中解决难题后,要复盘总结。如果你的工作毫无难度,那你可以在别人遇到难题的时候一起参与问题的解决,或者在事后请教当事人具体场景,要清楚的知道来龙去脉,然后在自己复现问题解决问题。一定要自己去复现解决问题,复盘记录加深影响,这样经历才是自己的。不然在面试的时候问到细节问题可能就尴尬了。这个案例的原因可能只是一个很小的bug或者一个配置,但是面试官可以从中看到你解决问题的思路和能力。

举个例子,之前在同步MySQL数据到ES的过程中遇到了个问题:canal-adapter消费Kafka中MySQL的binlog数据,却没有同步更新Elastic search

在简历中可以体现成果:使用ES搭建全文搜索平台。然后说一下业务背景,技术选型的时候有几个方案,因为什么原因选择了最终方案,然后在实现的过程中遇到了同步数据异常问题,最后通过运行调试canal adaper组件源码发现问题原因。这样过程就可以占用5-10分钟时间,减少问题数量。

其他亮点

现在企业除了专业技术能力,也会考察其他软技能。比如说项目管理能力等。在工作之余可以多扩展点项目管理方便的知识,如果有做过组长或者项目负责人,就要体现在简历上,有PMP或者高项证书也是可以个加分项。

实战

准备工作毕竟都是理论知识,做太久了没有反馈容易影响效率和心态,放松懈怠。准备两三周后就可以去面试看看自己的不足之处,复盘总结面试中遇到的技术难点和技巧,争取不在同一个问题上跌倒两次。

总结经验:

1、先找几家不打算去的公司去尝试下,攒经验。可以选择目标之外的其他一线城市公司,线上面试可以节省时间提高效率。笔者前期在中午或者晚上下班时间,面试了很多家其他城市的公司。

2、一开始准备不充分,面试过程中可能很多不懂的问题回答不上来会很尴尬。换个角度想一想,反正大概率也不会再见面了,不要怕出丑,不懂的问题就说这方面不清楚,不了解就好了。很多友善的面试官会直接问其他问题,或者问问你比较熟悉哪些技术。调整好心态,不要害怕失败,要越战越勇。

3、引导面试官往准备好的八股文或案例提问(第二点),比如问到XXX是怎么实现的,不懂的话可以说这块源码没有了解,但是有遇到XX问题,排查过程中去看过XXX的源码这样的方式。可能有点抽象,具体使用还是得大家自行体会。

4、面试官给你一个场景,让你想解决方案的时候可以自己给自己加戏,简单来说就是,如果你有一个方案后,要想想可能存在的问题或者扩展点。比如,预约场地冲突检测如何处理?可以先给出简单方案,遍历所有已预约的场地一个个校验;然后想想再说,这样在周期预约修改的时候可能会有性能问题,可以在数据结构上设计优化或者缓存优化等等。

5、在HR面的时候,要把薪资待遇福利都问清楚,可以列一张清单,把注意点就问清楚,避免入职后因为沟通问题而造成损失。

  • 五险一金缴纳基数和比例(基本工资 or 全额工资,5% or 8% or 12%)
  • 商业险(补充医疗险),这个谁用谁知道
  • 年终奖(发放基数和发放时间等规则),未满一年年终奖比例
  • 绩效或激励计算方式(不同岗位可能有些人有,有些人没有,一定要确认清楚)
  • 假期(年假、婚假、产假陪产假)

复盘

复盘是一项重要的技能。

1、通过反思过去的错误,加深记忆,总结经验获得正面反馈;

2、可以跳出当时的局势,从不同角度看待问题,训练开阔思维;

3、实践、复盘交替循环可以更快提升能力。

内推

签名说过最近就业环境不好,二线城市软件人才需求减少了很多,投了30多份简历都没有收到面试邀请。觉得可能是简历不够好,面试门槛都够不到,也可能是企业根本就没想招人,只是储备下人才信息。然后,就找朋友和前同事帮忙内推,内推了4家企业都得到了面试机会,而且收到了3个offer。借此想表达的是,内推渠道还是很有优势的。

THE END.

0 人点赞