当前位置: 首页 > news >正文

【24届校招】c++选手还有机会吗?如何选择更好的出路?

一、今年为什么c++选手就业形势如此艰难?

去年c++岗位的火热,不少c++选手拿到高薪offer,今年转c++的人群变多,内卷加剧,高学历大佬多如牛毛,很多比较好的c++岗位多人投递,僧多肉少。

从行情来说,今年后端遇冷,基于Java的后端开发岗位也在缩紧。更不用提c++后端的岗位,腾讯等对标大厂基本没有岗位名额,而且往年扩招的芯片,车企今年也开启了裁员模式,传统企业招聘需求也不足。

其次部分同学低估的c++的学习难度,认为有一个webserver的项目就能成为岗位的敲门砖,但其实对于c++的岗位,每一个方向都是隔行如隔山的存在,没办法和Java一样技术通用,所掌握的技术能力达不到企业招聘需求。

二、c++选手在学习/招聘中存在哪些误区?

误区1:只学习c++通用技术,认为c++开发与Java开发的技术模型一样。花费大量的时间在学习c/c++语言本身上面,但实际上并不能就此找到对应的工作岗位。

误区2:对c++岗位分类了解不够清晰,针对于c++的不同岗位时没有准备好相对应的技术内容。

误区3:投递岗位时勿要通过c++去投递,而且要具体搜索到对应的岗位名称,比如后端开发,游戏开发,音视频开发,量化交易,存储等等,虽然说webserver对于c++相关的岗位是通用的,但是今年的行业来说,面试官更希望看到有对应岗位更为匹配的技术内容和项目经验。

误区4:c++开发的技术内容庞杂,想要全部学完,对于应届生来说是不太现实的。所以面对求职招聘时,只需要优先针对岗位需求来学习技术内容和准备项目即可。

误区5:跟风学习,从众选择技术方向,人云亦云。

三、c++的通用技术和岗位方向的垂直技术内容

1.c++通用技术

  • 编程语言

  • 计算机基础:操作系统、计算机网络、数据结构与算法、设计模式

  • 网络编程(网络编程对于c++的各个方向都是需求的)

2.后端开发

  • 开源框架

  • 中间件

  • 分布式高并发

  • 性能分析

3.音视频开发

  • 音视频基础

  • ffmpeg

  • 流媒体客户端:RTMP、HLS、RTSP

  • 流媒体服务器:SRS

  • webrtc

  • Android NDK

  • IOS

4.Qt开发

  • qt开发基础

  • 数据库编程:MySQL、sqlite、openCV、openGL、

  • Quick

  • QSS

5.Dpdk

  • dpdk网络

  • 存储:spdk、kv存储

  • 安全与网关开发:VPP

  • 虚拟化与云原生:OVS、DPVS

  • 测试工具:perf3、TRex、dpdk-pktgen、fio

四、c++选手如何才能上岸成功?

1.转语言

其实对于很多惯用c++的大厂而言,目前也是在有尝试培养一些新的语言种类,而且作于一名初始的c++选手,也是很受大部分面试官的喜欢,认为学习c++的更有利于转语言学习,比如相关的golang开发岗位,是可以去尝试面试,岗内转岗的。

2.内卷实现降维打击

基于今年的行情,c++后端开发岗位无疑是c++领域里的地狱模式。如果你是有优秀的学历背景,比如 985 211 的本硕学历背景,但是对自生的技术不够自信去内卷更高维度的大佬,那么c++的其他领域岗位无疑就是最好的选择。比如音视频 、QT等都是不错的选择。

3.坚持c++后端

如果保持自己的坚持(c++后端开发岗),那么抛开岗位数量不谈,首先你需要具备一个好的学历背景,学历不够优秀的,今年来说,我觉得直接劝退是明智之选。那如果你有的好的学历背景,那就是加强你的技术能力与项目经验,二者缺一不可。

五、推荐学习路线与项目

1.学习路线

研二想走c++后端开发方向,如何规划学习才能成功上岸?

2.项目

1.微服务即时通讯:零声教育即时通讯项目-首页

2.图床共享云存储:零声图床mediahub

3.分布式kvstore:零声图床mediahub

4.协程框架NtyCo:GitHub - wangbojing/NtyCo: 纯c版本的协程实现,汇编切换,调度器实现,包含服务器端案例,客户端并发测试案例

5.用户态tcp/ip协议栈:GitHub - wangbojing/NtyTcp: 单线程用户态TCP/IP协议栈,epoll实现,包含服务器案例,并发测试案例

【24届校招】c++选手上岸资料包​

六、c++选手上岸资料包

1.各大c++方向技术详细学习路线

2.c++项目项目展示

3.c++技术方向技术视频教程

4.c++经典1000到面试题

5.Linux入门教程55讲(含视频文档)

相关文章:

【24届校招】c++选手还有机会吗?如何选择更好的出路?

一、今年为什么c选手就业形势如此艰难? 去年c岗位的火热,不少c选手拿到高薪offer,今年转c的人群变多,内卷加剧,高学历大佬多如牛毛,很多比较好的c岗位多人投递,僧多肉少。 从行情来说&#xf…...

hvigor ERROR: Failed :entry:default@ProcessLibs...【鸿蒙开发-BUG已解决】

文章目录 项目场景:问题描述原因分析:建议的解决方案总结HarmonyOSArkTS项目场景: 项目无法在真机上运行。报错 hvigor ERROR: Failed :entry:default@ProcessLibs… hvigor ERROR: 2 file found in ‘lib/arm64-v8a/libagccrypto.so’. This may cause unexpected errors …...

由于没有公钥,无法验证下列签名: NO_PUBKEY

安装软件需要更新 sudo apt-get update 由于没有公钥,无法验证下列签名: NO_PUBKEY AA8E81B4331F7F50 NO_PUBKEY 112695A0E562B32A sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 3B4FE6ACC0B21F32 只需要把最后一部分搞成自己…...

vue3 for循环创建的多个e-form 添加校验

v-for 创建 ref <el-form :model"item" :rules"state.rules" :ref"el > getRiskSpreadRef(el, index)" ></el-form>// 定义ref list const riskSpreadRefList ref<HTMLElement[]>([]);// ref存到数组 const getRiskSpread…...

【虚拟机Ubuntu 18.04配置网络】

虚拟机Ubuntu 18.04配置网络 配置网络连接方式,查看自己网关 修改主机名 修改系统配置1. 配置网络连接方式,查看自己网关 选择虚拟机镜像设置网络连接模式,可以选择桥接或者NAT连接(我这里选择是NAT连接) 确定自己网关&#xff0c;可以在虚拟机 -》 编辑 -》虚拟网络编辑器…...

MySQL 中的 JSON_CONTAINS 函数详解

在处理 MySQL 中的 JSON 数据时&#xff0c;我们经常需要检查一个 JSON 文档是否包含特定的值。这时&#xff0c;JSON_CONTAINS 函数就显得非常有用。 JSON_CONTAINS函数介绍 JSON_CONTAINS 是 MySQL 提供的一个 JSON 函数&#xff0c;用于测试一个 JSON 文档是否包含特定的值…...

详细解答T-SNE程序中from sklearn.manifold import TSNE的数据设置,包括输入数据,绘制颜色的参数设置,代码复制可用!!

文章目录 前言——TSNE是t-Distributed Stochastic Neighbor Embedding的缩写1、可运行的T-SNE程序2. 实验结果3、针对上述程序我们详细分析T-SNE的使用方法3.1 加载数据3.2 TSNE降维3.3 绘制点3.4 关于颜色设置&#xff0c;颜色使用的标签数据的说明cy 总结 前言——TSNE是t-D…...

ClickHouse中的物化视图

技术主题 技术原理 物化视图&#xff08;Materialized View&#xff09;是一种预先计算并缓存结果的视图&#xff0c;存储在磁盘上自动更新&#xff0c;空间换时间的思路。物化视图是一种优化技术&#xff0c;本质上就是为了加速查询操作&#xff0c;降低系统负载&#xff0c…...

界面组件Telerik UI for WinForms中文教程 - 创建明暗模式的桌面应用

黑暗模式现在在很多应用程序中都挺常见的&#xff0c;但如何在桌面应用程序中实现它呢&#xff1f;这很简单&#xff0c;本文将为大家介绍如何使用一个类和命令行调用来实现&#xff01; Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件。所有的UI fo…...

C语言:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数

分析&#xff1a; 在主函数 main 中&#xff0c;程序首先定义一个字符变量 c&#xff0c;以及四个整型变量 letters、k、s 和 o&#xff0c;并初始化它们的值为 0。然后使用 printf 函数输出提示信息&#xff0c;让用户输入一行字符。 接下来&#xff0c;程序通过 while 循环结…...

王者荣耀java版

主要功能 键盘W,A,S,D键&#xff1a;控制玩家上下左右移动。按钮一&#xff1a;控制英雄发射一个矩形攻击红方小兵。按钮二&#xff1a;控制英雄发射魅惑技能&#xff0c;伤害小兵并让小兵停止移动。技能三&#xff1a;攻击多个敌人并让小兵停止移动。普攻&#xff1a;对小兵造…...

前缀和与差分

文章目录 前缀和一维前缀和公式CODE 二维前缀和公式CODE 差分一维差分思路作用CODE 二维差分思路CODE 前缀和 一维前缀和 板子题&#xff1a;https://www.acwing.com/activity/content/problem/content/829/ 公式 S [ i ] a [ i ] S [ i − 1 ] S[i] a[i] S[i - 1] S[i]…...

力扣hot100 滑动窗口最大值 单调队列

&#x1f468;‍&#x1f3eb; 题目地址 &#x1f37b; AC code class Solution {public int[] maxSlidingWindow(int[] nums, int k){int n nums.length;int[] res new int[n - k 1]; // 单调递减队列int[] q new int[n];// q数组维护的是元素在 nums 数组对应的下标int…...

mysql MHA配置文件

[rootlocalhost mastermha]# cat app1.cnf [server default]默认服务器配置 check_repl_delay0 #默认值为1,表示如果slave中从库落后主库relay log超过100M&#xff0c;主库不会选 择这个从库为新的master&#xff0c;因为这个从库进行恢复需要很长的时间.通过设置参数check_r…...

策略算法与Actor-Critic网络

策略算法 教程链接 DataWhale强化学习课程JoyRL https://johnjim0816.com/joyrl-book/#/ch7/main 策略梯度 与前面的基于价值的算法不同&#xff0c;这类算法直接对策略本身进行近似优化。 在这种情况下&#xff0c;我们可以将策略描述成一个带有参数 θ θ θ的连续函数…...

基于Pytest+Requests+Allure实现接口自动化测试

一、整体结构 框架组成&#xff1a;pytestrequestsallure 设计模式&#xff1a; 关键字驱动 项目结构&#xff1a; 工具层&#xff1a;api_keyword/ 参数层&#xff1a;params/ 用例层&#xff1a;case/ 数据驱动&#xff1a;data_driver/ 数据层&#xff1a;data/ 逻…...

【中间件】消息队列中间件intro

中间件middleware 内容管理 introwhy use MQMQ实现漫谈主流消息队列QMQ IntroQMQ架构QMQ 存储模型 本文还是从理论层面分析消息队列中间件 cfeng现在处于理论分析阶段&#xff0c;以中间件例子&#xff0c;之前的blog对于中间件是从使用角度分享了相关的用法&#xff0c;现在就…...

从 RBAC 到 NGAC ,企业如何实现自动化权限管理?

随着各领域加快向数字化、移动化、互联网化的发展&#xff0c;企业信息环境变得庞大复杂&#xff0c;身份和权限管理面临巨大的挑战。为了满足身份管理法规要求并管理风险&#xff0c;企业必须清点、分析和管理用户的访问权限。如今&#xff0c;越来越多的员工采用移动设备进行…...

vue3中如何使用TypeScript?

在Vue 3中引入和使用TypeScript非常简单。下面是在Vue 3中引入和使用TypeScript的步骤&#xff1a; 创建Vue 3项目&#xff1a;首先&#xff0c;使用Vue CLI创建一个新的Vue 3项目。可以使用以下命令&#xff1a; vue create my-project在创建项目时&#xff0c;选择TypeScri…...

Git基础操作:合并某个分支的一个目录到另一个分支

有的时候不小心在错误的分支A上开发了一点代码&#xff0c;也已经提交了&#xff1b;或者分支A原计划先上线的&#xff0c;但是业务调整需要插一个需求进来&#xff0c;但是插进来的需求中有一部分代码在分支A中已经写过了。 这个时候如果想把这部分代码移到正确的分支B上可以…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

家政维修平台实战20:权限设计

目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系&#xff0c;主要是分成几个表&#xff0c;用户表我们是记录用户的基础信息&#xff0c;包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题&#xff0c;不同的角色&#xf…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...