文章目录
1. 概述
先说一下本人bg:985计算机本科,在放弃保研以后参加秋招,拿到了美团、京东以及华为等大厂的offer,方向是C++/Java后端开发。
很多人可能被当前铺天盖地的就业困难报道搞得不知所措,特别是本科xdx,“我该读研还是就业呢?”、“我想就业,但是我现在什么都不会,我也不知道我该怎么学”,这些都是大一大二的同学经常会困惑的问题。本篇文章创作的初衷就是帮助对于就业不太了解的同学了解就业目前现状以及找到自己的路。
自上次白晨分享自己的秋招经验已经过去好几个月了,感谢大家对上篇文章的喜爱,目前点赞已经破千了🥳。其实这篇文章一直想写了,也有很多同学私信让我分享一下学习路线,但是单纯分享自己的学习路线可能没有什么新意,因为这种文章其实在网上一搜就一大把,看多了学习路线的文章可能还会陷入不知道从哪学起的困境,并且对于非计算机的同学可能用处不是这么大。
有一天在跑步的时候突然想到与其分享学习路线不如教大家如何打破就业的信息差,以及回答大家一些方向上的问题,最后再给大家分享一些学习路线。
所以,这篇文章主要想讲关于方向选择、信息获取以及学习路线,如果是非计算机专业的同学可以着重关注学习路线之前的章节。如果想要进一步了解秋招、春招、实习以及简历的同学,可以详见从放弃计科保研到秋招进互联网大厂,我是怎么做的?【秋招分享贴】这篇文章。
最后,祝愿大家可以从这篇文章中有所收获,早日明确自己的目标(❁´◡`❁)。
由于个人能力有限,无法考虑到全部情况。希望大家可以积极留言,留下你的困惑,共同讨论,构建一个关于就业话题的良好文章。
2. 读研or就业
读研还是就业,这是一个问题。下面白晨就简单从自己的角度分享一下自己的看法。欢迎评论区讨论,留下你对于此话题的见解。
2.1. 我的观察
我想先分享一下我自己的观察,我前几年都参加了我大学每年高考后的招生工作,遇到家长问的最多的问题就是,“你们学校的保研率是多少?”。这个现象中可以观察到一个现象,读研目前是大势所趋,再加上这几年硕博扩招,越来越多的研究所现在卡学历卡的越来越严。
很多人本科的时候其实并没有一个清晰的念头——自己要不要读研,所以就这样随大流,浑浑噩噩又焦虑地过完了大三,然后去考研。
再给大家分享一组数据,我所在的学校计算机专业2018年的时候本科就业率为41.59%,2024年本科就业率为9.09%,短短六年来呈现断崖式下滑。
应该怎么理解这组数据呢?大环境肯定是一方面,学校也是一方面,学校也乐意看到现在升学率高的局面,现在大学升学率也到了7成,越好的专业升学率越高,计算机专业升学率有近8成。大学基本上没有什么教你就业的课,大学生职业规划这种课也仅仅就是学校为了完成任务开的,就业兼辅大概率自己都没就过业,所以,本科就业还是得看自己。
2.2. 我的观点
“说了这么多废话,白晨你的观点呢?”
如果你在本科就可以拿到大中厂(或者适合自己的公司)offer,我建议可以直接就业。
因为目前的大厂本科和硕士基本上拿到级别和薪资都是相同,大厂的起薪本来就很高了,如果你能在本科就拿到大厂的offer,你同学读研的三年你职级可能都已升了好几级了,三年后你面试你读研的同学可能还真不是一个笑话;并且我认为如果去一个大厂,三年学到的东西普遍来说是要比在学校学到的东西要多的。
那怎么判断自己是否能拿到大中厂的offer呢?
首先,看周围本科准备就业的学长学姐,他们要是进大中厂的比较多,那么你拿到大中厂offer的概率就比较大。其次,可以对着一些比较完整的面经去检测你的准备怎么样,如果面经上的东西大部分上都是你看过的,说明你的技术水平是足够的。最后,也是最准的,去参加面试,大一大二可以去投递大厂的日常实习对于自己的技术进行检测。
当然,你要是想冲一冲算法岗,这种岗位必须要读研的,大厂算法岗薪资非常高,基本起薪可以高出开发5k以上。但是这个岗位目前是越来越卷,既要顶会,也要coding的能力。能不能找到好的算法岗,基本和你组强不强是挂钩的。算法岗中还有一个细分是干推搜的,这个对于顶会要求不高,但是对于实习要求很高,基本得有两段对口实习经历。这也比较看导师,导师要是不放实习,那就很难了。
还有一种情况,你要是追求稳定,想去国企研究所。这倒是没要求必须读研,不过国企本科好岗位很少,特别是在西安这种不缺大学生的地方。所以,这些国企研究所的好岗位默认都是给硕士以上学历开的,想要拿这些好岗位的offer,硕士是必须的。
有人说,国企研究所比私企轻松,这个见仁见智吧。国企研究所这些地方加班时长可能比私企还长,并且不给加班费,特别是军工(为国铸剑嘛)。但是相对的,国企研究所工作强度也小于私企,可以摸鱼,并且国企研究所确实稳定性要比私企强得多。
如果你发现你本科进不了大中厂,可以考虑读研,将自己的学历再提升一次。如果是双非的同学,最好往985/211这些学校考,有了名校加成,简历通过率肯定会有质的提升。
无论你选择什么,最好早早决定,提前规划非常重要,合理的规划会让你领先别人,也会让你保持独立思考,让自己不至于陷入随大流的焦虑中。
2.3. 总结
最后,总结一下:
- 如果若本科能获得大中厂匹配岗位的offer,建议直接就业。
- 若目标算法岗(需硕士+顶会/实习)或国企/研究所核心岗(硕士隐性门槛),或当前就业竞争力不足(如双非学历),则需读研提升学历或科研资本。
- 无论选择什么,最好都提前开始规划。
3. 我该如何去获取就业信息?
“就业这种事情离我好遥远,我也不知道我怎样才能获取就业相关的信息,就导致我对就业既不了解,又害怕”,这是很多人的想法,不了解就会导致恐惧,恐惧会让自己出于保护心理不去接触这些信息。
其实,就业这些信息一点都不难获取,当你早早了解就业,你就会正视它,更能理性地做出选择,并合理的规划自己的未来。
下面白晨将介绍多种获取就业信息的途径,每一种途径白晨都会通过配图,为大家分享如何获取信息,以及可以获取什么信息。如果大家有补充的话,可以积极分享,以便帮助更多的人。
3.1. 公司招聘官网
公司招聘官网是第一手的岗位信息来源,也是大家进行网上岗位投递的网站。要搜索一个公司的招聘官网,一般是xx(公司名)+招聘,比如,腾讯招聘。下面,我将通过图解给大家讲解怎么从公司招聘官网获取信息,以腾讯招聘为例。
这里要补充一下应届生身份的知识,毕业两年内只要没有社保记录都算应届生,公司招应届生可以给公司减税。腾讯要求的是2025应届毕业生,也就是要求2025毕业的应届生,而不要2024毕业的应届生,即使2024年毕业没有交过社保的同学也属于应届生。
现在大厂基本上都会卡本年的应届生,所以,如果你考研二战失败,基本上这些大厂就会因为你有一年gap把你卡了。
现在正好是春招,我们就看一下2025校园招聘
这一栏。
现在让我们逐个介绍这几个栏:
- 导航栏
- 青云计划
- 招聘动态
- 了解腾讯
- 求职攻略
- 筛选栏
可以筛选自己想要的岗位,筛选项一般有招聘项目
、岗位类别
、工作城市
以及事业群
。
- 岗位具体信息
现在我们详细看一下岗位信息,从这里面我们可以了解到要应聘这个岗位我们应该学习什么。
现在就能解答一个问题,“我不知道找工作需要学习什么”,其实最简单的方法就是打开大厂的岗位信息,去学习这里面提到的东西。
现在我们详细解析一下,应聘这个岗位我需要学习什么。
必须具备的条件
- 编程能力要过硬:得熟练掌握C/C++、Java、Go其中至少一门语言,能用它写出让电脑听你话的程序代码,代码得写得规范、高效,不能漏洞百出。
- 网络通信知识得懂:熟悉TCP、UDP这些网络协议,知道数据在网络里咋传输、咋打包、咋接收,还得会用这些协议写程序,让程序能通过网络和其他程序“聊天”。
- 进程间通信****要掌握:得知道进程间怎么通信,比如用管道、消息队列、共享内存这些方式,让不同的程序模块能协同工作。
- 专业软件知识不能少:算法得懂,知道怎么用算法高效解决问题;操作系统知识得有,明白程序在系统里咋运行、资源咋分配;软件工程得懂,知道怎么规划、开发、维护软件项目;设计模式得熟悉,知道啥场景用啥模式让代码更优雅;数据结构得掌握,知道用啥数据结构能让程序更高效;数据库系统得了解,能和数据库打交道,存数据、取数据;网络安全也得懂点,知道怎么防止程序被黑客攻击,保证数据安全。
有一定了解的条件(加分项)
- 脚本语言会点更好:了解Python、Shell、Perl这些脚本语言,能用它们写些小工具、自动化脚本,提升工作效率。
- 数据库知识要全面:熟悉MySQL及SQL语言,能熟练用SQL操作数据库,增删改查数据;对NoSQL、Key-value存储原理也得懂点,知道什么时候用它们来存储海量数据、提升读写速度。
- 分布式系统相关知识有帮助:对分布式系统设计与开发、负载均衡技术、系统容灾设计、高可用系统这些概念有所了解,知道怎么设计大规模、高并发、高可靠的系统。
- 云原生技术有了解是加分项:知道云原生相关技术,比如容器化、微服务、云平台这些,了解怎么利用它们来部署、管理、扩展应用程序。
3.2. 微信公众号
3.2.1. 公司招聘公众号
为什么要关注公司招聘公众号,这里我给出三个理由:
- 信息获取快,由于跟微信绑定,基本上有什么消息你都可以第一时间看到,可以第一时间获取招聘的信息。相比于看招聘官网,中间简化了许多环节。
- 投递以后进度方便查询。
- 信息整合汇总。除了白晨展示的腾讯招聘以外,还有许多公司(特别是大厂)都有自己的微信公众号,相比于自己一个个翻公司招聘官网,整合了招聘信息的微信公众号才是你的首选。
除了上面这种公司官网公众号,还可以关注学校官方的就业公众号。
这些公众号的优点就是,一般发布的招聘信息都带有线下宣讲的日期和地址,方便我们线下去找hr了解情况。
3.2.2. 其他招聘信息汇总公众号
除了上面两种比较官方的途径以外,也有一些公众号可以用来获取就业信息,但是这些公众号需要自己去挑选对自己有用的信息。
- 本地生活服务号
如果你想在某个地区就业,可以关注当地生活比较有名的公众号,一般可以获取当地的招聘信息,但是这些信息要注意辨别,有些是社招,有些是校招。这里拿西安本地宝
这个西安本地生活公众号举例:
- 招聘软件相关的公众号
一般比较有名的招聘软件都有自己的公众号,也可以获取到就业信息。这里用牛客网的公众号举例:
3.3. 就业信息群
就业信息群也是一个非常好获得招聘信息的渠道,在春招或者秋招时这种群比较多,一般提供的信息比较密集,都是和岗位投递相关的,建议可以在需要找工作或者实习前加上几个,方便海投。
下面说一下如何加入这些群:
- 关注自己学院群,特别是应届生,会有就业信息群的信息,除了投递信息外,还会发线下宣讲的信息。这里拿白晨今年加的就业信息群举例:
- 知名招聘软件都会有自己的就业群,只要关注其公众号,那些推文下面或者公共号底栏都会有就业群的信息。
3.4. Boss直聘
Boss直聘不用多说,虽然每年都会爆出一些不好的消息,但是谁叫它是国内招聘行业的佼佼者呢,需要找工作的人必须要会用。如果你是在校的学生,也可以在上面关注某个地区某个岗位的能力要求和薪资情况。
一般在Boss上投递,分为主动投递和被动投递。
- 主动投递,就是在招聘首页自己点击岗位信息去投递。点击
立即沟通
进行沟通,发送你的简历,用于海投。
- 被动投递,就是你上传简历以后,hr看到Boss上你的基本信息,hr觉得你符合要求,主动联系你,此时你如果想继续沟通,可以发送简历,交换手机号和微信,进行进一步沟通。
3.5. 牛客
牛客,也叫小牛书,是我比较喜欢的软件,集成了Boss直聘、leetcode以及小红书(其实更像贴吧)的功能,软件专注大学生就业,所以里面的用户基本都是大学生。没事随便刷刷文章,就能获取很多公司信息,包括内推、薪资、待遇和面试难度,也可以看到牛友分享的面经,更可以一起吐槽某个厂的笔试。
有些双非本科的大佬写的自己如何一步步学习、实习,最后秋招斩获大厂offer真的很有参考价值。有人在里面打卡学习,也有人分享自己的大学生活,怎么使用都取决于你。
如果想就业的同学一定要下一个牛客🐂。
3.6. 小红书
小红书也是一个非常好的可以了解就业信息的渠道(虽然卖课的很多),作为一个日常分享平台,可以了解到很多大厂员工的生活,还可以找到第一手的面经,第一手对公司的吐槽。
怎么判断一个公司好不好,就可以在小红书上直接搜这个公司,可以通过分享贴以及下面的评论来判断这个公司的情况,还能直接在贴子中和贴主私聊,获取更多信息。
- 面经
- 待遇
3.7. 脉脉
脉脉这个app主要用户是大厂职员,相当于大厂员工专属的贴吧,里面会分享各种大厂的最新动态,并且这个app自带匿名,防止大公司追查,所以可以了解到第一手的大厂情报。
其中,比较有参考价值的就是脉脉评选的雇主排行榜。
每天的脉脉热榜也可以了解到很多大厂内部的变化。
3.8. 知识星球
知识星球作为私域知识分享平台,好的知识星球一般都有一个非常和谐的知识分享社区,可以获得相较于免费的面经更完整的面经,更详细的学习路线以及更良好的打开氛围。
那么知识星球有什么缺点吗?
有,那就是收费,好的知识星球一般是付费进入的,一般价格一年几百块。前腾讯员工——鱼皮,就是开设了知识星球,赚的盆满钵满,真是馋的白晨流口水🤤。
知识星球畅销榜前10中有4个都是程序员相关的,有兴趣且有经济的同学可以自己去加个星球看看,但是不要多加,因为一般来说,一个良好的星球里的资源都是很多的,完全足够校招生学习了。很多人其实加了星球也不会看,没有充分利用星球的资源,只是花钱图个心安,其实完全没必要,因为有些免费的资源也很好,后面白晨会介绍。
3.9. OfferShow
如何提前了解大厂校招的普遍薪资,如果区别自己是白菜、sp还是ssp,上OfferShow就可以了。这个app有最多的薪资信息,OfferShow其他的功能都可以视而不见,主要就看薪资。
这里放腾讯和阿里开发的薪资激励一下xdx:
3.10. 线下
这个不用多说,相信你看了前面的方式,已经了解了每次到春招秋招都会有很多企业来线下招聘,直接从公众号或者是就业信息网中看好地址,线下去听宣讲会、投递或者和hr交流具体细节。
这里要特别提一句,很多企业线下投递会比线上投递多一个志愿(一般需要先网申,到现场再投递一个岗位),相当于多一个复活甲,线下投递有些也可以快速通过网投的简历。并且大中厂的线下宣讲一般都有礼品,可以去抽抽奖。这里拿OPPO的宣讲会举例:
4. 计算机就业岗位那么多,要求又不一样,我该怎么选择我要学习什么岗位?
计算机就业方向有很多,简单分类都有:
- 后端
- 前端
- 数据分析
- 大数据
- 算法
- 客户端
- 测试开发
- 嵌入式
- 游戏客户端
- 信息安全
- 运维
“我身为大学生,既要忙于课程,又要参加比赛或者社团,本来都很忙了。看到这些细分的方向,头都大了,我该怎么进行方向的抉择呢?”,下面白晨会分享一下自己对于这些方向的看法,如果有从事相关方面的学长学姐,还请留下你们的看法😽。
4.1. 方向选择
其实对于大一、大二学生(时间比较充裕),初期应避免过度纠结细分技术方向(如特定语言或领域),而应优先夯实编程基础(如语言语法、操作系统、数据库、网络等)和算法能力。细分岗位数量有限且竞争激烈,若核心技能未达标,过早关注细分领域反而会分散精力,影响求职竞争力,如果到了需要选择特定方向的时候再选择方向也不迟。
下面具体讨论方向的问题:
- 首先是后端,优势有岗位需求量大、技术栈迭代较慢、技术深度可积累(高并发/高可用/分布式)、职业发展上限高(但是对于普通人来说是远远碰不到这个上限的)。每年跟风投递得最多的就是后端,这也就导致了一些问题,后端方向竞争最激烈,需扎实的算法+系统设计+项目经验。
由于需要掌握的技术太多了,几乎是不可能速成的,如果要进行完整学习,至少需要1年时间。这个岗位也比较适合时间比较充裕、追求技术深度、能承受高竞争压力的同学。
- 其次,我要聊一下前端,年年都喊着前端已死,年年前端都缺,特别是这几年AI发展得迅猛,很多人都在唱衰前端。那么,前端是否真的就有这么差呢?答案是否定的,前端岗位量接近后端,学历门槛相对较低(尤其对女生友好),技术迭代快但学习周期短,并且前端和后端的薪资没有差别,都属于开发岗。
如果你现在大二或大三,学习前端进大厂的概率是绝对高于后端的,去年白晨参加秋招的时候,急招岗位基本都是前端,后端基本上都不缺人。白晨有同学就是大二开始学习前端,学了半年多,本科进了一家互联网大厂,属于是前端速成的典范了。
我们客观地说,前端存在框架频繁更新、易陷入重复性功能开发,技术深度积累较难等问题,但是对于学校出身没那么高、时间也不充裕的人,前端是白晨比较推荐的。
- 再者,白晨想谈论一下客户端开发,客户端开发原生岗位集中于大厂(如抖音/微信),小厂多采用跨平台方案,岗位数量持续萎缩但不会消失,目前鸿蒙开发不知道是不是又可以带起一波客户端开发的浪潮,我学长就是搞鸿蒙开发的,去年秋招华为开了15a,鸿蒙开发也是一个可以选择的路。客户端的起薪不低于
如果暂时不考虑鸿蒙开发的话,仅建议接受大厂核心部门offer(如字节抖音团队),否则优先选前端/后端。
- 接下来,聊一下SRE/运维开发,这个岗位偏底层基础设施,需7×24小时响应,工作强度大但可轮班,主要负责服务器正常运行,适合喜欢系统底层/网络协议的同学,职业路径较垂直。
- 接着,测试开发或者纯测试,这个岗位是技术门槛最低的保底选择,只有部分大厂测开需coding能力,可转型测试架构师/团队管理者,但技术天花板明显,属于是开发岗多次失利后的务实选择,也是没有时间进行学习的同学可以速成进大厂的途径(特别是学后端学了一部分,但是时间不多的同学),测试工程师一般来说工资会略低于开发工程师。
- 最后说一下算法岗,薪资远超其他岗位,但需硕士以上学历+顶会论文,去年秋招拿到大厂算法好offer的一般都有两篇顶会,就今年开奖的校招薪资,大厂算法岗可以一般拿到30k以上的月base。比较适合有顶尖学术背景(名校硕士+顶会成果)的同学。算法岗中还有推搜岗,这个非常吃对口实习,如果你没有论文,一般都需要两端及以上实习才能进推搜岗(比较看你们组放不放人)。
简单总结一下,根据自身基础和时间选择——时间充裕冲后端,学历/时间有限者选前端,求稳保底走测开,学术大佬冲算法,赌风口可试客户端/鸿蒙。
4.2. 国企or私企
这里白晨还想再强调一下,人生不是非此即彼的轨道,但旷野探索需要指南针和干粮,既要又要一般来说是不可能的,一定要避免陷入完美主义的陷阱,与其在幻想中纠结自己需要什么,不如自己实践一下。如果不能确定自己是否适合大厂,可以提前去投递大厂的日常实习,利用暑假时间去好好体验一下。用可验证的行动缩小选择范围,而非在想象中反复权衡。先让自己在一条路上走通50米,远比站在十字路口纠结更有意义。
4.2.1. 国企情况介绍
大厂的情况大家都了解的够多了,比如,不稳定、收入高,大厂起薪30w等,那国企到底是个什么情况呢,白晨这里想详细聊聊。
国企薪资中上(普遍15-25万,国有银行部分高岗级可达20万+)、福利完善(六险二金、餐补房补等),多数岗位双休、加班少,适合长期发展。招聘时看重学历(985/211优先)和稳定性,技术岗以Java为主(需掌握SpringBoot、MyBatis),项目经历1-2个即可,实习非必需但能加分。
秋招集中在9-11月,笔试考行测和基础技术,面试侧重项目逻辑和职业规划。适合愿意深耕技术、兼顾生活节奏的同学,但需注意部分岗位存在“开盲盒”风险,建议提前通过学长学姐了解内部情况。
对于银行来说,股份制/城商行薪资一般大于国有银行,但是压力相对也会大一些,技术岗优先级:总行研发中心 > 省分行 > 城商行。
推荐一些资源:
- 招聘信息平台
- 公众号:国资小新、银行求职考试网。
- 学习资源
- 行测:粉笔APP。
- 技术:LeetCode。
总结一下,国企/银行求职需平衡稳定性与技术成长,重视学历与项目匹配度,提前准备行测与开放性问题。
4.2.2. 方向选择
首先,得知道自己想要什么,既要有要是不现实的,可能有稳定又赚钱的岗位,但那种岗位一般不是给没有背景的人准备的,进国企/银行就是图稳定,进私企就是图赚钱。
其次,得结合自己的家庭背景考虑,如果是家里比较有势力,可以选择国企或者体制内,稳定又舒服;如果家里能帮助的有限,可以考虑去大厂闯荡闯荡,趁年轻将财富变现。
主要就是要清楚自己想要什么,如果去国企/体制内,以后就是衣食无忧,生活上也比较稳定,但大概率不会赚到什么大钱,到时候别羡慕出去闯荡的同学就行。
如果去大厂,以后就是快速将青春变现,要自己做出点东西来,但是等到后面被裁,大城市买不起房,也别羡慕去国企/体制内的同学就行。
这个方向其实就是围城,很难说哪个好,哪个不好,只能说看自己对于生活的态度。
4.3. 语言选择
如果你选择后端,相信一定会遇到语言困扰,“我是应该学C++,还是学Java,还是学Go呢?”,这里简单讨论一下语言选择上的问题。
从大厂上来说,腾讯的主流语言是C++,美团、阿里巴巴的主流语言是Java,字节主流语言是Go。
从招聘人数上来说,C++少于Java,C++在制造业使用的比较多,但是在互联网还是Java为王。Go目前招聘有点被动,因为用的厂确实少。
白晨是C++转的Java,以我的观点,语言用法上其实差距没有特别大,如果你把一门语言学精,其实上手另一门语言是非常快的。语言主要是差在生态上了,不同的语言生态差距很大,Java有Spring、SpringBoot、SpringCloud,这些框架都是C++所不具备的,但是C++要接触底层,对于操作系统那些的理解也不是Java上层业务能比的。
以我举例,我是用C++找的Java岗实习,在实习过程中学习了Java的框架,其实很多面试官主要看的是你基础扎不扎实,就是数据结构、算法、网络以及操作系统那一套,我这些掌握的都比较好,并且由于我做C++底层的开发比较多,对于Java面试官来说,他们一般接触不到这么底层,反而我面试回答的深度会超出他们的认识,只要你有突出的亮点,他们就会选择你。
那语言对于找工作就没有影响吗?那肯定是有的,实话实说,有两个基础差不多的人,一个用C++,一个用Java,那面试官一般会录取和他们组业务语言相同的人,所以说C++面腾讯会有优势,Java面阿里、美团会有优势。
Go呢?
Go我目前不推荐作为主语言去学习,我觉得还是C++和Java中选择一门去学习,有时间可以选择Go作为第二语言,因为Go的岗位实在太少了,都是大厂,字节虽然要Go要的最多,但是字节收Java、C++也不少。
学习难度上来说,Java主要是学的东西多,SSM、SpringBoot、SpringCloud,学习的时间会比较长。
C++主要是比较难,就语法层面上来说,就多继承、虚继承这种设计就让人摸不着头脑,更别提C++的很多东西都要手撸,相当于开发要重新造轮子,内存管理方面还得自己来,不像Java一样有GC自动管理。
Go对于新手非常友好,学习难度低,语法简洁,内存管理全自动,内置高效工具链,但是生态不如Java/C++完善。
最后总结一下,后端语言选择需结合目标企业技术栈:腾讯主用C++,阿里/美团侧重Java,字节青睐Go;Java岗位多但需掌握复杂框架生态,C++侧重底层开发且语法难度高,Go易学但岗位少。建议主攻Java或C++(根据求职方向),辅学Go,核心竞争力在于扎实的计算机基础(数据结构/算法/操作系统等),语言差异可通过底层技术深度或框架实践弥补,优先匹配企业主流语言更易获得岗位优势。
5. 后端学习路线分享
如果对于上面的分享你都看完了,你应该对于就业有一个模糊的认识了,同时也对于每一个方向有基础的认识了。如果前面大方向都已经明确了,其实到了具体落地实现,也就是学习这个阶段实际上是最简单的。
其实在前文就业信息获取这一专题提到的途径中,已经有很多途径可以获取学习路线了,比如牛客、知识星球,大家可以自行去探索一下。
白晨下面所分享的学习路径是我自己一路走来的路线,不代表适合所有人,但是希望可以给大家一些参考,让大家可以省去寻找资源以及走弯路的时间,希望可以对大家有所帮助。
5.1. C生万物
C语言作为每一个计算机专业必学的科目,不得不品,C++是兼容C语言的语法特性的,主流的Java的虚拟机又是C/C++写的,说一句C生万物一点都不为过。
白晨这里建议科班的同学一定要好好学C语言,不仅是对自己课程学习有帮助,比如C程序设计以及实验、编译原理、操作系统等课程,还对自己coding能力,对于内存的了解(指针等),以及后面转向面向对象的语言有所帮助。
这里推荐一些C语言的学习资料:
- 鹏哥C语言(B站)
讲的非常好,不然也不会有近千万的播放量,对于函数栈帧以及C语言的语法细节讲解的非常清楚,并且这个课是上课带你手敲代码,跟着敲一遍收获真的很大。建议想从头开始学习计算机且时间比较充裕的同学去学习(毕竟100多小时真的挺长,开二倍速也有50小时)。
- 《C程序设计语言》
C语言之父写的,讲解明了,边看书边敲一遍很快,适合有一定编程基础或者时间不太够的同学同学去学习。
5.2. 无论怎样,先熟悉一门高级语言
无论你有没有学习C语言,都可以先学习一门高级语言,比如C++/Java。为什么呢?
C语言太偏向于底层,很多轮子需要手撸,特别是后面如果进入刷题阶段,如果拿C语言进行刷题,那就是事倍功半了,并且用高级语言可以更快完成小项目(比如参加一些竞赛),可以获得更多正反馈。所以,学习一门高级语言还是很有必要的。
这里分路径推荐语法层面的资源,不涉及到C++/Java各自生态的学习:
- C++
- 黑马C++(B站)
量大管饱,近4000w的播放量已经证明其含金量,如果你已经学习过C语言,可以跳过前面的部分,直接学习C++引用、封装、继承、多态以及STL的使用。后面那个系统可以不做。
- 《C++ Primer》《C++ Primer Plus》
不用多说,经典书籍了,适合当作字典查漏补缺,不适合自学,因为内容太多,很容易坚持不下来。
- Java
- 尚硅谷Java(B站)
尚硅谷的康师傅,伟大,无需多言。
- 黑马Java(B站)
与尚硅谷选择其一即可。
- 廖雪峰Java电子书
也是用来查漏补缺,主要课程还是跟上面两个。
5.3. 数据结构最好全部自己撸一遍
数据结构很重要,常见的数据结构最好自己手撸一遍,要清晰掌握其算法思想和原理。
常见的数据结构有:
- 基础线性结构:数组、链表、栈、队列。
- 高效查找结构:哈希表、二叉搜索树、跳表。
- 分层/分组结构:堆、并查集。
- 复杂关系结构:图、树的高级变种。
这些数据结构随便可以买本数据结构的书,或者去网上直接搜索对应数据结构,去看博客,照着学习就行,最重要的是将其思想搞清楚,比如,链表是怎么指向下一个元素的,指针到底代表了什么,这些细节一定要搞懂。懂了思想,下一步就是手撸,看看自己能不能实现一个常用数据结构的插入、删除等基础逻辑。相信我,当自己实现以后,你对于数据结构的概念会无比清晰。
当你将常见的数据结构手撸了一遍以后,接下来就可以用你所学的去实现你经常用的容器了,比如,C++的STL,Java的容器。这里并不是要让大家实现全部功能,而是实现常用的功能,作为学习目的。
- C++
手撸STL建议直接跟下面GitHub上的一些项目,边看边手撸:
- GitHub中关于手撸STL的资源
https://github.com/steveLauwh/SGI-STL
SGI-STL实现比较科班化,适合作为参考材料。
https://github.com/Alinshans/MyTinySTL
这个就是比较通俗易懂的实现,只实现了基本功能,作为学习完全足够了,可以保留其框架,结合SGI-STL和这个一起食用最佳。
- 《STL源码剖析》
学STL源码必看书籍,但是比较不适合新手去读,可读性较差。
- 《Effective STL》
讲述了使用STL的50条指导原则,并提供了透彻的分析和深刻的实例,实用性极强,是C++程序员必备的基础书籍。
- Java
- 《java容器精讲》
https://blog.csdn.net/grd_java/article/details/122403602
- open-jdk
可以直接参考你jdk的源码进行实现。
5.4. 刷题应该怎么入手
这一节其实就是教的算法学习,也可以换个标题,我该如何学习算法?
首先先来说一下,算法的理论知识如何学习。
- Acwing算法基础课
https://www.acwing.com/activity/content/introduction/11/
不太记得价格了,打折应该不到100块,简直超值,讲课是用的C++,但是Java也可以食用,每一道题中都有有很多Java的题解,既适合找工作的兄弟学习,也适合想打算法竞赛的兄弟学习。
- 左程云LeetCode(B站)
最大的优点就是用Java写代码,并且刷的是LeetCode,相当于把工作前刷LeetCode的时间节省了,写Java的同学可以考虑这个课程。
其次就是用什么平台进行刷题:
- 找工作为目的:可以直接上leetcode和牛客,leetcode主要将hot100和《剑指offer》刷熟练,牛客用于熟悉笔试和面试环境,因为leetcode的题大多数是接口形式,自己不用进行输入输出,而笔试面试一般都需要自己进行输入输出,也就是ACM模式。
- 学习为目的:Acwing、洛谷和Codeforces,其实都差不多,这几个平台都偏向于算法竞赛,Codeforces中题目难度较大。
5.5. 数据库
关系型数据库一般学习MySQL,这里只推荐一些MySQL,像Redis这种非关系型数据库在中间件学习中再进行推荐。的这里不区分C++和Java,Java的大佬为我们铺好了路。
- 尚硅谷MySQL
康师傅伟大,无需多言,最全、最细的教程,没有之一。
- 《MySQL实战45讲》
进阶版教程,需要有一定MySQL基础进行学习。极客时间的内容一般需要付费,网上也有很多学习版。
5.6. 操作系统
这一章主要就是基本功了,特别是C++的同学需要自己学习Linux等操作系统。
- 《鸟哥的Linux私房菜》
我Linux的入门书籍,讲解得很全面,后端将前部分看完就可以了,想要做SRE的同学需要将其学完,强烈建议边看边敲。
- 《CSAPP》
伟大,无需多言,程序员必看书籍,带你深入理解计算机系统,建议配合课程一起看,有时间可以将实验也做了。
- 小林coding《图解系统》
https://xiaolincoding.com/os/#%E5%B0%8F%E7%99%BD%E9%80%82%E5%90%88%E7%9C%8B%E5%90%97
找工作必看,图解清晰,内容完善,非常好的八股文。
5.7. 网络
不论是前端还是后端,计算机网络都是必学的内容之一,只有将一个个电子设备相连接进行,设备间可以进行通信,才有了今天的生活。计算机网络主要学习HTTP、DNS、TCP/UDP、IP以及MAC等,了解网络的基本原理,有助于在编程中使用合适的协议,也有助于网络架构的调优。计算机网络是大厂面试必问的内容,特别是C++,还要掌握Linux下网络编程。
下面推荐一些资源:
- 《计算机网络:自顶向下方法》
伟大的黑书,无需多言。
- 《图解HTTP》《图解TCP/IP》
图片清晰,原理讲解得比较清楚,但是不涉及实操。
- 《UNIX网络编程》
C++的兄弟们看过来,要学习在Linux下进行网络编程可以看这本经典书。
- 尚硅谷JavaWeb
Java的网络编程,这个教程没有涉及SSM,想学SSM的可以看黑马那一套。
- 小林coding《图解网络》
https://xiaolincoding.com/network/
伟大的八股,不适合没有基础的去看,适合已经开发过网络相关的内容,去进行深度的扩充。
5.8. 编译原理
这个大厂基本不问,属于是基本功,为了保证学习路线全面,白晨还是简单地推荐一些课程。如果想真正学好编译原理,可以去GitHub上找一些简单的编译器实现,甚至只用做编译器的前端都可以。
- 《编译原理》
经典的龙书,如果大家上过编译原理的课,相信老师或多或少都会提到这本书。
- 哈工大公开课
配合龙书食用。
5.9. 框架学习
这里主要讲Java的框架Spring、SpringMVC、MyBatis(MyBatis Plus)、SpringBoot、SpringCloud,其实也没有什么必要推荐了,到这一步基本上大家都能自己去资源学习了,如果迷茫,就去找国内两大Java黄埔军校——尚硅谷和黑马的资源。
一般来说,学习路线是: JavaWeb->MyBatis->Spring->SpringMVC->SpringBoot->SpringCloud
速成可以看黑马的,时间比较短,比较干练。
非速成可以看尚硅谷的,时间长,但是讲的比较深。
这里我就不水字数把这些资源放出来了,直接去B站搜就有。
这里推荐一些Java的内功:
- JVM
对于Java程序员来说,JVM是不可或缺的基石,它不仅实现了Java的跨平台能力,让代码能够“一次编写,到处运行”,还通过自动内存管理和垃圾回收机制,减轻了程序员的内存管理负担。JIT提升了程序的执行效率,而其安全机制和丰富的性能调优工具,则帮助程序员构建稳定、高效且安全的应用程序。此外,JVM支持多种语言,拓宽了开发选择,其在Java生态系统中的中心地位,使得Java程序员能够充分利用各种框架和工具,提升开发效率和应用性能。
还是那句话,有时间看尚硅谷,没时间看黑马。
- JUC
适合有开发经验的人去学习,不适合小白。掌握JUC不仅是实现线程安全、提升系统稳定性的关键,更是进阶为高阶Java开发者的必备技能,尤其在分布式系统、实时数据处理等现代应用场景中不可或缺。
5.10. 中间件学习
5.10.1. Redis
必学,无论什么后端开发,缓存数据库,顶在MySQL前面的男人。
这里只推荐尚硅谷的,因为新,讲解了Redis7,最好把基础篇和高级篇都看了,高级篇讲的很深入,基本涵盖了面试的所有问题。
5.10.2. 消息队列
消息队列入门,kafka、RocketMQ、RabbitMQ 这三个选一个学就行
这里比较推荐学RabbitMQ,因为提供友好的 Web 管理界面,便于监控和调试,并且基于 AMQP 协议,概念清晰(生产者、消费者、Exchange、Queue、Binding),逻辑直观。
选择其一就行。
5.10.3. Nginx
Nginx 是一款高性能的 开源Web服务器 和 反向代理工具,以其轻量级、高并发处理能力和灵活的配置著称。
运维的同学必学,应届生一般只要学怎么用就行,再往深意义不大。
看前面基础部分就行,后面意义不大。
5.10.4. Netty
Netty 是一款基于 Java NIO 的高性能异步网络编程框架,会用就行,面试一般问的就是其背后的NIO思想,不会深入到Netty底层。
5.10.5. Elasticsearch
Elasticsearch 是一款基于 Lucene 构建的分布式搜索和分析引擎,一般项目里写到搜索就会问有没有用过ES,建议还是理解一下里面的正排索引和倒排索引的思想。
这个课相比于其他课资料比较全,可以直接在尚硅谷的网盘里面拿。
5.11. 工具
5.11.1. Git
代码管理工具,程序员必学,不学进公司就有福了🤪。
常用命令很简单,多用用就会了,命令忘了直接上网查就行。
5.11.2. Docker
容器化平台,用于将应用程序及其依赖项打包成轻量级、可移植的容器,实现快速部署和跨环境一致性运行。就算自己没用过,拉别人项目的时候,一般也能看到用Docker部署的字样,不难,有时间多熟悉熟悉命令就行。
5.11.3. k8s
容器编排与管理的事实标准,用于自动化部署、扩展和运维容器化应用,简单来说就算管理Docker容器的,会用就行,应届生要啥自行车。
5.12. 设计模式
设计模式对应届生至关重要,它是连接理论与实践的桥梁,能快速提升代码设计能力,使其在面试和工作中脱颖而出。掌握设计模式不仅展现了对面向对象原则(如SOLID)的深刻理解,还能高效解决复杂业务场景中的代码复用、扩展和维护问题,例如用工厂模式解耦对象创建、观察者模式实现事件驱动。在面试中,设计模式常被考察以评估设计思维,而在实际开发中,它帮助新人快速理解框架源码(如Spring中的代理模式)和团队协作中的架构设计,从而缩短适应期,奠定职业发展的核心竞争优势。
上面这段话是百度的,其实当你去大厂实习之后,你就知道可维护性是有多么重要,为了写出高可维护,高稳定的代码,你就需要学习设计模式。
- 尚硅谷 图解Java设计模式(B站)
- C++设计模式入门(B站)
国内少有的C++设计模式,讲的非常好,建议把源码找到反复品读。
- 《Head First设计模式(第二版)》
讲的还可以的一本设计模式的书,适合新手,指望一次掌握设计模式是不现实的,最好就是放手边,随手拿起来读一读。
5.13. 其余学习路线我应该上哪里去找
“那我不是后端路线的,我应该怎么学习?”,白晨这就教大家几种找学习路线的途径。
5.13.1. B站
B站大学直接搜,选几个播放高的看就行。
5.13.2. GitHub
作为最大的同性交友开源平台,怎么可能没有学习路线,直接在搜索栏搜索学习路线,找几个star多的学就行。
5.13.3. 知识星球
缺点就是要收费,进去以后就可以看到对应的学习资源。有各种各样的知识星球,里面内容良莠不齐,一定要注意辨别。
6. 面试都问什么,我该怎么去找上好的面经
“你说的东西我也学了,但是我心里慌,不知道学到啥样才能工作,并且我前学后忘,有没有东西可以总结我以前学过的,方便我复习。”,上面这个问题问的,其实就是面经的作用,查漏补缺,检测自己知识掌握情况,下面白晨就推荐一些面经,方便大家在找工作时顺顺利利。
6.1. 小林coding
https://xiaolincoding.com/
神中神,面经届写的最好的之一,图文并茂,要深度有深度,要更新有更新,而且完全免费。去年白晨看还没有Java的面经,现在就已经有了,真是博客主届的模范,不像白晨整天咕咕咕。
目前有网络、系统、MySQL、Redis、Java,只要完全掌握,找个中厂难度不大。
6.2. 代码随想录
面经在知识星球里面,知识星球收费,整理的很全面,种类很多,有C++、Java、Go、前端等的八股,其中有一部分,是从小林coding里面抄过来的。
6.3. JavaGuide
https://javaguide.cn/javaguide/intro.html
大部分免费,少部分需要加入知识星球获得,免费的就够用了,Java程序员面试基本上没有不知道JavaGuide的。
6.4. 面试鸭
白晨没有用过,但是身边很多人用,以面试常见的问题进行分类,还标注了难度等级,感觉还不错。
7. 写在最后
大家好,我是白晨,一个放弃保研后秋招上岸大厂的普通学生。这篇文章从方向选择到信息获取,再到学习路线和面试准备,基本覆盖了大家最关心的就业问题。写这篇文章的初衷很简单——想用自己的经历帮大家少走弯路,打破信息差的壁垒。希望这些内容能成为你们求职路上的“导航仪”,而不是一份增加焦虑的“任务清单”。
给大家说几句掏心窝子的话:
- 选择比努力更重要:无论是读研还是就业,核心在于
提前验证可行性
。与其在宿舍纠结"我能不能进大厂”,不如直接投一份实习简历试试水;与其担忧“选Java还是C++”,不如先动手写个项目感受差异。 - 信息差是最大的门槛:招聘官网、牛客、小红书甚至线下宣讲会都是宝藏,但很多人从未真正“用起来”。建议大家每周花10分钟刷一刷这些平台,把“被动焦虑”转化为“主动探索”。
- 学习路线≠通关秘籍:网上的学习路线多如牛毛,但盲目跟风只会陷入“学不完”的焦虑。我的路线仅供参考,关键是根据目标岗位动态调整——比如想冲国企Java岗,就优先夯实SpringBoot+MySQL;想面大厂后端,先死磕高并发和分布式场景。
- 面试是技术,更是心态:去年秋招时,我发现一个有趣现象:那些敢在面试中承认“这个问题我不太懂,但我可以试着分析”的同学,通过率反而更高。技术可以速成,但解决问题的思维和坦诚的态度需要长期修炼。
关于未来
计算机行业的“黄金时代”或许已过,但技术人的“白银时代”依然充满机会——AI工程化、鸿蒙生态、云原生… 新的技术浪潮永远在涌动。无论你选择国企的稳定还是大厂的挑战,核心是保持“持续学习”的韧性。就像我实习时一位 mentor 说的:“程序员的核心竞争力不是会多少框架,而是面对未知问题时,能否快速拆解、学习、落地。”
最后想对低年级的学弟学妹们说:人生不是一场限时考试,而是一场无限游戏。不必因为“别人都考研”而焦虑,也不必因为“算法岗薪资高”而盲从。如果这篇文章能帮你减少10%的迷茫,我的目的就达到了。
如果还有其他问题,欢迎在评论区留言讨论(如果私信我记得在这个文章下@一下我,不然容易看不见hh),也期待有经验的学长学姐来补充观点,一起把这篇文章变成“就业互助指南”✨。
愿我们都能在代码与现实的交错中,找到属于自己的最优解。
——白晨2025.03于西安
(鸽了三个月终于写完,求个点赞收藏不过分吧?ღ( ´・ᴗ・` ))