被HR当面嘲讽"简历是抄的",我差点放弃开发……

0 阅读9分钟

今年1月,我蹲在家里刷B站自学Java,简历投了几百份,一个面试都没有。 直到有一次,HR直接说:"你简历上的项目描述,跟网上教程一模一样。" 我当时一下子就臊得慌,整个人尴尬到不知所措。


我是怎么走到这一步的

25届普本毕业,0实习,0项目,0基础。 临毕业时我选择在家自学,觉得只要学得够多,总能找到工作吧? 早上看视频,下午敲代码,晚上背八股。一天安排得满满当当,但效果呢? 今天看到Spring Boot,明天又被Redis吸引走。这个项目做到一半觉得太简单,又换一个。八股背了后面的忘了前面的,面试题看了答案也不会用自己的话讲。

半年下来,我连一个完整的项目都写不出来。 简历投了几百份,要么已读不回,要么直接不合适。 最难受的不是被拒,是过年亲戚问"在哪上班",我只能笑笑说"还在找",然后一个人躲回房间盯着天花板发呆。 父母嘴上说"慢慢来不着急",但是我开始想:是不是我根本就不是这块料?


转折:不是我不行,是学法错了

我舅舅是已经工作多年的程序员,他看我这样实在不行了,给我推了一个人。 第一次视频聊完,他给我点出了一个我从来没意识到的问题—— "你不是学得少,你是学得太散了。"

我以前的学习方式是什么?看到什么学什么,今天Docker明天Kafka,每个都只学了个皮毛。面试官一追问"为什么要用这个?跟其他方案比优势在哪?你在项目里怎么用的?"——我一个都答不上来。

他给我换了一个思路:不追广度,追深度和完整度。

先补基础,再做一个完整的项目把基础串起来,然后在项目里遇到什么问题就深入学什么——带着问题学,而不是带着好奇心学。

这个转变,是我后来所有进步的起点。

图片


我之前怎么学的,和后来怎么学的

说出来可能有点扎心,但我把自己的前后变化讲出来,如果你也在自学,可以对照看看自己是不是踩了同样的坑。

以前我学东西就是看视频。  看完感觉都懂了,一动手写代码就懵。眼睛会了,手不会。后来我改成每学一个知识点就写个小demo验证自己真懂了,哪怕只是几行代码,但写过了和没写过完全不一样。

以前我同时开好几个项目做。  觉得做得越多越好,结果每个都做一半,没有一个是完整的。后来我老老实实一个项目从头做到尾,从数据库设计到接口定义到异常处理到部署上线,一整个链路全走完。做完之后才明白,一个完整项目比十个半成品都有用。

以前我背八股只背答案。  "Redis为什么快?基于内存、单线程、IO多路复用。"倒背如流,但面试官换个问法我就傻了。后来我不背答案了,开始练"讲逻辑"——为什么要用、不用会怎样、底层机制是什么。能讲"为什么"比会背"是什么"重要10倍。

以前我遇到bug就搜,搜到解决方案就粘贴复制。  解决了,但不知道为什么,下次遇到还是不会。后来代码写完必须做Review,自己过一遍哪里写得好、哪里有坑,这个习惯让我面试的时候能讲出设计思路和踩过的坑,不再像背课文。

以前我从来不复盘。  学完就忘,永远在原地打转。后来我每天学完写一段复盘——今天学了什么、哪里卡住了、明天怎么补。每周再做个总结调整。这个习惯让我不再"学了就忘",状态也清楚多了。


具体怎么学的?我的4个阶段

他给我排了4个阶段,每个阶段都有明确的里程碑,我就照着走,不瞎折腾了。

第一阶段:补基础,但不是"从头看视频"

不是让我重新看Java基础视频,而是带着目标补——哪些是面试必考的、哪些是做项目必须会的、哪些可以后面用到了再补。

这样补基础不是"看了一遍感觉都会",而是补完就能上手写。大概用了2周,把Go基础、数据库、缓存的核心知识点过完,每个知识点都写了个小demo验证自己真懂了。

第二阶段:做第一个完整项目,"跑通"全流程

这是我以前从来没做到的事——从0到1,把一个项目完整做出来。

数据库怎么设计、接口怎么定义、异常怎么处理、日志怎么打、部署怎么弄……以前我只会写CRUD,其他全是空白。

这个阶段最痛苦的不是写代码,是做技术选型的时候发现自己什么都不懂。但老师说得对:不会就查,查完用,用了再复盘为什么这么选。  这比看一百遍教程都有用。

项目做完之后,我第一次有了一个能写进简历的、面试官问深了也答得上来的项目经验。

第三阶段:项目进阶 + 微服务 + 中间件

第二个项目难度升级,加了微服务架构和消息队列这些中间件。

这个阶段的核心不是"学会用这些工具",而是理解为什么要用、不用会怎样、用了之后解决了什么问题。

面试的时候,我发现面试官最爱问的就是这种"为什么"。你如果只会说"项目里用了RabbitMQ",那只是一个标签;但如果你能说"当时接口响应太慢,用户等3秒才返回,我加了个消息队列做异步处理,响应时间降到200毫秒"——面试官眼睛都亮了。

第四阶段:简历深挖 + 面试突击

到这个阶段,项目有了,基础也扎实了,但还差最关键的一步——把会的东西讲出来。

这就是模拟面试的价值。


模拟面试:从"背答案"到"讲逻辑"

第一次模拟面试,我连自我介绍都结巴。被问到"这个模块怎么设计的",我讲了半天也没讲明白。

老师让我停下来,一步步拆解:

"这个模块的功能是什么?怎么实现的?中间经过了几步?每一步做了什么?"

就这么一问,我瞬间懂了——原来面试官不是想听我背代码,是想听我"讲逻辑"。

但知道归知道,做到又是另一回事。第二三次模拟面试,我还是会紧张,讲到一半卡壳,脑子里明明知道答案,嘴上就是说不出来。有次结束之后我真的想过放弃。

后来我练了一个方法,特别管用:每次模拟面试前,我把自己的项目画一张流程图,从用户请求到数据库再到返回结果,每一步写清楚做了什么、为什么这么做。  然后对着流程图讲给自己听,讲顺了再找人练。

就这么练了10多次,到后面已经能从数据库设计聊到接口定义,从接口定义聊到异常处理,从异常处理聊到性能优化——不是在背答案,是在讲一个完整的故事。

从"背答案"到"讲逻辑",这个转变可能是我这3个月最大的收获。

图片


面试上岸:这次,我有底气了

4月中旬,我开始投简历。

这一次不一样了。简历上的项目不是抄的,是我一行一行代码敲出来的。面试官问深了,我能讲出设计思路、踩过的坑、怎么解决的。

有一个面试官问我:"你这个项目里为什么选Redis而不是本地缓存?"

如果是之前的我,可能只会说"因为Redis更快"。但这次我从并发场景、数据一致性、分布式部署三个角度展开讲了一遍,面试官直接点头说"可以"。

这就是"讲逻辑"和"背答案"的区别。

面了七八家,拿到两个Offer:一个15K的短期外包,一个12K的AI创业公司。

12K那个公司规模不大,但技术氛围很好,面试官给我的感觉也很专业,更适合长期发展。我选了它。

薪资12K,我很满意。

从1月入营到4月底拿Offer,除去春节,满打满算3个多月。

图片


我替你踩过的几个坑

1. 方向比努力重要,别再"假装学习"了

每天焦虑地刷视频、看教程,那不叫学习,叫缓解焦虑。宁可每天只学一个知识点但真正搞懂,也比一天看10个视频看完就忘强。

2. 做完整项目,比学10个半成品有用

面试官不在乎你"接触过"多少技术,在乎你能不能把一个项目从头到尾讲清楚。一个完整项目大于十个半成品。

3. 八股不要背答案,要练"讲逻辑"

面试官问"Redis为什么快",不是想听你背"基于内存、单线程、IO多路复用",而是想听你讲清楚底层机制、适用场景、和你项目里的实际使用。能讲"为什么"比会背"是什么"重要10倍。

4. 每天复盘,每周总结

我后来养成了一个习惯:每天学完写一段复盘——今天学了什么、哪里卡住了、明天怎么补。每周再做个总结调整。这个习惯让我不再"学了就忘",状态也清楚多了。

5. 模拟面试,越早开始越好

别等真面试再练表达。你脑子里懂的东西,嘴上不一定讲得出来。提前练10次,面试时你就不会慌。


写在最后

还在找工作的朋友们,加油。

回头看这半年,我最深的感触是:很多时候不是你不行,是你学的方法不对。  方向对了,坚持真的会有结果。

如果你也正在经历"学了半天没结果"的困境,先别急着否定自己——换个学法,可能一切就不一样了。  💪

阳哥读后感

非常感谢石同学的分享,他从1月入营到4月拿Offer,整个过程我一路看着。他最大的变化不是技术提升了多少,而是从“学了再说”变成“目标明确地学”。

他肯吃苦、听话、执行力强。这种人,只要方向对了,结果不会差。

如果你也想成为下一个石同学,随时来找我。

备注 【就业训练营】

图片