c++后端,一个被网上说没有市场的c++方向。但是对于想从事c++后端的同学该如何准备呢?
就目前的市场需求来说,c++后端的需求市真不大,中小厂基本没有,大部分集中在大厂。
那么,如果大家想求职c++后端,第一要素就是要有学历优势。
如果你的学历是二本或是普通一本且专业又不是计算机科班专业的话,为了好就业,还是尽量选择c++的其他方向或是Java。
解决了学历的前提之后,就要从技术能力上面去做好规划。
那我们要掌握到什么程度才能符合c++后端开发岗的上岗要求?
这里我默认大家都是计算机科班且c++基础都比较扎实,那要达到上岗要求,我们就要整体的去看。理论基础知识+项目实操 结合着去梳理技术模块,从而修炼我们的基本功,那就是把业务需求转化成模块代码的能力,这是最核心的。所以在这里我们就要解决理论知识的学习到实操项目之间的差距。
首先我们需要去理解掌握的 就是基础五大件:
- 数据结构与算法
- 设计模式
- c++新特性以及
- Linux工程管理
- gdb调试
这些基础的内容,大家不管是通过看书或是看视频都是可以的。毕业的标准是:既要知道它们是什么,又要了解为什么要用到他们,不能止步于理论上的理解。
尽量多敲代码!
第二块就是网络
核心就是网络编程和网络原理
对应的,你要准备一个项目,通过项目去实操。
这是大家推荐的项目是【kv存储】项目,大家如果有对应的其他项目也可以,就是学完之后一定要练习。
第三块是基础组件
- 池式组件
- 高性能组件
- 以及一些开源组件
对应推荐项目 【魔兽世界后端Trinitycore】
第四块就是中间件
其他的就不说了,MySQL Redis Nginx这肯定是要拿下的
推荐项目【图床共享云存储】项目,大项目,产品级!
第五块就是开源框架
开源框架就是为了我们能够快速实现产品化的技术。
既然是开源框架,那可以选择的就会比较多,大家完全可以根据具体的项目场景去选择学习。不过多了解一点没有坏处。
等到大家掌握了上面所总结的五大块内容以及有练习实操的项目之后,你的一个写代码的能力就已经基本形成了,就可以去投简历面试了。
如果你准备很早,大二或是研一就开始了,那你在掌握上面五大块写代码的能力之后,可以去继续学习 ,提升自己技术的深度与广度。
比如说
云原生:主要是docker的使用场景
性能分析:主要是bpf以及ebpf
还有就是分布式数据库,文件系统以及分布式协同ETCD
都是很好的加分项
然后可以再结合整体的技术内容去做一个大一点的有几万行代码的项目,比如说【即时通讯系统】项目。
这些就是我们关于求职c++后端需要系统掌握的技术内容。关于每个大模块更为细致的技术要点划分的学习路线图我也有做整理。如果需要可以去我个人主页+V
这是从技术栈整体去看的,然后再到我们个人。
如果大家现在的进度是大三或是研二,一直以来的目标是c++后端岗位的话,那我想或多或少对于我上面所总结的技术内容都已经有所学习。那我该如何去查漏补缺,弥补自己的短板,从而得到提升呢?
那关于这个问题,分享给大家一份关于腾讯技术岗位评级的技术能力思维导图。
分别从T1-T9每一段都有需要对应掌握的技术内容。
那我们从求职的最低配置来说的话,对应导图里面的T1-T6所包含的技术点,那都是需要掌握的。
自己可以去对比目前已掌握的技术情况,进行针对性的补充。
如果说大家有充裕的时间且自学能力不错的话,学完之后,c++后端岗求职是完全没有问题的。
这是针对于我们的技术能力去做规划。
那除了硬实力之外,大家想找到一份好的工作,拿到SP,甚至说SSP的话,光技术扎实是不够。
因为技术点就那么多,大家时间充裕,肯学的基本上也都能掌握,至于大家所花费的时间是不是不一样,这个在面试官面前是无法得到体现的。况且,能把技术学的比你更好的人,又不是没有。
所以,我们除了掌握好扎实的技术之外,还要提升自己的软实力,
也就是我们平时所讲的:你的什么亮点和特长?
第一个 学历学校是亮点
学历越好肯定是占优的,比如是你清华毕业的硕士,只要学的不算差,怎么样都会有人要的,这就是学历优势。
第二个 竞赛奖项是亮点
但是这个如果说你现在是大四或是研三的话 那以前没有,现在也就不用考虑了。
第三个 技术影响力是亮点
影响力不是说你一定要做出一个很大的项目,或是说被很多人熟知,才叫有影响力。
自己通过总结自己学习的过程,并且能够GitHub或是技术博客以文章的形式输出出来,让别人也能够看懂,这也叫影响力,而这个输出的过程,对于我们自身的技术提升也是非常有帮助的。
不少公司有负责招聘的技术管理,同样也会关注,那就很有可能直接找到你,给你面试邀请。
第四个 实习是亮点
有一份大厂实习的经历,绝对会让你在求职过程中更为轻松。校招进公司后的第一件事就是在岗带教。如果你有一份类似实习经历,会让公司的带教导师省去很多事,这也是乐见其成的。
所以在我们求职c++后端开发岗的时候,一定是两手准备。
第一部分就是夯实好自己的技术能力
第二部分就是扩大自己的个人优势
如果大家有规划 有时间 有很好自学能力,按照我上面说建议的去着手准备就可以,拿到一份较为不错的offer并不会是一件很难的事情。
张雪峰说过一句话:学习,是你这辈子遇到过的这简单的一件事。
我觉得是也不是,学习确实是一件简单的事情,但是持续性的学习却是一件较难的事情。因为工作会以按月发放薪资的形式给你进行反馈。而学习能给你反馈的时间往往会比较长,6年,3年或是4年。
对于很多的同学来说,往往都是败倒在这里。面对学习的不确定性,面对对行业,对技术不同观点的信息爆炸输出,会磨灭闷头干事的沉稳。
短时间的斗志昂扬,间歇性的悲观焦虑,持续性的混吃等死。
在我接触过的很多大学生群体中,有那么一部分的同学在沟通过程中会说:
我大二学了哪些哪些技术,参加了什么什么竞赛,暑假我去哪里哪里实习的一下
大三我又学了什么什么技术,做了哪些哪些项目,
现在我打算去哪里哪里实习,计划秋招想投递哪个哪个公司。
你看我可以吗?
我觉得也都没什么好说的了。对于自己有清晰规划并且能够步步落实的同学,真的,很难说找不到工作,拿不到offer。
毕竟机会是留给有准备的人的!