为什么我不建议你学C++后端

背景

经常看到有前辈建议,后端岗位要么主C++,要么主Java,然后辅go。

个人情况

  1. 24届,双非本,准备早,小卷王,项目是Raft-KV Cpp,还不是webserver,大三时C++后端找实习,上岸滴滴Go实习,顺势转go。
  2. 秋招投Cpp无果,得到反馈之后我就立马补齐Go,主go,C++放在次要位置。
  3. 秋招8个offer7个是go后端,一个CVTE的C++开发,还不是后端。

C++后端是真不行。

C++后端是真不行。

C++后端是真不行。

避坑

  1. 互联网后端,要么php、要么C++、要么Java、要么go。C++后端大厂的百度和腾讯,逐渐迁移到go,C++的岗位越来越少,校招更是少得可怜。
  2. 这还是只是大厂,你看看中小厂哪里有用C++写后端的。非常非常非常不建议大家卷C++,你非要走后端,学Java或Go一定比C++好。

原因分析

是因为C++的定位和特性、它的生态,注定他业务开发效率低。

  1. 它更加偏向底层,也不提供垃圾回收(防杠,智能指针不算特别完善),所以业务还需考虑各种垃圾回收。
  2. 同时,他的web框架、微服务框架等等生态,都不如Java和go来的完善,很多都需要自己造轮子(webserver都知道吧),效率极低,在后端这一方向上,完败Java和Go。
  3. 报错定位不完善等等....

C++就业方向预测or推荐

  • 嵌入式:这也是个热门方向,代表企业是影石和大疆和一些智能硬件企业(这不比后端强?)
  • 学QT,做客户端:代表是金山办公和部分传统行业
  • 车企里C++搭配ROS做自动驾驶:代表是Momenta、图森未来
  • 需求极少,要求高精尖:CUDA、编译器、AI框架、音视频
  • 进去再转其他语言:学历够好,互联网大厂一般可以接受进去再转语言。

C++的大部分就业方向,都是需要学习更多的补充知识的,C++更多的是作为一个工具是实现这些技术,比如QT客户端就需要你对QT熟悉,通常要求你有QT项目,比如自动驾驶需要你会ROS,比如音视频需要你熟悉ffmpeg。

总结

如果你学历不错,那你C++后端可能能拿到百度or腾讯C++offer,但是,对你来说学Java or Go不是嘎嘎乱杀?

双非就别尝试C++后端了,只有寄。

别学C++后端、别学!!!

看的人多的话,可以出个经验分享,双非本,实习转正无望,秋招上岸高薪wlb图森未来,但被毁约,春招字节B站,应该没人比我大起大落。

#后端##Java##Go##劝退##C++后端#
全部评论
中肯
6 回复 分享
发布于 04-30 08:32 四川
双非去了量化开发😁
6 回复 分享
发布于 05-03 18:34 广东
佬,几月份上岸的滴滴啊
5 回复 分享
发布于 04-30 09:24 河南
佬,我想问问补齐go需要做哪些,需要重新准备go项目吗,还是背背go的相关技术栈八股?因为我也是主cpp辅go,现在拿到腾讯的go后台offer,go项目只有一个6.824,不知道转go的话要不要补个业务项目
4 回复 分享
发布于 04-30 11:04 福建
极其中肯
3 回复 分享
发布于 04-29 16:10 湖北
大佬非常有道理
3 回复 分享
发布于 04-30 20:53 广东
数据库内核或者分布式存储咋样呢?我看好像也主要是C++
2 回复 分享
发布于 04-29 21:55 吉林
m
2 回复 分享
发布于 05-01 15:30 安徽
Qt为主,linux为辅,会OPenCV,ffmpeg,OpenGL中的一个及以上。是不是这样?
2 回复 分享
发布于 05-04 09:18 广东
这暑期实习找的,我也想放弃 C++后端了
2 回复 分享
发布于 05-06 17:35 江苏
已转Java
1 回复 分享
发布于 04-30 10:19 浙江
到位
1 回复 分享
发布于 04-30 15:07 福建
我也是C++,但实验室项目是区块链用go写的。我想的就是主C++副go
1 回复 分享
发布于 04-30 16:20 陕西
楼主我是25届二本,学的也是C++后台方面,现在转go来得及吗?我该怎么学?
1 回复 分享
发布于 05-02 20:44 重庆
佬,推荐一下qt的项目呗
1 回复 分享
发布于 05-04 15:27 辽宁
只学go肯定不行的容易失业
1 回复 分享
发布于 05-04 17:59 安徽
主C++,辅Go这都是我大一的时候经常看到的说法 ,大二开始就没看见有人这么说了
点赞 回复 分享
发布于 04-29 20:59 四川
中肯😃
点赞 回复 分享
发布于 04-29 21:19 上海
大佬就是大佬,说的贼正确
点赞 回复 分享
发布于 04-30 22:05 河南
服务器开发呢佬
点赞 回复 分享
发布于 05-01 15:07 江西

相关推荐

Webpack通过解析入口文件及其所依赖的其他模块,构建一个完整的依赖图,从而理清模块之间的依赖关系。具体的处理方式包括以下几个方面:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=ba06d8fbb87f45f7bf340c85dc4f0cc1模块解析:Webpack会根据配置的解析规则,解析模块的路径和文件类型。默认情况下,Webpack会按照特定的路径搜索规则来查找模块,可以通过配置文件指定更多的解析选项。Webpack支持解析各种类型的文件,如JavaScript、CSS、图片等,以及一些特殊的模块类型,如命名的 AMD 或 CommonJS 模块。加载器处理:Webpack在解析模块时,会根据模块的类型,使用相应的加载器来对模块进行预处理。加载器可以将模块进行编译、转译、压缩等操作。加载器可以串联使用,以处理多个模块,形成一个处理管道。其中,每个加载器负责对模块进行特定的处理,然后将处理结果传递给下一个加载器,直至最终的模块打包。依赖收集:在解析模块的过程中,Webpack会分析模块之间的依赖关系,并将这些依赖关系记录在依赖图中。通过静态分析的方式,Webpack可以在编译时就知道每个模块所依赖的其他模块,以及被哪些模块所引用。模块打包:依赖图中的模块经过加载器处理后,Webpack将根据配置使用优化策略来打包模块。例如,可以将多个模块的公共代码抽取出来,形成单独的代码块,以减少重复的代码。还可以进行代码分割,将不同功能或路由的代码分割成多个文件,以实现按需加载。通过以上的处理方式,Webpack能够准确地处理模块之间的依赖关系,构建出一个完整的依赖图,并最终将模块打包成一个或多个静态文件。这样,在浏览器中加载这些文件时,模块的依赖关系也会得到正确的处理。
点赞 评论 收藏
分享
78 141 评论
分享
牛客网
牛客企业服务