C++ 太卷,转 Java?

2023-09-16 16:57:27

最近看到知乎、牛客等论坛上关于 C++ 很多帖子,比如:

图片

2023年大量劝入C++

图片

2023年还建议走C++方向吗?

看了一圈,基本上都是说 C++ 这个领域唯一共同点就是都使用 C++ 语言,其它几乎没有相关性。

的确是这样,比如量化交易、自动驾驶,客户端,图形学,存储数据库开发,后台开发,嵌入式等等基本上都有各自的领域知识。

那么为什么大家会发现 2023年似乎 C++ 方向人多起来了?

大概是去年校招中 C++ 方向的同学更容易找到工作吧,因为 C++ 除了互联网这些大厂招,像造车新势力、芯片厂等等制造业也会招,这都是最近两年大力发展的行业。

而 Java 的同学由于受到去年互联网寒冬的影响,各大小公司都在裁猿节流,而之前大批算法、非科班转码的同学涌入,更加剧了去年 Java 的卷:

图片

Java后端开发一片红海

那到底选 C++ 还是 Java呢?

这个问题没有答案

每个人的情况都不一样,我只能说学 C++ 的说 C++ 卷,学 Java 的也会说 Java 卷,搞算法的同样也说卷。

这就是目前的大环境,都卷!找工作都不容易!

如果有一个方向明显不卷,那么第二年一定会大量的人涌入,直到卷到和其它方向差不多。

所以Java 和 C++ 都是非常好的方向,我只能大概说下优缺点:

C++

就业 C++ 方向挺多的,对于性能和延迟有要求的基本都是 C++,比如游戏引擎、infra、推荐引擎、存储,当然也能拿来写业务(没错说的就是鹅厂),也有做 C++ 客户端开发的,主要是 VC 、QT 等。

说实话,像游戏引擎、infra这类都是门槛比较高的,并且招聘的数量也有限,一般人很难进,所以 C++ 的需求量是相比 Java、Go这类少很多的。

但是同时学习 C++ 也没 Java 那么多,所以相对来说竞争还没那么大,并且 C++ 学的不错,你同样可以去面阿里、美团这种 Java 技术栈的公司,大厂基本不会限制语言。

比如最近有位 C++ 方向的同学准备了 2个月不到,也是拿到了美团 Java 岗位的 offer,这种情况面试官都会明确问你是否要转语言的。

图片

Java

Java 学习曲线相对低一些,互联网业务、银行、国企等都在大量使用 Java,需求量应该是最大的,并且基本上 Java Web 一套技术栈走遍天下,不像 C++ 各个细分方向都需要特定的领域知识。

而 Java 基本上天生就是搞 Web 开发,现在还可以搞 Spark 等大数据方向开发。

我是建议学校差一点的同学可以考虑走 Java,因为 C++ 主流都是大中厂,小公司基本不可能招 C++ 的,而 Java 既可以冲大厂,也可以有小公司保底。

建议

总的来说,对于校招生,在我的星球里,我发现反而是机械、电子等工科同学转码的走 C++ 这个方向比较多,因为他们原来专业本身也学过 C/C++,所以继续走这个方向相对容易,甚至他们去自动驾驶、嵌入式这种岗位结合本专业还有优势。

而本科是计算机、软件相关科班的同学,反而走 Java、Go 的比较多,这也是目前互联网需求最大的方向,像阿里、美团、携程这些都是 Java 大厂。

目前这个时候了,就不要去考虑转语言了,就按照自己之前的方向,按部就班准备秋招。

不管是 Java 还是 C++ 或者 Go,对于校招来说基本都是一样的,只要你愿意接受转语言,面试官是不会介意的(至少大中厂是这样,因为大厂不要求你来了立马能干活,看中的是基础知识和编码能力,大家不认为语言是多大的壁垒)

今年我们组招人,其实就想招 C++ 方向的同学,但是呢!太少了!所以我们一般 Go、Java 方向的也会捞起来面试,并且问下愿不愿意转语言,愿意的就面算法和基础知识就行了,不会 C++ 的话一般不会问 C++ 相关的问题。

 

<END>

更多推荐

Web 3.0 发展到什么水平了?

最初,有互联网:电线和服务器的物理基础设施,让计算机和它们前面的人相互交谈。美国政府的阿帕网在1969年发出了第一条消息,但我们今天所知道的网络直到1991年才出现,当时HTML和URL使用户可以在静态页面之间导航。将此视为只读Web或Web1。在2000年代初期,情况开始发生变化。首先,互联网的互动性越来越强;这是一

金融投资公司如何实现创新, 盛创汇凭借人工智能站上硬科技C位

作为硬科技产业的重要组成部分,近年人工智能受到了国家政策的高度重视。在《“十四五”规划和2035年远景目标纲要》中,人工智能被摆放在科技前沿领域攻关方面的首要位置,先后八次被提及。《规划》指出,对新一代人工智能,要在前沿基础理论突破,专用芯片研发,深度学习框架等开源算法平台构建,学习推理与决策、图像图形、语音视频、自然

深入思考redis面经

1redission分布式锁1.1为了保证数据一致性,引入了redission的锁,你是为了抗住高并发而去为了引入这个锁还是说为了保证数据一致性去引入的答:主要是为了抗住高并发问题,解决redis的缓存击穿问题,但是也能解决一定的数据一致性问题。是的,当我们谈到“击穿”问题时,通常指的是缓存击穿,即当某个热点缓存失效时

C++ PrimerPlus 复习 第一章 命令编译链接文件 make文件

第一章命令编译链接文件C++有什么呢?C++源代码文件后缀运行C++过程可执行代码:编译语法:makeMakefile基础语法编写完make只要和将要编译的文件放一起就行然后在该目录使用make命令,就将自动运行;基础的Makefile版本现在的缺点也大\^-\^更加健全的Makefile但还是有不小的缺点常用版本C+

C++设计模式_04_Strategy 策略模式

接上篇,本篇将会介绍C++设计模式中的Strategy策略模式,和上篇模板方法TemplateMethod一样,仍属于“组件协作”模式,它与TemplateMethod有着异曲同工之妙。文章目录1.动机(Motivation)2.代码演示Strategy策略模式2.1传统方法处理2.2怎么用扩展的方式来支持未来的变化呢

PROB: Probabilistic Objectness for Open World Object Detection(论文解析)

PROB:ProbabilisticObjectnessforOpenWorldObjectDetection摘要2相关工作摘要开放世界目标检测(OWOD)是一个新的、具有挑战性的计算机视觉任务,它弥合了传统的目标检测(OD)基准和现实世界中的目标检测之间的差距。除了检测和分类已知/标记的对象外,OWOD算法还应该能够

【论文阅读】Untargeted Backdoor Attack Against Object Detection(针对目标检测的无目标后门攻击)

文章目录一.论文信息二.论文内容0.摘要1.论文概述2.背景介绍3.作者贡献4.重点图表一.论文信息论文题目:UntargetedBackdoorAttackAgainstObjectDetection(针对目标检测的无目标后门攻击)发表年份:2023-ICASSP(CCF-B)作者信息:ChengxiaoLuo(清华

为什么JWT要结合Redis使用

JWT解决了什么问题存储token的情况:校验token需要重复调用数据库耗时的问题JWT本身缺陷alg不要指定为none算法不要指定数组,只使用一种算法令牌长度可能会超过允许的URL长度,和cookie长度如果需要跟踪用于速率限制和IP白名单的API这些功能,那么使用无状态是不现实的以上都是容易避免的问题,JWT最大

Java实现截取视频第一帧

目录前言一、通过Java借助第三方库实现1.引用ffmpeg使用maven,导入pom依赖:工具类2.引用jcodec二、使用第三方存储自带的方法实现(如阿里云OSS、华为云OBS)前言在实际项目中,会遇到上传视频后,需要截取视频的首帧或指定帧为图片,作为展示使用的需求。这个需求本身并不难,而且网上一搜一大把,今天就针

Sui Move智能合约提供更智能和简单的编程

编写区块链和其他计算环境的代码有很多相似之处,但区块链的重点大部分都集中在构建智能合约上。智能合约部署编译后的代码,本质上是在区块链上自动执行交易的apps。Sui网络本地的Sui虚拟机使用SuiMove编程语言编写智能合约。术语“智能合约”意味着区块链网络独特的以交易为中心的环境。考虑到区块链的无需许可以及公共环境的

[设计模式]springboot优雅实现策略器模式(加入注册器实现)

优雅实现策略器模式场景废话少说,源码地址。讲解关于本文创建登陆策略创建环境(注册器)简化代码创建父类对象,也方便后期扩展具体策略实现类用户名密码登陆手机号登陆触发点调试简言场景登陆场景使用(登陆之后返回用户信息和token所做操作基本一致,杜绝多个判断)用户名密码登陆,指纹登录手机号登陆楼主之前写过一次通过注解实现的,

热文推荐