本人是在大二下暑期的时候正式开始找工作的,在这段时间里从一开始的无脑莽撞到后来的步步前行,受到了很多很多好心人和大佬们优秀文档的无私帮助。学校里学到的太少太少,而求职又需要的太多太多,这些文档帮助我走过了最初的手足无措,非常非常感谢。
自己从啥也不会的在校生小白,到最后能收获6个offer并能够进入快手工作,真的非常非常幸运,离不开找工作时小伙伴们的打气,和学习时很多大佬的帮助。
因此之前就决定在秋招稳定之后写一篇秋招总结,把自己的全部经历、经验建议、走过的坑、侥幸获得的好处都记下来,奉还给社区,帮助后来的同学们更好的学习前进。
希望这篇文章能够帮到正在找工作或者为求职做准备的大家。
附上博主的23届秋招offer,希望大家offer多多:
听取好朋友建议,将干货附在最前:
仅仅是个人看过的比较推荐的,欢迎大家补充
基础类:《C++ Primer》
进阶类:《Effective C++》
基础命令类:《鸟哥的linux私房菜》
实战类:《Linux高性能服务器编程》
基础知识类:《深入理解计算机系统》
系统优化类:《Systems Performance》
CPU开发:《手把手教你设计CPU.RISC-V处理器篇 》
编译器:
强烈推荐!自己每次面试前都看这个整理面经,写的非常非常好,非常感谢博主!
超全面的后端开发C/C++面经整理分享含详细参考答案 包括简历分享
面试常用:
十大经典排序算法详解(三)-堆排序,计数排序,桶排序,基数排序
肝通宵写了三万字把SQL数据库的所有命令,函数,运算符讲得明明白白讲解
【c++复习笔记】——智能指针详细解析(智能指针的使用,原理分析)
C++11常用新特性快速一览
C++11 多线程(std::thread)详解
敝人拙作:
cache优化基础(精华) · 语雀 《cache优化基础(精华)》
C++笔记 · 语雀 《C++笔记》
操作系统笔记:写时复制(精华,从源码分析总结) · 语雀 《操作系统笔记:写时复制(精华,从源码分析总结)》
安卓笔记 · 语雀 《安卓笔记》
后端技术图谱:GitHub - xingshaocheng/architect-awesome: 后端架构师技术图谱
C++11服务器开发TinyWebServer: https://github.com/qinguoyi/TinyWebServer.git
分布式系统MIT6.824:https://github.com/chaozh/MIT-6.824.git
小说一样读Linux0.11源码(系统必备):https://github.com/dibingfa/flash-linux0.11-talk.git
C++面经:https://github.com/huihut/interview.git
超过1w本的计算机电子书:https://github.com/forthespada/CS-Books.git
Go语言简易抖音后端:GitHub - HammerCloth/tiktok: The simple TikTok backend which supports video Feed stream, video contribution, personal information, like list, user comments, follow list, fan list, etc.
借用对我帮助很大的一篇博文(超全面的后端开发C/C++面经)中的简历格式,并附上自己的简历供大家参考
个人简历:
一般网申流程
加入秋招或者春招互联网校招内推群,直接qq里搜就行,如我秋招就用的这个群。
因为企业内推都有很多钱拿,是一门生意,所以信息网站上充斥着大量校园大使,随便找个信息密度比较高的用他们的就行
直接在校招界面投递,记得事先做好岗位和部门调研,大部分企业只有1-3个投递选项,而且面评有记录,约等于只有一次机会。
之后按要求填相关信息并上传简历,
一定要选择内推!!!
据我所知有些企业在初筛的时候,会把内推作为学历外第一筛选项,有的如字节就无所谓,但有的如拼多多没内推就没机会。
也就输一次内推码的事情,直接用就好。
如果有校友在目标企业,直接找他要内推码直推部门,有时会有奇效。
一定要正常作息并把手机音量调最大,简历初筛之后很快就有hr打电话找到你,找你约面试时间。
一般可能有二到三面,一定一定要提前看相关面经了解,同企业内题库大概率一致。
千万不要拒接或者漏接电话。之前听部门hr说,因为候选人实在是太多太多了,运气也是选择的很重要成分,所以漏接电话的基本不会再联系。有时候公司电话是总台转接,漏接就再也打不回去了。本人也因为漏接电话丢掉过两个offer。
面试大部分是网面,面试信息会通过邮件发送,注意保留邮件。
我是进大学之后才第一次接触编程,懵懵懂懂学会写一段简单的应用程序已经是大二时候的事情了,之前一直在课业忙的应付不来。后来找到考试的门道后,越来越得心应手,开始给自己找事情做,参加电赛,参加ACM,申请国创,参加挑战杯,跟着导师的课题组做横向,在技术上也算浅浅入门。
真正接触到求职,是在大二下参加蓝桥杯时,一个字节幸福里的新入职老哥找上我,要给我内推客户端开发实习试试。当时整好留校做人工智能的课题,没什么事就参加了。虽然只会ACM的一些简单题型,但初生牛犊不怕虎,靠着临时找学长要的面经竟然一路冲到三面。最后堆排序用类写的不是很规范,被面试官提醒后遗憾挂掉,懊悔了好一会。
这次求职也给了我膨胀的信心,当时对求职没有清楚的认识,私以为是技术好到能乱杀大厂了(其实远远没有只是运气好罢了),于是丢掉跟着我导师直博本校的机会,想着一头投进找工作里,自己的方向就这么迷迷糊糊的定下来了。
因为跟着打了一个学期的ACM竞赛,也参加过两次区域赛,主要会的只有C++基本语法和简单的ACM算法题型,STL稍微用的熟练一点,但当时没有源码概念,并不知道很多功能是如何实现的,只是调参侠。此外,操作系统和计网知识是跟着网上的面经一步步学的,学的非常零散且浅。应付一两次面试也许合适,但不可能有自己的思考和理解,也不可能出彩。
因此实际参加幸福里面试的技术栈如下:
总结之后,发现自己实在是纯纯的小垃圾,字节三面全靠运气,要学的还很多。而且很多需要的知识在大三上都有具体的专业课去学习,由于当时还抱着对学校课程的幻想,就没有自己找东西去学习,妄图通过学校课程学习获得知识,所以暂时放下求职的准备,一心又回到课业和导师的项目上去了。
时间一转来到大三寒假前,跟着导师磨了半学期没把论文磨出来,实验怎么都做不到比参考论文好,开了几次组会小论文也没啥进展,一时难受,觉得自己可能不适合学术生活,对读论文改论文愈加反感,最后索性不参加组会。学校的课程又是经典落后二十年,照读ppt+画图不考察代码,所学对回答面经上的问题完全没有帮助,甚至看不懂面试题。加上一起玩的舍友和学校翔工作室的几个人在一起找实习,所以坚定在找工作路上一路走到黑的决心,收拾收拾之前背的八股文和在项目里用到的机器学习算法基础知识,整理了自己的初版简历就直接找工作去了。甚至Leetcode都没怎么刷。
面试经历如下:
字节-后端-杭州抖音(二面挂):面经:字节后端-杭州抖音 二面挂
阿里-后端-阿里云(一面挂):阿里云后端实习生面试
小米-自动驾驶系统-车BU(二面挂):太难受没记面经
小红书-架构设计-中间件(一面挂):小红书一面
直到离开学校进入寒假,一无所获。
这些面试都集中在半个月内,面完完全懵逼了,问的问题有的连题目都不知道什么意思,有的题动不动就问你代码实现,算法题也多是Leetcode形式而不是ACM。数据库更是因为完全没有在项目利用过,被问了个底朝天,拙劣背知识点的样子,一眼面经仔。没有自己亲手做的后端项目,没有具体系统的学习计算机基础知识,更是对项目源码没有概念。像我这样的大学生满市场都是,完全没有竞争力,一无所获理所当然。
根据小米面试官的建议,在寒假用尽全力看完了一篇C++面经文档,非常非常全,把以前教的没教的学的懵懂的还是稍微会背一点的全都过了一遍;
超全面的后端开发C/C++面经整理分享含详细参考答案 包括简历分享
并且把Leetcode的前100题刷完,跟着他的学习计划又刷了50题。虽然准备完全不充分,完全不会软件开发,但还是有了一点胆量,还是在牛客上投小公司。
因为当时第一次用牛客,一不小心一键投递投了一大堆莫名其妙的企业和岗位(谨记,不要一键投递!血的教训),中间有个自动驾驶的小厂找我面试,中智行二面(已OC),闲着没事面了竟然过了,看在北京给的也可以,下学期也不想在学校浪费时间,就直接愣头青签实习,完全不管不顾一切影响,闷头冲,一开学就去北京了。
实习是第一次完全独自生活,衣食住行全部自己负担的滋味不如学校好受。租房子看了二十多套跑了两天才找到不错的,一下吃掉我大半个月工资。到现在还记得因为不了解床品三件套,被北京热情的布艺店老板教育半小时的场景。但心态也有了真正的变化,这是我自己的人生要自己去规划, 想做什么就得努力去做,自己的每个选择都要接受他的结果。不再是学校里什么都是等着别人安排好给我,自己还不满抱怨的学生了。
公司里leader对我很好,也许因为是小厂,对实习生没有规定,自己自由度很大,给定方向后自己探索没有排期,1065享受生活过得很舒服。工作是找出自动驾驶系统运行时的性能优化点,leader给了两个工具名词,google perftools和perf,就让我自己捣鼓研究去了,每周末的汇报是前进的最大动力。
因为之前学校完全没有接触过相关知识,或者本来应该有,比如系统优化中的branch优化和linux系统操作指令应该在操作系统里学习,但是一直学的都是背知识点没有实操,等于没学。所以在各种编程论坛上花了很多很多时间去一点点补课,把csdn和博客园里所有perf相关的中文帖子全部过了一遍,很多文档重复性太高且不系统就又去Stack Overflow里查,最后找到了Redhat里的系统教学文档工作才有点开始。
除了信息查询的问题,很多技术上的坑真的是要靠经验一点点去踩。通过perf script逐帧取样的时候总是溢出错误结果,查了两三天不明白为啥,还把自己的linux系统搞崩一个。后来受不了问leader才知道是时间戳没有同步,车载系统和linux服务器上perf的时间戳不是同一个格式,这种简单问题竟然卡了三天,最后半小时内解决。还有自己写的脚本在多端服务上不同步,车端的记录到服务器端函数名全部变成0x0000000了。车上挂脚本是不实际的,必须得想办法同步信息。最后经过Stack Overflow上一个印度老哥点播,看了三四天linux perf源码才找到原因是符号表未同步,简单用perf archive同步就能够完成。还有最后自动驾驶模式下遇到锁粒度问题,导致耗时消耗没法具体到某个函数调用栈的问题,本来计划进入项目源码逐步分析的,但因为北京那波巨大疫情全部终止了。
最后根据需求写了个统计并显示docker中最多耗能函数的小脚本,有排序有显示能定位到具体的函数栈,还结合ros命令写了个自动驾驶系统上的自启动记录同步脚本,被封之后没有跟进工作,也不知道最后有没有上线。
这是我的第一次工作经历,经自己的努力遇到问题解决问题的感觉真的很让我兴奋,和之前死气沉沉背ppt看论文抄论文是完全不一样的体验。而且北京天气非常好,我住的是个没那么老的老小区,离公司就三站公交,小区里非常有生活气息,邻里关系也很好,一上来就收到了隔壁老大爷老奶奶的帮助,遇到的住户也很热情。也许是因为没那么忙压力没那么大吧,好几次下班看着夕阳心情都很好,哼着歌,很有奔头。如果不是每个月要交大半个月的工资租房子和吃饭,还有根本没有去想过的三环房价,也许我真的会喜欢这里吧。
借着公司事情少的功夫,我总结了在公司做的内容,也参加了字节的后端青训营,狠补了系统知识,大修了自己的简历。在三四月的春招暑期实习,我开始了自己的第一次海投,把市面上能投的大厂全部都投了一遍。
效果惨淡。
蚂蚁区块链存储后端实习生:http://t.csdn.cn/uC6VK
美团后台暑期实习:http://t.csdn.cn/4mhtH
字节电商广告后端开发实习生面经:http://t.csdn.cn/EfcK4
oppo系统工程师暑期实习生面经(已OC):http://t.csdn.cn/c0vyA
蔚来引擎暑期实习生:http://t.csdn.cn/GIcco
字节抖音后端暑期实习生:http://t.csdn.cn/feqNW
阿里本地生活后端一面:http://t.csdn.cn/G1f3v
携程后端开发暑期实习一面:http://t.csdn.cn/EwkQj
携程后端开发二面:http://t.csdn.cn/bQJSG
携程后端开发hr面:http://t.csdn.cn/Q0r8E
深信服C++开发:http://t.csdn.cn/WSz7t
字节抖音支付后端实习一面(kpi):http://t.csdn.cn/ckHBf
大部分都是简历挂了,给面试机会的可能有投递的三分之一。但其实和后来的秋招比起来,真的是已经非常非常多了。
最后收获了oppo和携程的offer,携程hr面只是口头offer,之后还打过给我电话,因为拿外卖漏接了,是总台分机也打不回去。不过当时因为已经接了oppo的所以没有在意,过一个月发现直接进入人才池了。所以找工作期间电话很重要很重要,一次漏接可能就是完全不同的结局。
这一大轮的面试,给我的最大感觉就是自己的基础知识完完全全不扎实,只跟着文档学习是完全不够的,自己对工作内容也没有太多的理解,只是出于完成leader的任务的方式去做,没有基于项目的思考,稍微深一层问题,比如为什么要用cpu-cycles或者cache-misses的参数去考量,一下就问住了。
同时还收到了面试官的很多建议,真的是非常非常有用的。阿里云的面试官挂了我的志愿,说是学历原因,但是钉钉找到我给我推荐了一大堆书和项目,希望在秋招直接投他们组直接开始面试(然后秋招又挂学历是真滴牛皮)。他推荐的MIT6.824和《Effective C++》给我当时的工作带来很大的帮助。
分布式系统MIT6.824:https://github.com/chaozh/MIT-6.824.git
oppo的面试官说我的系统知识还需要有很大很大的加强才能勉强加入工作(当时都以为稳挂了都不想了,最后竟然能通过),推荐我进来前不说看所进行方向部分的ubantu 21版本源码,最起码要把linux0.11过一遍,不然最基本的需求都无法实现。
小说一样读Linux0.11源码(系统必备):GitHub - dibingfa/flash-linux0.11-talk: 你管这破玩意叫操作系统源码 — 像小说一样品读 Linux 0.11 核心代码
因为还在前疫情时代,最后在北京封了整整一个月没事干没饭吃(没堂食很多饭店都关门了),加上去深圳又隔离了半个月,这一个半月把linux 0.11源码过了一遍,没事投了个字节后端青训营过了,然后跟着上了半个月的课,又知道了很多面经问题的高层次答案。
这第一次出门工作的人生经历有了充足的回报,也算完美落幕了hhh。
到深圳先隔离了半个月,住大宾馆大豪斯每天送饭不要钱,实在是过爽了。之后安定生活的一切因为有了北京的经验,一天内搞定,出隔离后第三天就上班了。就是每天都要做核酸捅嗓子,没24小时小卖部都进不去。
oppo大楼在南山前海是第一高的楼,真的非常震撼,每天几千个人在那上下班,自己也是其中的一员。大公司环境也比小厂好很多,虽然也没小厂那种人情味了。
oppo是报道之后再分组和部门,之前是统一招聘。被分到了做某个知名性能手机的组。进组第一天没有安排工作,都是和同事吃吃喝喝熟悉环境,但是分方向的时候傻眼了,面试面的是linux,岗位简介上写的是linux,自己事先学的也是linux,结果方向全是安卓!有点无法接受,当时就想告辞润携程。
第二天早会更傻眼了,直接降本增效部门没了。同事们一一安排去处惜别,互相伤感。
我咋办。
好在多方周转把我安排进了性能部门,虽然还是安卓,但是是在做framework层的性能优化,也算是和自己的目标方向某种程度一致了。
之后的时间主要是在学安卓,连同Java一起从零开始学习。因为实习时间很紧,导师对我非常好而且非常负责,经常找我聊天,定了很严格的时间轴作任务规划,最后完成了小小的三项工作。部门里福利也非常好,每周都喝奶茶出去聚餐,我也每晚都去健身房健身一小时,一切都走在打工人的正轨上了。
技术上写了好几个小app,统计了framework层面的广播管理,做了一点点排序统计和优化的工作,也算对安卓这一原来可能的职业方向算个入门吧。
最后答辩给的评分也很高,满心欢喜能拿到sp,但是到头来空欢喜一场,也许学历歧视的学历厂天生就不欢迎我们吧。当然最后也是给了转正的机会,给秋招保了很不错的底子,让秋招的自己面试和A价更有信心。挺感谢oppo可以给我的这段实习,也感谢我的导师非常耐心的指导,这段经历帮到我非常多。
最后临近答辩的时候,我们楼出了一个阳性,两万人的大小区说封就封,因为答辩ppt还在公司电脑上,连夜收拾东西逃走,宾馆也不允许开放四处游荡,差点睡公司。匆匆答完辩之后不久,就开始所谓的静态化管理了,差一天不允许坐火车走。
很喜欢粤菜,很喜欢深圳的天气,很喜欢公司的设施和氛围,希望之后有机会再来。
有了前面这半年在外的工作经历和知识学习,自认为已经可以的我开始了秋招的投递。结果是当头一棒。
大量大量的被挂简历。
之前花了三个月时间专门准备的腾讯,hc从去年的8000降到只有180个明文劝退,字节hc从去年的1w降到2k,自己实习的厂子也明确不招211本科及以下,自己算是破格进去的。
大量的被挂简历对自己的打击真的很大很大。投递情况如下:
最后真的是非常非常幸运能够有企业能收留我,感觉运气胜过实力非常非常多。
运气的基础就是 海投!海投!海投!
只要去海投肯面试,试他个几十家,总有企业能要的。有手有脚的不会没饭吃。
面经如下:
巨人网络提前批-游戏开发工程师:http://t.csdn.cn/xixI2
万集科技提前批:http://t.csdn.cn/6TRAy
锐捷网络 C++ 提前批:http://t.csdn.cn/ijfGh
开始只有提前批的几个小厂愿意要我,大厂写了十几个笔试,全都是杳无音信。
直到金九银十完全结束了,字节盘点hc了,快到11月中旬了,
一家找我面试的都没有。
和春招找实习完完全全不一样。而且不止我,周围一起找工作的同学,有大厂经历,也是没有面试机会。
在我彻底放弃打算回去写安卓的时候,两家都没做笔试和测评的公司找上门了,携程和快手。报着试试看的机会去面,结果对我实习的项目非常感兴趣,基本没问八股和算法,很快地就走完了流程。应该都是做系统性能相关的部门,看到简历很匹配就从池子里捞出来了,一捞就中,全部流程没超过一周。
所以不到最后机会千万不要放弃,再恶劣的大环境,机会总是有的。
而机会的前提就是,海投!海投!海投!
回顾自己的秋招经历,两次实习对自己的帮助真的非常非常巨大,不管是具体知识的教授,还是眼界的阔开,工作方式的培育,真正让自己从学校里的学生变成入门的打工人,学到很多学校里完全不会教的东西,从而在秋招的时候占先机,获得了德不配位的成果。
而回顾自己受到的困难和挑战,周围人的善意和帮助起到了很大很大的作用,身边的,网上的。因此写下这篇文章,希望能帮到处在和我之前相同境遇的同学,起到小小的帮助。
也非常感谢一年前努力的自己,不顾一切一头闷进北京,让现在的我能够有那么些许的优势。
那么,就是这些啦,
希望大家以后越来越好!
这篇帖子发完之后很快就用同学找我交流hhh,非常感谢各位,一些比较普遍性的问题就在这里集中回答了
1、升学还是工作
这个比较看个人倾向了,主要看个人是在学校里学得多还是在企业里干活学得多,像放弃保研出来实习的同事我也见过,当然大多数同事和一起找秋招的同学都是研究生。
而且至少在今年,学历是非常非常重要的,今年我被大量的挂简历,很大原因就是学历不够。快手意向群里00后只有23%,证明最多只有1/4的同学是本科进来的。往年甚至去年,211本去大厂开发简历没问题。所以未来学历贬值的问题,我不好说。所以肯定是学历越高越好。
2、秋招一定要实习么
除非是那种特别特别好的学校,或者在校项目就非常好的,我同事东北某985的,课程设计照搬CMU,在校就做过很好的大作业,像搜索引擎和操作系统内核,那这时候个人技术就不需要实习来证明了。不然今年的大多数情况,没有大厂实习或者对应岗位实习,学历也不是很够的话,过初筛很难。
而且面试中大部分的问题都是围绕你的个人项目,在个人项目都是烂大街的服务器分布式系统的时候,实习项目更爱问,这时候好的实习就非常重要了。而且项目问多了,就不会去问八股或者算法这些需要硬背的东西,一般得分也会比八股面试要高。
最后就是实习转正问题,我周围的实习生大多转正了,尤其是大厂的(字节除外),这种时候不论秋招环境如何,自己心里都会踏实很多。虽然实习转正白菜很多,但至少会有个保底。
所以我建议,至少一段实习,大厂最好。
3、转码需要什么
这个问题比较难哈,B站和牛客上有很多转码的学习攻略。基本的编程语言和基础知识我都是跟着学校课程上的,更进阶的才需要自己自学,所以从零开始我建议以408作为方向吧,高数概率论开发不太需要。如果时间更紧的话,找相关帖子针对性学习会更好。
但是以目前的情景来看,寄算机一年比一年卷,卷到上天。卷学历其实也就是这两三年的事,高中那会算法岗都有本科生做,而且行业很多公司都到了瓶颈在裁员,效益不高校招受影响最大。工资看起来高,但是税要扣掉很多,税后其实比很多岗位高不了太多。
所以对校招计算机我是持悲观保守态度的,不太建议转码。
脉脉上应届生身份最金贵的去处是选调国企考公。