【暑期观Cpp选手有感 + 安慰帖 】拒绝焦虑 朋友们

最近看到很多Cpp选手很焦虑+上个帖子上热搜了,有些25 26的小伙伴问我怎么准备Cpp,就简单写一个帖子。

我自己本人选择Cpp方向的原因是 (实验室方向问题 + 研究方向自己还算喜欢 + 人懒 不想转语言 + 不是一定要去互联网(之前也考虑过双修JAVA😅)=-=)

【关于今年Cpp和JAVA选手暑期实习的情况 问题的看法】

明显暑期JAVA选手面试机会和拿到互联网大厂的Offer情况都比Cpp选手好,而且Cpp选手有部分Offer会要求转语言。Cpp选手发出焦虑的较多也可以理解,但是我觉得这种情况选择Cpp的选手不必太焦虑,原因后面会说。

【关于今年Cpp选手的方向以及选择 问题的看法】

方向问题可以参考下赛文哥@赛文X和以及@_hengheng的看法:

https://www.nowcoder.com/feed/main/detail/d08ada782f594ed9a14d3fb64a9cf515?sourceSSR=users

https://www.nowcoder.com/discuss/484077135636836352?sourceSSR=users

还有位前辈其实我觉得说的也蛮不错的,应该是去年的帖子,他给出了每个方向的要求、需求啥的,如果之后找到了我会贴上来。

[占个位]

整体看下来

后端是互联网厂子的主要暑期hc,JAVA更适合后端开发。

特定Cpp方向(互联网厂子 + 金融公司暑期实习会招的)的要求大概是

学历 + 实习 + 对口资源(重),其中对口资源占比会比较大,因为人数少,所以要求对口 + 要求高,而对口资源这方面,除了游戏后端客户端相关开发经验、ACM佬能够自我驱动打算法比赛外,其他的对口资源更看运气,对于校招生来说比较难凭自己接触到。

通用Cpp方向 就是嵌入式硬件相关、车企偏多一点(这部分目前没有看到太多实习生招聘)。这也解释了为什么暑期Cpp选手的机会较少,虽然说offer = 运气 + 实力,但是机会更少,offer自然会更少。

除此以外,Cpp各方向差异较大,大部分Cpp特定方向选手只能比较容易的拿到对应方向的offer,而不想JAVA选手的大佬那样 我全都要。

综合以上两个,其实不难得到Cpp选手暑期机会 + Offer少的原因。

【关于Cpp选手选择Cpp的原因 问题的看法】

大多数同学选择Cpp方向的原因大概是这样几种:

1.在学校里面只会Cpp或者C的语言,JAVA写的少,直接C++得了(本科同学偏多)。

2.听说Cpp后端准备起来要比JAVA东西少,可以速成(八股不用学中间件、框架啥的)。

3.听说WebServer+C++能够速通大厂offer,直接经典Cpp+WebServer,而没有自己的思考。

4.acm大佬,用C/C++打比赛习惯了,用着比较顺手。

5.实验室的项目用C/C++比较多,找工作就直接用了(研究方向非AI的硕士同学偏多,一般Python选手 算法转开发选JAVA多一些)。

6.自己对于C++的某个方向有所了解(或者是实验室项目相关),认可某个方向并且自己能够够得到这个方向的门槛。

7.个人更喜欢底层、或者造轮子更多一点。

对于4、5、6、7类选手,在暑期中拿到对应Cpp offer的概率会大很多,哪怕是转语言(厂子认可你的基础很好)。而对于1、2、3类选手,机会就相对而言比较少,特别是花相同时间精力准备Cpp/JAVA,JAVA选手至少一直有面,甚至有很好的offer,难免会焦虑+心态失衡。、

【Cpp选手暑期失利,是否考虑选择转JAVA? 问题的看法】

可能有朋友看到我在别的帖子对于转语言或者学习方向的建议,认为我是个极力推荐转JAVA。以下应该算是我的全部观点。

首先JAVA暑期机会更多,不代表他不卷 + 不需要花费时间。我认为选择转不转语言,更重要的是你自己对于自己未来工作的规划。每个人的情况都不一样,一定要根据自己的客观情况+BG去选择。相对而言,我的建议是:

以下情况是我觉得可以转的情况:

如果是失利后想去国企/银行的选手,JAVA会好一些,但是更多的是学历 + 你的综合素质。

如果非互联网大厂不去的选手,早点转JAVA(很卷),到秋招其实是来得及的,通用的东西Cpp和JAVA互通,恶补JAVA和项目就好,对于互联网厂,还是JAVA机会更大。

如果是转码的选手,也还是JAVA更好一些,理由依然是机会更多。

以下情况我觉得没必要转的情况:

对于嵌入式硬件相关、车企能接受,并且想降低秋招找工作难度的朋友。(非互联网,Cpp始终竞争压力会小一点 但是今年是否也这样,也不一定)。

对于还没有确定方向+时间充裕的选手,我的建议是:

因为你们还有大把的容错,完全可以都去尝试,适合自己的才是最好的。

【Cpp选手没有找到大厂或者满意的暑期实习,是否真就大G特G了?】

我的回答是真不一定,如我上面所说,通用Cpp的大多数岗位无暑期,只有秋招。大多数硕士(本科的同学能有日常还是多日常体验谈下)同学因为教研室research任务压力,是没有暑期实习机会的。所以大多数Cpp同学在秋招是大概率能找到Cpp岗位的,不用那么焦虑 + 着急。

PS:以我的两个Cpp学长(两人的简历在暑期时 亮点不多)为例,暑期实习都是大G特G,但是秋招都拿到的很好很好的offer(主要集中于通用Cpp岗位)。但是这两个学长的基础+工程能力都很强,在秋招能够获得比较好的offer也是意料之中。

【给Cpp选手的一些建议?】

我一个运气选手配给hxd们建议? 那肯定是不配啦hhh,也就发发安慰帖,真没必要那么焦虑。暑期实习而已,机会还有很多。大概就是大家多多夯实基础 + 多提升自己的Coding能力,把以前Cpp科班 + 基础扎实的第一印象争取回来hh,为以后Cpp选手树立背书(大概?我人菜,就交给Cpper朋友们了hhh)

【写在最后】

以上的所有仅代表我一个第一次找实习的菜鸡Cpper的个人观点,你杠就是你对hhh,当然以我的角度肯定也有很多没有考虑到的东西,欢迎各位dalao批评指正 + 补充。有别的好的有关Cpp的好帖,Cpper朋友们也可以捞一捞放在评论区分享给Cpper们。最后,如果最近招实习不顺的Cpper也可以把评论区当作树洞,狠狠的发泄一通hhh,也欢迎各位朋友找我唠嗑。

最后的最后,放一个猫猫头,祝Cpper(以及所有朋友)近期都好运连连😊😊

#如何看待offer收割机的行为##现在还是0offer,延毕还是备考##没有实习经历,还有机会进大厂吗##实习#
全部评论
👍🏻👍🏻👍🏻
12 回复 分享
发布于 2024-04-22 20:08 广东
是这样的,毕竟不是非科班选手,还是继续all in cpp至少可以去个制造业保下限。
9 回复 分享
发布于 2024-04-24 13:13 湖北
我觉得主要原因还是Cpp是教学语言,Java这样的工业界语言,越是上面的学校越不会教。Java那一堆工业界framework的八股对于应届生几乎全部都要从零背起。而Cpp的八股因为本身语言难度大,很多问题是和Cpp本身语法和特性有关,这部分很多在上学过程能cover到。还有就是学生心态,从开始学编程就会听到Cpp是难度最大的语言之一(这点是事实,但认为难=好就是典型的学生心态),Cpp本身对Java Python以及各种脚本语言有鄙视链关系。
8 回复 分享
发布于 2024-04-25 15:14 美国
同学他们都是控制、机械什么的,去C++都拿到大厂实习了,车、无人机的厂,就我这科班Java一个oc都没有,他们天天劝我转C++啊,他们面试还简单,就一两面,甚至没手撕
5 回复 分享
发布于 2024-04-25 10:50 上海
最后是实在找不到那篇帖子了,大概就是分析C++各个方向的需求 + 要求 + 难度这样,如果有朋友也看到并且收藏,可以发给我下。印象里面还有一篇好帖(帖子本身一般,主要是评论),帖子的内容大概是C++有哪些公司岗位可以选择,评论区里面的一个前辈回答的特别详细,当时也忘记mark了。
5 回复 分享
发布于 2024-04-23 01:16 四川
我们公司用c++比较多
3 回复 分享
发布于 2024-04-23 21:44 广东
都说c++学历要求比java高,问一下各位佬,双非硕还有没有活路 本科同学都是搞java的,去年前年看他们在投实习找工作太难了
1 回复 分享
发布于 2024-04-28 09:16 广东
研0还推荐入cpp吗
1 回复 分享
发布于 2024-04-24 17:25 江西
很清晰地介绍了cpp的情况,给了我不少信息
1 回复 分享
发布于 2024-04-23 21:58 北京
怎么我们学校传的是Java死了呢
1 回复 分享
发布于 2024-04-23 20:23 安徽
接个好运吧,写文期间 oc完心心念念一周的阿里云意向终于下来了😝,希望大家也都是运气选手
1 回复 分享
发布于 2024-04-22 19:26 四川
本人是双非硕非科班,佬建议cpp,java双修吗?说是双修其实还是主cpp,所以java不会学的很深,秋招投java岗的时候面试官看到我这情况会疯狂拷打java吗?本人有一段cpp腾讯天美服务端的实习,但是怕路走死了想给自己备好退路
点赞 回复 分享
发布于 2024-06-09 09:19 广东
4+7,感觉寄
点赞 回复 分享
发布于 2024-04-28 15:55 山东
我觉得主要原因还是Cpp是教学语言,Java这样的工业界语言,越是上面的学校越不会教。Java那一堆工业界framework的八股对于应届生几乎全部都要从零背起。而Cpp的八股因为本身语言难度大,很多问题是和Cpp本身语法和特性有关,这部分很多在上学过程能cover到。还有就是学生心态,从开始学编程就会听到Cpp是难度最大的语言之一(这点是事实,但认为难=好就是典型的学生心态),Cpp本身对Java Python以及各种脚本语言有鄙视链关系。
点赞 回复 分享
发布于 2024-04-25 15:14 美国
竟然被引用了呀,选c++有一点最为重要的没有提到呀,那就是热爱c++这门语言啊,学好c++,每月两万花,学好cpp,迎娶美娇妻。
点赞 回复 分享
发布于 2024-04-24 18:25 北京
m
点赞 回复 分享
发布于 2024-04-24 16:00 浙江
如果是进车企,该去补什么项目
点赞 回复 分享
发布于 2024-04-23 18:16 陕西
点赞 回复 分享
发布于 2024-04-23 17:40 四川
支持校友一波
点赞 回复 分享
发布于 2024-04-23 12:41 四川
点赞 回复 分享
发布于 2024-04-23 10:56 四川

相关推荐

1)手撕:给定字符串,求不含重复字符的最长子串长度,并打印这个子串//哈希Set配合双指针private static String findLongestSubstring(String s) {        int n = s.length();        int left = 0;        int maxLength = 0;        String longestSubstring = "";        Set<Character> charSet = new HashSet<>();        for(int right = 0 ; right < n ; right ++){            while(charSet.contains(s.charAt(right))){                charSet.remove(s.charAt(left));                left++;            }            charSet.add(s.charAt(right));            if(maxLength < right - left + 1){                maxLength = right - left + 1;                longestSubstring = s.substring(left , right + 1);            }        }        return longestSubstring;    }2)如何设计一个秒杀系统?从以下角度考虑:1.高性能架构;采用分布式架构,消息队列来削峰填谷,服务的降级和熔断 2.高并发的处理能力:商品库存扣减的多线程安全问题,采用redisson分布式锁,缓存预热3.用户体验升级:websocket实现秒杀倒计时同步,消息队列实现秒杀结果实时反馈,针对ip地址,设备指纹和访问频率的限制实现防作弊系统4.数据一致性保障;数据库分库分表,本地消息表5.监控报警:监控系统,报警系统,日志系统,异常日志收集,分布式追踪系统6.安全防护、成本控制3)String StringBuffer StringBuilder区别String是不可变类,线程安全,每次修改字符串都会创建新的字符串,效率比较低StringBuffer是可变类,直接在原字符串上修改,使用了Synchronized实现同步,效率也比较低,适合多线程场景StringBuilder是可变类,线程不安全,效率比较高,适合单线程场景4)数据库字段char和varchar区别char:定长字符串,存储长度为1~255个字符,存储空间固定为255字节,不足用空格补,适合固定长度的字段,便于数据库读取和优化varchar:可变字符串,存储长度为1~65535个字符,存储空间为实际长度+长度字节5)索引失效的情况索引失效是指数据库在查询过程中无法有效利用已建立的索引,导致查询性能下降,甚至退化为全表扫描的情况。查询条件中使用了函数或表达式对索引列进行操作;使用了OR条件且未对所有分支列建立索查询条件中使用了NOT、<>、!=等否定操作符;对索引列进行了模糊查询(如LIKE '%abc%'),且通配符位于开头;查询条件中列的顺序与复合索引的列顺序不匹配;或者查询时数据类型不匹配导致索引无法使用。6)数据库的事务隔离级别读未提交:允许读取尚未提交的数据,可能导致脏读、幻读、不可重复读读已提交:允许读取已提交的数据,不能保证数据一致,可能导致幻读和不可重复读可重复读:允许读取已提交数据,可能导致幻读串行化:保证数据一致性,但是并发度和性能低7)Redis的常用数据类型,分别存储哪些东西?String:存储字符串,比如用户名、密码和验证码等哈希:哈希表,可以存储用户信息,商品信息等List:存储有序的元素,比如消息队列和日志记录Set:集合,可以做去重排序或求交集等Zset:带得分排序的集合,可以做用户或者流量等的排行榜8)Redis的锁机制基于SETNX命令,将锁名称作为键,客户端唯一标识(UUID)作为键值,使用完锁后DEL释放锁    因不可冲入可能存在死锁和不及时释放锁的情况,可以释放锁时检查锁值是否为自己的UUID以及添加过期时间基于Lua脚本,使用原子SET命令和Lua脚本的事务性,但仍存在锁续期困难和业务超时锁释放风险基于Redisson的分布式锁,支持可冲入锁和自动续期,提供公平锁、联锁和红锁9)HTTP1.0 2.0 3.0 区别HTTP1.0:默认为短连接,每次请求都需要建立TCP连接,并通过Connection: keep-alive头来实现持久连接,不支持管道    化,主要使用If-Modified-Since/Expires来做为缓存判断的标准;HTTP2.0:采用二进制格式而非文本格式,解析更加高效,支持多路复用允许单个TCP交错发送多个请求和响应,引入HPA    CK压缩算法,对请求和响应的头部信息进行压缩,消除冗余,允许客户端为请求设置优先级HTTP3.0: 最新的HTTP协议,基于QUIC协议,QUIC使用udp传输数据,不存在队头阻塞问题,首次连接后具备0RTT优        势,减少延迟,允许网络切换时,将连接迁移到新的IP地址,默认采用TLS加密,保证数据传输的安全性10) TCP的三次握手和四次挥手,为什么需要?三次握手:客户端向服务器发送SYN表示请求同步,服务器向客户端发送SYN+ACK表示确认收到同步请求,可以确保客户    端的发送能力正常,客户端向服务器发送ACK表示确认,可以确认服务器的发送和接收能力以及客户端的接收能力正常,   连接建立,通过三次握手能够保证通信双方的接收发送能力正常四次挥手:客户端发送FIN+x序列号表示请求关闭连接,服务器发送ACK+x+1表示确认收到,客户端向服务器的通道关        闭,服务器发送FIN+y序列号表示请求关闭连接,客户端发送ACK+y+1表示收到,等待2MSL没有收到回复后关闭TCP连接,因为TCP是全双工的,双向链路分别需要发送和接收两次,所以是需要四次挥手。11) 从输入网址,到最后访问页面的全过程首先输入URL,进行URL解析,准备发送http请求在请求之前,先本地查看浏览器缓存,如果缓存有该资源,直接返回,否则继续准备请求发送请求之前,进行DNS域名解析,按照本地缓存,本地HOST,路由器缓存,DNS服务器,DNS根服务器顺序,直到查        询到URL对应的IP地址三次握手建立TCP连接构建请求并发送,包括请求行,请求头,请求体,并把和该域名相关的cookie放入请求头,构建HTTP请求,如果是https        还要进行加密服务器处理请求,生成对应的响应并返回相应资源四次握手关闭TCP连接浏览器接收到响应后进行解析处理,如果是字节流可能是下载管理器进行下载,如果是html页面就是进行渲染生成页面。
查看11道真题和解析
点赞 评论 收藏
分享
昨天面了云智一面,很确信自己凉了,因为一开始就问我学了多久前端,知道我没学多久之后就有种不care的态度,项目也不怎么问(虽然我知道对他们而言只是玩具项目),整体给我感觉就是已经默认我不行了。。。虽然我真的菜,但你真的没必要。。。————————分割线————————一些有的没的:1.自我介绍2.你这两个项目做了一共加起来有多长时间?学校的项目还是你自己在网上找的课跟着学的?3.你是啥时候开始学习前端的?4.你就是学校有教过前端方面的课吗?数据结构网络这些学校有教吗?5.计算机网络学得咋样?————————分割线————————八股:6.讲一下虚拟dom,为什么要有虚拟dom?7.用过哪些react hooks,讲一下8.react组件的生命周期讲一下9.比如说现在一个弹窗组件当卸载的时候,我想执行一些操作。比如说打印一个123,我这个代码该怎么写?10.useeffect第二个参数的作用11.那不传第二个参数和传第二个参数,但是是个空数组以及传了一个数组,并且里面有值。这三种情况有什么区别?12.get和post请求有啥区别?13.能用get请求去修改数据吗?14.http和https有什么区别?15.前端缓存方式,你都了解哪些?你在项目里有用过吗?16.做布局都有哪些布局方式?17.你觉得这几种方式有什么区别?18.怎么理解跨域请求?19.dom对象和document对象是什么?20.bom你了解吗?21.异步任务了解吗?怎么理解异步任务这个概念?22.讲讲微任务和宏任务————————分割线————————手撕(打开本地编译器自己写,也不知道为啥明明腾讯会议的面试模式有编译器,但非不用):23.判断输出async function async1() {    console.log('a');    await async2();    console.log('b');}async function async2() {    console.log('c')}console.log('d')async1();setTimeout(() => {    console.log('e')}, 0)new Promise((resolve, reject) => {    console.log('f')    resolve()}).then(() => {    console.log('g')})24.对比版本号['1.2.3', '1.2.34', '0.5', '3.2.3', '11.2.3']25.写一个弹窗组件
腾讯云智研发一面208人在聊 查看22道真题和解析
点赞 评论 收藏
分享
评论
62
188
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务