于零声

困局:全面溃败的暑期实习

我是从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。

从最开始我对面试的害怕(下面的图是我暑期第一次面大厂没有发出去的短信,那个时候真的很害怕面大厂),到现在我坦然接受每一次面试,坦然承认自己有问题回答不上来,八股问答和介绍项目的从容自若。我变得更自信,更能接受失败,更抗压。说实话,没了零声,我走不到今天。如果要系统的讲一下,从零声学到了什么,知识是一部分,另外一部分也是我自己感受出因为在零声所改变的内容:

习惯:

  1. 每天写文档,而且基本不复制粘贴,都是手打。这有点像我们之前上课手写笔记,而不仅仅是在书上划划重点。这是最重要的习惯,文档不仅仅是一种记录,也是知识内化的过程。从别的什么地方复制粘贴到自己文档,那不是自己的知识,一个字一个字敲出来的,才叫自己吸收了的知识、
  2. 思维导图对知识的定期整理,自己画知识导图,也是一个对知识的整理过程,很多概念其实相互间有联系,但不做思维导图这样的事情,实际上相互间的链接自己也不会太明白,画图出来之后,才能有更好的认识。

思维:

  1. 产品思维:在做具体项目的摸底时,老师都会问一个问题,你这个项目有落地吗?有具体使用吗?如果是像在网上抄一个项目中,说实话说出来的最多一个作用就是学习项目,理解框架之类的。但是你只有带入落地使用的视角,你才会有更多的思考。例如图床,这里上传为什么是走fastdfs,怎么走的?如果现在发生断点续传,我要在服务端怎么做?如果中间上传出了问题,会是哪里出了问题,怎么定位,怎么解决,有什么思路?而这些东西,都是秋招期间各个面试官会问的,你不站在他的视角提前想好这些问题,面试自然就很难表现突出了。所以跟king老师说的一样,你见到了,用到了,想着怎么去拓展优化了,才能叫做项目,上网随便抄个项目没有一点作用。这也是为什么说项目就算没用到,你也要包装成用得到,实际上是指你作为用户使用的时候,会对这个项目有更多的体验思考,再站回开发者的角度去思考这些问题。
  2. 钻研精神:之前我学习c++,都是背八股,实际上我根本不知道怎么写项目。但学习过程中,可能对于大家浅显易懂的东西,我都想不明白,例如当时我就不知道this指针是啥,我就去问mark老师。再比如图床里面,我记得在上传的时候,开了一个子进程来执行execlp,我不知道为什么这样做,就去问darren老师,才知道了为了重定向和健壮性。这些内容,你不一句一句代码去写,去思考,去钻研,根本不会有这些问题。
  3. 保持饥饿:可能这一点也不完全是零声带给我的,我自己性格也使我有了这样的特质。当时拿到公司B的oc后,我其实可以躺平了。身边同门都叫我躺了得了,这么辛苦干嘛。但我不甘心,或者说我还再努力网上攀一攀。攀不攀的上再说,但我没攀的话,就一定到不了大厂。我还要再冲。整个秋招我投了100多份简历(当时拿到公司B的oc后仅投了30多家,即我oc后还投了至少70家,线下投递的还没怎么算),我后端,嵌入式SDK层开发,测试,客户端都面过,我的想法就是,只要你给我机会面试,那我就去争取,管我去不去,我先拿到再考虑。很多同学会觉得这家不行,那家不符合,那家又嫌弃,投个十几二十家,拿个一两个面试机会,没过了就说大环境难。要从自身找原因!第一点是:有的选的时候才能做对比考虑,只有一个选择的时候,是什么你都得干,因为你没有选择的余地!第二点是:学后端,测试、客户端甚至嵌入式上linux开发也是能够给面试机会的,虽然对比后端肯定大家接受度没那么高,但是很多时候你要保持面试感觉,你要不断尝试,才可能得到一个相对心仪的offer,要找到一个完全满意的offer,很难很难,但并非不可能。

致谢

最后感谢零声,感谢各位老师,没有各位老师的辅导和一路鼓励,我不会有今天。如果没有加入零声,我可能最后也会变成感叹大环境不好,秋招灰溜溜收场的人吧。你只要够强,足够足够强,哪里你都是第一顺位候选人。只要你肯努力,并且很努力很努力,零声一定将你越推越高。当然,感谢一直努力的自己,没有那些孤独、忍耐的沉淀,我也走不到今天。

全部评论
羡慕,只听过一点盗版课,难度太高
2 回复 分享
发布于 2025-11-29 19:44 北京
难度过高
1 回复 分享
发布于 2025-12-17 18:51 湖北
哇哦陕西的华南理工
1 回复 分享
发布于 2025-11-28 21:24 广东
非常认可手敲笔记的学习方式,俺也一直这样,可以不全面,但都是自己的东西,成就感这块上次面试还给面试官共享屏幕看了哈哈哈
点赞 回复 分享
发布于 2025-11-29 11:46 广东

相关推荐

头像
01-13 18:57
门头沟学院 Java
分享一篇找实习的腾讯云智的客户端开发面经如下。# 腾讯云智一面客户端开发面经总体来说不算压力面,但二叉树没做出来,蚌埠住了,二叉树给中序和后序,让我说前序(大二学的忘记了),本来其实可以用IDE,直接构造树,然后我直接打个前序遍历的,力扣原题。本次面试大致涉及以下内容:滑动窗口、动态规划(滚动数组)、二叉树构建和遍历、签名算法、爬虫、QPS、网络延迟、TCP 和 UDP、HTTP、TCP 用户数据报、HTTPS 加密过程、非对称加密和对称加密、单例模式、OOM 场景、链表找中间节点、双亲委派机制、Volatile。1)自我介绍(传统)面试官:先来个自我介绍吧我:xxxxx,省略几百个字,讲了2,3分钟结束,这时候面试官根本没听,其实在找算法题,没蚌住。2)最长无重复子串面试官:先做个算法吧我:好的好的,共享屏幕启动!5分钟解决了,稍微放慢点速度,2 分钟有点不礼貌了,然后介绍下原理,结束。3)二叉树中序和后序面试官:有带纸笔吗?二叉树给中序和后序我:整了半天,还写错了,其实力扣原题我反而背完了,大二数据结构画图忘了,只会算法递归+哈希表~4)实习经历面试官:介绍下你的实习经历我:阿巴阿巴,这边不阐述了,反正流水账。5)签名算法面试官:你签名算法是怎么做的,利用的什么?我:SHA 256,安全哈希,请求参数和 SK 做了加密,然后网关做一层判断,主要目的是中间人拦截修改问题。6)数据获取方式?面试官:你这个接口的数据是怎么获取的?我:Jsoup 解析 2345 天气预报的网站,然后存数据库持久化,缓存结合定时任务做一个性能的优化,还有一个 Expire 的过期时间。7)QPS ?面试官:你这个项目的 QPS 有测过吗?我:服务器是 2 C 2G,3M 带宽,20 - 50 的 QPS,还要考虑到服务器所在地区,会有一个网络延迟的问题,Jmeter 测试.jpg,本机能跑一两千(14核 20线程 I9)8)TCP 和 UDP面试官:TCP 和 UDP 的区别?我:是否面向连接?可靠?有状态?传输效率?传输形式(字节/报文)?首部开销?广播、多播?我这边简单提一下就行9)HTTP面试官:HTTP 在哪个层?基于哪个传输协议我:应用层、TCP 用户数据报10)HTTPS面试官:HTTPS 的作用和 HTTPS 加密过程?我:这个问过很多次了,这篇面经不讲了,没啥玩意,记忆个图就行了,追问了下 SSL 对称加密的算法,其实我不知道,把 DES、AES 都说了。11)单例模式面试官:单例模式的优缺点有哪些?我:暴露唯一实例,缓存池,节省资源开支,举了个 Spring 源码的单例注册表,缺点没讲出来,可能是单一职责原则(过于重),资源浪费(可能饿汉式?),并发问题?(非线程安全?)可能内存浪费?(大量单例对象存在)、没有抽象层12)OOM面试官 OOM 的场景?我:就讲了个内存泄漏的 ThreadLocal,元数据区可能是类加载过多,栈的话可能是递归问题,顺便讲了下新生代、老年代的垃圾回收,晋升机制,Dump、可视化分析工具讲了下,粗浅.jpg13)链表面试官:链表找中间节点我:一个是链表长度/2,或者快慢指针14)双亲委派机制面试官:讲一下双亲委派机制我:先讲过程、然后讲好处(安全、统一、防止重复加载)、怎么打破双亲委派、谁打破了?面试官问用了什么设计模式,我还真不知道?我说了责任链,但不确定,面试官也没说对,应该就是,链式感觉就是责任链。15)Volatile面试官:Volatile 的作用?我:常规的题目,就不详细说了,大家看博客即可,举个双重静态检索的例子?16)动态规划(滚动数组)面试官:做道题吧我:爬楼梯?...这我真熬不了 5 分钟,2分钟就秒了,直接 O(1)空间,不考虑先 O(n) 再 O(1)。
查看16道真题和解析
点赞 评论 收藏
分享
评论
6
12
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务