于零声
困局:全面溃败的暑期实习
我是从2025年4月30日正式加入零声的,到今天也算有5个半月了。
先讲一下我的背景:2本9硕,非科班。今天是2025年11月28日,我是从2025年开始自学c++的。当时的进度是刚刷完一遍代码随想录,但是是上年12月刷的,早忘完了。而且网络、操作系统、数据库完全不会,项目没有。
从2月15日到4月30之前,lc hot100做了一遍(算法算有点记忆),快快地过了一下各种八股,网上随便找了个仿muduo库的项目就开始面试了。为了凑项目,我甚至把本科做过的python爬虫玩具项目写了上去了,然后仿muduo库的项目也不会写上简历,按照别人的模板随便搬了搬上去。说实话项目介绍的每一行我都有不懂的地方,为了凑简历,科研也写上去,虽然根本和互联网没关系。凑着凑着,简历写了一页半,但又不肯做取舍,一页放不完,两页也远不够。
当时的我正处于暑期实习全面溃败环节,因为是2本9硕,很多企业会给我面试机会,当时我面过腾讯、快手等等公司。但无一例外全都失败了,并且全都是一面挂。相信找实习,秋招的同学能够完全理解我的感受,迷茫、自我怀疑、失望、消沉所有的负面情绪都挤压着我,处于一种八股也不想看,面试也不想接,但迫于现实,又不得不积极找实习的状态。并且因为是速成,其实很多内容以为自己懂了,但其实自己不懂。例如智能指针,谁都知道有shared_ptr,weak_ptr,unique_ptr,谁都能答上来一点,但我其实当时连shared_ptr怎么在程序里写怎么用都不知道。仿muduo库,大家都写这个项目,我也就会说说分发过程,双缓冲,连onMesaage都不是很清楚,就是这样一个状态,我还觉得每天重复看这些内容一点意义都没有。实习唯一有机会的是一家制造业企业A,面的软开,面试没问我计算机,问我科研,当时就是还在等待结果,这是唯一一家有希望的企业。
转机:投医零声
我主要是从mark老师在b站上的面试题讲解认识到零声的,其实b站上很多这样卖课模式的视频。当时每次mark老师推荐零声的时候我都跳过,哈哈哈。当时我就觉得这个老师讲的挺好的,跟b站其他很多这种面试题讲解不一样,其他很多讲题,比如多态,就给你讲讲啊静态多态就是传入两个不同的参数,用add讲讲,虚函数是什么作用,然后结合那个animal的例子讲讲,很多时候甚至不在ide里面写代码给你看,花几个图做几个动画,弹幕很多说 “懂了! ” “原来是这样”。我也感觉“懂了”。但实际上也就会个add和animal。当时mark老师的多态视频是给我印象相当深刻的。静态多态的时候,讲到了是函数名的不同,还给看了函数名哪里不同;虚函数是用了晚绑定技术。当时就给我感觉,哦,原来内在是这样的呀。后面就刷了很多mark老师的视频。mark老师的面试题视频有个很突出的特点,会有很多较难、甚至非常难的面试题,甚至当时非科班的我都看不懂题目,这是非常显著的一个特点,很多视频是相当有深度的。
再回档到当时暑期的我,当时感觉就是啥都不了解,每次面试官问八股就只会背书,但实际稍微再问问就知道我没货了。并且mysql也不会,redis也不会,linux也不会。我决心提高,实习已经如此落魄,我不想秋招重走一遍失败的路。虽然暑期实习的招聘快结束了,但我要为了秋招考虑。于是当时就联系了零声教育。由于通过mark老师认识到零声的,所以再经过与家里人交流之后,决定报课程。当时我就跟我爸妈说,你就当把钱借给我,我开第一个月工资就还给你。就这样,我开始正式成为零声教育的学员。
沉淀:痛苦中等待蜕变
因为当时是因为mark老师才了解到零声教育的,自然把我分到了mark老师来管。学习线路就是网络编程,百万并发->高性能组件->mysql->redis->图床项目->协程->rpc。刚学完百万并发的时候,刚好华为暑期面试,因为muduo本来就和百万并发有很多知识重合的地方,华为一面前,我刚好学完百万并发,当时还很多不懂,找king老师做摸底面试的时候,也支支吾吾答不上来。king老师是很好相谈的一个人,但是面试的时候还是很有压力,因为我很多问题回答不上来!但是king老师标志性的笑声加上摸底时候耐心的讲解,我就对很多内容做好了笔记,下来继续温习。还有一个最重要的一个点,当时百万并发其实我没做完,我只做了单客户端单服务端,只有20多万的并发,king老师说,你一定要做出来百万并发,你要去感受一下数字到一百万的那种感觉。当时我心想,这有啥感觉,一台虚拟机和三台虚拟机有个啥区别啊真的是。但我有一个很好的点就是,我很听话哈哈哈。我真的做了,说实话,也没什么感觉,除了搞得机子特别大声。但是从后面一整段的学习过程来看,这是在教会我最终的一点,实操比什么都重要。这个我会留到后面来说。到了华为一面的时候,对面面试官就是问了很多king老师摸底问的问题,神了!华为一面顺利通过。之后二面也通过了。但等了一个月,最后也没泡出来,还是没有去到华为。留给我的只有之前的制造业软开offer。于是我去了这个公司A。
期间一直都有学习课程,到正式入职的时候,我高性能组件好像就剩下一两次课就学完了。然后每周按照mark老师要求,周一我都准时汇报每周干了啥,遇到什么问题就及时去找他问,也感觉到了自己在每天进步,但是不太明显,很多东西也是学了就忘。比如线程池,学完过了一周,就记得有个阻塞队列了,其他啥都忘了。
进入A的第一天,算是正式开始实习。第一天我就傻了,进去是做嵌入式开发!首先我完全没接触过。其次我当时连火线地线我都分不清。上来就让我看产品的ppt,然后又扔了一堆板子的原理图给我。我当时真的傻了!首先前几天我就每天看那个产品的ppt,理解这个产品是怎么工作的,然后看某个产品的说明书。一天工作八小时,就盯着几个ppt和说明书看,我在想,我不是软件工程师吗,我在干嘛?我来是看这些的吗?完全不能理解导师给我的安排。但导师和同事都说,你要先看懂产品,再看懂原理图,你才能看代码,我们这都是这样。那行吧产品差不多了解完了,就看原理图,哈哈完全看不懂,带教就说你先学学单片机吧。于是一周把数电 模电 单片机 电路原理大概看了看。买了51板,stm32板,甚至树莓派都买了(其实没必要,后面连stm32都没怎么学),书也买了,上班就看书,下班就做课程实验。但离我预想的工作内容相差甚远,我以为我进来,起码跟数据库交互吧,最简单的也得写点crud吧,完,什么都没有,进来就学电路。除了下班做流水灯实验等等这些,也抽两个小时看课程,或者做些复盘。这期间心态是相当崩溃的,入职第二周,我跟爸妈哭着打电话,我说我想tm现在就辞职,干的都是啥,没接触过不说,完全不对口,我是软开,不是硬件啊。我爸就说,你就顶两个月,难顶也要顶,服从企业要求,况且你现在也没别的去处了。发泄完了之后我还是继续上班了。这期间还和老师打过一次电话,我说老师,我这每天要干硬件,还要看软件课程,好割裂啊,我做这个能找到嵌入式工作吗?我到底适合干啥啊?这个电话很关键,他就说公司那边你也要干,要你干啥就干啥,混也要混着。课程也要继续学,你放心,你绝对能在秋招中找到工作。这一家你再一转个正,到时你就会没这么大心理压力了,当个保底可以的。我说那行吧,辛苦也得擦擦眼泪继续干不是。于是晚上七点半到宿舍(感谢实习公司A,从来没有让我加班,从来没有高要求,给了很多自由的时间),每天都干到11点半左右,周末也不出去玩,就是学。那一段时间真的好累,也就出去玩了一两天,休息的主要方式就是周六日睡个懒觉(对,A还双休,感谢!)。睁眼就是学。学了就摸底,摸底就写文档总结。一路到结束,转正成功,回到学校(八月底),我没有停止过一天写文档,没有停止过一天学习课程。
秋招:沉淀之后的厚积薄发
全部过了一遍mark老师安排的内容后,九月前几天,我终于写好了简历,lc hot100 就刷了一遍。简历给mark老师修改后,开始投递,但我一开始也还是害怕,我害怕面试答不上来,害怕手撕撕不出来。一开始我就可能两天投两三家,公司太大的我都不敢投,我想复习地再好一点再面。(事实说明是个错误的想法)实际上到十月前,我才开始投递大厂。前面的面试都是中小厂,其实还是面的不太好。八股、项目、手撕都有漏洞。那个时候基本上一周面完一轮,就找mark老师复盘。有漏洞的地方,mark老师会给我讲的很细致很细致,临时开个会议,画几个简单的图。特别记得9月末尾的时候,跟老师做了一次复盘,我心态当时真的很崩溃了,学了这么久,除了转正啥都没有,还屡面屡败;还每次都做复盘记录面经,感觉努力没收获;并且2本9硕简历挂一大批,感觉所有这一切都没意义了。以下是当时这一场和mark老师做的复盘的一些记录。

mark老师就说:确实很辛苦,你做的很多文档,很多知识总结都做的很好,确实非常辛苦。但顶住剩下一两个月,你会有很好的offer的,不只是我,还有我们这边很多老师,都很看好你,你绝对能拿ssp。
这一次复盘之后,突然之间就收到了公司b的oc了。b规模挺大,虽不及bat,但总归算喊得上名字的互联网公司。第一时间就和mark老师报喜,老师恭喜我,同时也希望我能继续努力,再往上冲冲。
获得鼓励之后,就是反复不断的复盘,面试;面试,复盘。整个期间也补了不少的内容:图床除了第一次摸底,后面又找darren老师重复地做了一次模拟面试(在面试公司B之前做的,我认为正是因为图床的详细讲解,我才拿到了公司B的offer);补充了一些操作系统的理解,看了vico老师的linux源码解析,也和vico老师交流了几个面试题的回答模版;师姐的朋友强内推我面试到阿里云,还为此学习了一些docker和k8s,期间nick老师也悉心帮我排查问题,解答问题(虽然最后一面没过,哈哈哈,但至少为此努力了)。中间也通过了好多面试,新凯来面试,华为面试,各个中小公司等等。华为的面试,我记得特别清楚,一面让我设计高并发架构,我太熟了,我直接上来就是百万并发+线程池+异步连接池+无锁队列一套小连招,讲了20多分钟,后面我问怎么看是不是通过了,面试官自己都说你就在外面等着下一面吧,哈哈哈。到了后面,基本上我自己都会做复盘了,问题都大同小异。手撕也越来越熟练,后面线下面试的手撕,都是3-5分钟就写完了(当然线下的题目都比较简单)。现在甚至连泛型lru也会写了。虽然很少时候回撕一些算法以外的内容,但是几种单例模式、线程池我也都能驾轻就熟了。
零声带给我的
至今为止,秋招我已经面了40面了。其中大中小公司的意向加起来有个6 7家,有几个大厂还在面试流程中,有几个也还在泡。目前意向就是上面提到的公司B,给我开了非常满意的SSP。
从最开始我对面试的害怕(下面的图是我暑期第一次面大厂没有发出去的短信,那个时候真的很害怕面大厂)
,到现在我坦然接受每一次面试,坦然承认自己有问题回答不上来,八股问答和介绍项目的从容自若。我变得更自信,更能接受失败,更抗压。说实话,没了零声,我走不到今天。如果要系统的讲一下,从零声学到了什么,知识是一部分,另外一部分也是我自己感受出因为在零声所改变的内容:
习惯:
- 每天写文档,而且基本不复制粘贴,都是手打。这有点像我们之前上课手写笔记,而不仅仅是在书上划划重点。这是最重要的习惯,文档不仅仅是一种记录,也是知识内化的过程。从别的什么地方复制粘贴到自己文档,那不是自己的知识,一个字一个字敲出来的,才叫自己吸收了的知识、
- 思维导图对知识的定期整理,自己画知识导图,也是一个对知识的整理过程,很多概念其实相互间有联系,但不做思维导图这样的事情,实际上相互间的链接自己也不会太明白,画图出来之后,才能有更好的认识。
思维:
- 产品思维:在做具体项目的摸底时,老师都会问一个问题,你这个项目有落地吗?有具体使用吗?如果是像在网上抄一个项目中,说实话说出来的最多一个作用就是学习项目,理解框架之类的。但是你只有带入落地使用的视角,你才会有更多的思考。例如图床,这里上传为什么是走fastdfs,怎么走的?如果现在发生断点续传,我要在服务端怎么做?如果中间上传出了问题,会是哪里出了问题,怎么定位,怎么解决,有什么思路?而这些东西,都是秋招期间各个面试官会问的,你不站在他的视角提前想好这些问题,面试自然就很难表现突出了。所以跟king老师说的一样,你见到了,用到了,想着怎么去拓展优化了,才能叫做项目,上网随便抄个项目没有一点作用。这也是为什么说项目就算没用到,你也要包装成用得到,实际上是指你作为用户使用的时候,会对这个项目有更多的体验思考,再站回开发者的角度去思考这些问题。
- 钻研精神:之前我学习c++,都是背八股,实际上我根本不知道怎么写项目。但学习过程中,可能对于大家浅显易懂的东西,我都想不明白,例如当时我就不知道this指针是啥,我就去问mark老师。再比如图床里面,我记得在上传的时候,开了一个子进程来执行execlp,我不知道为什么这样做,就去问darren老师,才知道了为了重定向和健壮性。这些内容,你不一句一句代码去写,去思考,去钻研,根本不会有这些问题。
- 保持饥饿:可能这一点也不完全是零声带给我的,我自己性格也使我有了这样的特质。当时拿到公司B的oc后,我其实可以躺平了。身边同门都叫我躺了得了,这么辛苦干嘛。但我不甘心,或者说我还再努力网上攀一攀。攀不攀的上再说,但我没攀的话,就一定到不了大厂。我还要再冲。整个秋招我投了100多份简历(当时拿到公司B的oc后仅投了30多家,即我oc后还投了至少70家,线下投递的还没怎么算),我后端,嵌入式SDK层开发,测试,客户端都面过,我的想法就是,只要你给我机会面试,那我就去争取,管我去不去,我先拿到再考虑。很多同学会觉得这家不行,那家不符合,那家又嫌弃,投个十几二十家,拿个一两个面试机会,没过了就说大环境难。要从自身找原因!第一点是:有的选的时候才能做对比考虑,只有一个选择的时候,是什么你都得干,因为你没有选择的余地!第二点是:学后端,测试、客户端甚至嵌入式上linux开发也是能够给面试机会的,虽然对比后端肯定大家接受度没那么高,但是很多时候你要保持面试感觉,你要不断尝试,才可能得到一个相对心仪的offer,要找到一个完全满意的offer,很难很难,但并非不可能。
致谢
最后感谢零声,感谢各位老师,没有各位老师的辅导和一路鼓励,我不会有今天。如果没有加入零声,我可能最后也会变成感叹大环境不好,秋招灰溜溜收场的人吧。你只要够强,足够足够强,哪里你都是第一顺位候选人。只要你肯努力,并且很努力很努力,零声一定将你越推越高。当然,感谢一直努力的自己,没有那些孤独、忍耐的沉淀,我也走不到今天。
快手成长空间 767人发布
