Cpp选手的秋招体会
今年二月转码确定秋招方向的时候咨询了很多人,大多数都是劝入Java,但是由于本科课程带来的Java阴影,还是头铁选择了Cpp,找暑期实习的时候已经真正见识到 Cpp 找不到工作的恐怖了,但是为时已晚,只能一条道走到黑了。目前秋招也是被疯狂感谢信,侥幸入池的也基本上都是 Java 或者 Go 的后端岗,由于语言不匹配,也是眼睁睁看着各位牛友们泡出来了而我还在池底等着补录。
首先讲一下 Cpp 选手的标准技术栈开局 Cpp11语法 -> Linux编程 -> 408 -> Cpp14-20 新特性,学完这些是几乎找不到工作的,只能算刚刚开始,其中 Cpp 语法尤其繁杂,各种细节、惯用法能把人淹没了,甚至学到现在半年,很多 Cpp 语法至今难以掌握。例如眼看着同期的Java小伙伴已经开始冲刺中间件了,我还在琢磨什么移动语义引用折叠完美转发,最后发现还是一头雾水。
历经千辛万苦,学完上述知识点,总算部分掌握了吧,做个烂大街的服务器,开始投递简历,一投一个不吱声。这时候才发现,好家伙,Cpp 能投的岗位:
- Infra:各种基架如车企的实时操作系统、互联网的中间件、编译器、数据库研发,壁垒性贼强,需要极高的能力和对口的 bg,否则简历直接挂,并且基架基本上也是吃力不讨好的岗位,研发难度大、重复造轮子,不适合我这种混子。
- Ai研发:Cuda 和 TensorRT 算准入门槛了,有些岗位甚至需要有能达到算法岗 bg、论文等,壁垒性依旧很强。
- 量化:神的战场。
- 嵌入式:嵌入式基本上在 C 上做文章,然后要学的东西很多,不亚于重新走一趟 Java 全家桶了,感觉也是吃力不讨好的方向,像我懂一点 stm,懂一点 Linux,但是根本不够应聘要求。
- 后端:除了部分大厂的少数岗位,基本上 Java 一统天下了,加上部分 Go,Cpp 只能投一些不限语言的岗位,发 offer 的优先级也不高,毕竟Java自己人都够挑了,招进来就能干活,何必再看C选手呢?并且Cpp选手能面后端,不是因为能写 webserver 会造轮子,也一定是拷打你各种中间件,能掌握中间件,才是过面试的原因,所以还得学各种中间件。
- 游戏:技术要求很高,并且至少要求图形学、引擎知识,了解游戏开发领域相关的算法、知识点,有自己的游戏Demo,还得学。
- 客户端:Cpp 基本上就是 Qt 和 ios 研发了,难度会小一点,但是前景也不太妙。
- 音视频:真的还有岗位吗?真的还有人在做这玩意吗?
发现没有?只会Cpp,死路一条,必须要依照自己选择的方向继续深入学习,并且不同方向间又细分了很多方向,各方向间壁垒性也很强,不通用。Cpp本身岗位就少,还要细分成许多方向,并且彼此间兼容性差,找工作必然竞争大。相比较Java,大一统,所有人都一套技术栈,岗位也多,机会自然多一些。
因此除了神,选择 Cpp 必须要补足对口方向的知识,做相关项目,找相关实习,并且有一颗强大的心脏,才能有更多机会,这是需要沉淀的。
#你的秋招进行到哪一步了#