刷到这个话题,我脚趾已经开始抠地了。作为双非计算机本科,今年杭州春招,我靠一句心虚的「精通Java并发编程,深入理解JVM底层原理」,差点把自己的面试路直接走死,社死到现在想起来都想连夜逃离互联网行业。
先说说我为什么敢写这句话。春招最开始,我投出去的简历石沉大海,看着身边同学都拿到了面试邀请,我急得不行。听网上说,简历要敢写,「熟练」改「精通」,「参与」改「主导」,才能被HR捞到。那时候我刚背完JVM和Java并发的八股文,什么synchronized锁升级、volatile原理、JVM内存结构、垃圾回收器,背得滚瓜烂熟。我脑子一热,就在简历的核心技能里,写下了那句让我社死的话:精通Java并发编程,深入理解JVM底层原理,有线上调优与问题排查经验。
现在回头看,我那点本事,也就够应付个一面基础题,敢写「精通」,纯纯是初生牛犊不怕虎。
翻车来得比我想象中快得多。面杭州一家中厂的Java后端岗,一面基础八股我对答如流,面试官频频点头,我心里还窃喜:果然写「精通」就是有用。结果二面,面试官上来就盯着我简历上的这句话,开始了连环追问,3个问题直接给我问麻了。
第一个问题,他笑着问:“你写精通Java并发,那你在项目里,是怎么用线程池的?核心参数怎么设置的?有没有遇到过线程池的坑,怎么排查和解决的?”我当场就僵住了。我背了线程池的7大核心参数,背了execute和submit的区别,可我根本没在真实项目里用过线程池,更别说踩坑排查了。我支支吾吾说了半天参数定义,根本说不出真实的业务场景和踩坑经历,越说声音越小。
面试官没打断我,等我说完,又问了第二个问题:“你说深入理解JVM,那你线上遇到过OOM吗?完整讲一下你的排查流程,用了哪些命令,怎么定位到问题根源的?最后怎么解决的?”我脑子一片空白。我背了OOM的几种原因,背了jps、jstat、jmap这些命令,可我从来没在线上环境排查过OOM,连真实的dump文件都没分析过。我只能硬着头皮瞎扯,说了几个命令名,连参数都说不对,说到最后自己都圆不上了。
第三个问题,直接给我钉死在了社死现场:“那你说精通,那你觉得,你对Java并发和JVM的掌握,到了什么程度算精通?你和工作3年的开发比,优势在哪?”我坐在电脑前,脸瞬间红到了耳根子,尴尬到抠出三室一厅,半天说不出一句话。最后只能硬着头皮承认:“不好意思面试官,我对‘精通’的理解有偏差,这块我只是掌握了基础原理,没有太多的线上实战经验,简历上写得有点夸张了。”
面试官也没为难我,只是淡淡说了一句:“应届生敢拼是好事,但技术岗,诚实比‘精通’两个字重要得多。”那场面试的结果可想而知,二面直接挂了。挂了面试之后,我坐在出租屋里,又羞愧又后悔,恨不得把简历上的「精通」两个字抠掉。
当场圆场&事后补救复盘
当场圆场:
被戳穿之后,我没有继续硬撑瞎编,也没有摆烂不说话,而是坦诚承认了自己的问题,补充了一句:“虽然我没有太多线上实战经验,但我对这块的基础原理掌握得比较扎实,也有很强的学习能力,后续如果工作中遇到相关的问题,我有信心能快速上手排查和解决。”虽然最后还是挂了面试,但至少没有给面试官留下“爱吹牛、不诚实”的极差印象,没有彻底把路走死。
事后补救&复盘:
- 立刻改简历:把「精通Java并发编程」改成了「熟悉Java并发编程基础,理解线程池、锁机制的核心原理」;把「深入理解JVM底层原理」改成了「了解JVM内存模型、垃圾回收机制,掌握基础的JVM调优与问题排查命令」,彻底去掉了所有夸大的表述。
- 补实战短板:不再死背八股文,而是自己动手搭了测试环境,模拟了OOM场景,用JVM命令完整走了一遍排查流程;在自己的项目里加入了线程池的使用,踩了线程池参数设置不当的坑,总结了对应的解决方案,把背的八股,变成了自己真正的实战经验。
- 定了简历用词铁律: 「精通」:绝对不写,除非是真的有多年实战经验,能解决绝大多数疑难问题;「熟练」:必须是在真实项目里深度用过,能独立解决绝大多数场景问题,踩过坑、做过优化;「熟悉」:掌握核心原理和基础用法,能在项目里正常使用,遇到问题能快速学习解决;「了解」:知道基本概念和适用场景,有基础的认知,不瞎编。
后来的面试,我靠着修改后的真实简历,再也没有过这种社死瞬间。面试官问的问题,哪怕我不会,也能坦诚承认,再结合自己的经验讲思考,反而拿到了3个offer。
最后想跟牛友们说:简历可以优化,但绝对不能造假。一句夸大的「精通」「主导」,可能会帮你拿到一次面试机会,但一定会在面试官的追问下原形毕露,不仅丢了offer,还丢了自己的诚信。技术岗,永远是脚踏实地,比虚头巴脑的形容词有用得多。
全部评论
(5) 回帖