211本硕科班研一下,学的Java现在转C++研二实习能赶上吗?C++职业寿命更长是真相还是误区?

今天给大家分享的是一位粉丝的提问,211本硕科班研一下,学的Java现在转C++研二实习能赶上吗?C++职业寿命更长是真相还是误区?

接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。

同学提问:

老师你好,我是学院本211硕,现在是研一下,科班。Java只学到的MVC,平时写一些网络项目主要使用django+drf和前端的vue来完成的。

看到一些关于C++的视频,感觉相比于Java,学C++的职业寿命更长一些。我想询问一下如果现在开始学C++,能赶上研二下的实习吗?还有就是现在学C++的话,建议我朝着什么方向学习呢?

Yt回答:

首先我跟大家讲这里有几个点要回答,这个职业寿命更长一些,没有任何一个说法说C++的职业寿命会比Java的职业寿命强,也没有说Java的职业寿命比C++长,这个不是,职业寿命它不是你学哪门语言就能够决定长与短的,而是你在哪家公司,如果这家公司发展的很好,你的职业寿命它就会更长,这家公司如果不行,你不管学哪门语言,它一样都很短。包括有很多说我去国企,国企职业寿命很长,然后还能躺平,请注意它不是所有的国企是这样的,国企它一样也有裁员,这种35岁危机它也有。它并不是说你学哪门语言学哪门技能,你就能够职业寿命更长,没有这个说法。反而说在这里你要选择一家企业,这家企业如果发展的好,那你的职业寿命它就会长很多。如果这家企业做两年倒闭了,或者说你去的这家公司,这家公司就倒闭了,你不管学什么都没用啊,这是关于这个问题。

我现在开始学习C++能赶得上研二下实现吗?现在是研一下到研二下还有一年的时间,我不知道为什么会给大家一种情况,我一年的时间这个东西我学不明白吗?包括我曾经也很长一段时间,包括我们我上大学的时候,我曾经学开发的C/C++语言,包括数据结构、操作系统、计算机组成,包括编译原理这一系列的,然后看的时候你发现好多好多东西,乃至后面还有项目,还有八股文,你发现整体很多东西,包括我们的当时还有qt,fmc这种,你会发现好像很多东西我半年一年时间能否搞定,我就一直在思考,这个东西它是否有点不对,是否有一条更加捷径,更加合适的方式,让我们能够快速的去上手,能够去做这个事情,能够快速的使我们把它吸收明白。其实后面让我想到了,你比如说计算机网络那本书,谢老那本书。那讲的什么?从物理层、数据链路层、网络层、传输层以及到应用层上面的,包括会话层表示层应用层。然后这个东西你发现看完之后你写不出代码,你没有代码可写,包括操作系统学这个东西你会发现你也没办法写代码。但是去了企业之后,你作为一个软件工程师,首先你面临的就是你得写代码,你得去搞定问题。你大部分的问题是代码所产生的,所以撇给你,你把这种问题搞定,你这个过程有没有一个方式它会更短一点。其实后面我再思考一下,我们能不能够就直接从项目开始,就直接你比如说我学完C/C++语言,我就结合着数据结构,我把数据结构把它封装一遍,封装完之后我后面就用我的数据结构,然后我去迭代我的数据结构库,比如这里面链表、队列、栈、红黑树、B树、哈希、跳表这些东西,我封装完之后我自己在用我自己的,你会发现刚开始封装的时候,你的接口不一定做的好,包括结合的多线程情况下,线程安全的不一定能做,包括结合的多进程的时候,这种情况它也不一样。那你就会发现包括在共享内存使用的时候,它也会不一样。所以你会发现你在封装的库,你也会随着你使用的场景越来越多,你会逐步去迭代你的库。所以在这里就讲了一点,在后面再仔细思考的时候,它能够去把这个做成一个个项目去解决具体问题的时候,我认为这种方式它是最快的。随着你解决的问题越来越多,随着你累积的方案,解决问题的方案越来越多,你的工程能力它就会越强。这是跟大家讲到的这个技术能力。

但是这里话又说回来,这个面试它等于你的技术实力吗?就是你发现我面试的时候,他要你手写代码,有,但是你会发现真正决定的它是面试,面试的过程中它不是让你去写代码,比如给个工程问题让你直接搞定,它不是的,它是让你能够表达出来,它是要能够说,所以这个技能上面和后面面试上面它是有一定差异的,但是两者它又很有关联。比如说在这个技术表述的时候,你包括很多朋友在表述,比如问这个进程线程,那很多朋友说进程是程序的一次执行,线程是操作系统最小的调度单位,这种话术你可以不断讲,但是你会发现东西说完之后,就是书上面的概念。结合的问,比如你在哪个地方用过线程,你线程怎么用的,如何解决问题的,包括进程你在什么时候选,你怎么用的,你就发现你没写过代码,没有这个技术实力,你是讲不出来的。你这个东西它不是通过背能够有这个感觉的,就跟做过和没做过它是有本质性区别的。这一点讲的什么?其实这里讲的就是一年的时间,你结合着项目来做,你就即使把数据结构封装一遍,然后结合着网络做一遍,然后再做一个产品项目。就从数据结构开始,你就比如说就给你提一个web server这个项目,你就把数据结构封装完,你就把网络做一个web server,Web server里面的IO管理,包括内存管理,然后包括线程池、内存池,你用的就用你前面的数据结构,然后封装完之后,你再把这个web server在做一个类似于网页面的即时通讯,这种工具你把它做到上线,你能用别人用,你就跟你女朋友聊天,你让你女朋友帮你测,这个就可以了。你做到这一点,你就发现这里几个项目它是一脉相承过来的,那这个过程它就会慢慢的使你,你做完这个项目,你做完的封装的库你自己用,你封装完的库,封装完的底层框架你自己用,做完之后你再把它做成产品化,你会发现整体上面你是会很扎实的。

那这个时间里面你需要一年吗?它肯定不需要一年,肯定不需要。真的来说你每天能够花个3个小时,每天你就后面找一图书馆,找一个自习室,你就自己每天三四个小时,你不用一年的时间,真的能通过这三四五个项目的时候,你自然而然你就发现你技术实力会很强。后面面试的时候,你就把你自己讲的,把你自己做的东西表述清楚就可以了,没有这么复杂。

总结:

  1. 职业寿命和语言无关,关键看公司和行业别信“C++比Java谁寿命长”这种话,能不能干得久全看公司稳不稳。比如去游戏公司用C++做引擎,公司黄了照样失业;去银行用Java写业务,只要银行不倒就能接着干。国企也不是铁饭碗,现在照样裁员,与其纠结语言不如挑个靠谱行业(比如军工、自动驾驶)。
  2. 一年时间学C++足够冲大厂实习别从头死磕理论:直接上手项目,比如先用C++把数据结构(链表、哈希表)自己实现一遍,再用这些数据结构搭个Web服务器。项目链条化:比如先写个网络聊天室,再给它加个网页前端(用你之前学的Vue),最后部署到云服务器让朋友实测,三个月就能攒出能吹的项目。
  3. C++学习暴力三步走第一阶段(2个月):用C++复刻STL核心组件(比如手写vector、红黑树),顺带搞明白内存管理和模板。第二阶段(3个月):写个带线程池的Web服务器,处理高并发请求(参考Muduo源码),同时学CMake和Linux系统编程。第三阶段(4个月):做硬核项目——比如用C++写个简化版Redis(GitHub搜tinyredis),或者给开源项目(如Nginx)提交代码补丁。
  4. 面试靠“项目故事”不是八股文面试官问“进程线程区别”,别背课本,直接说:“我在Web服务器项目里用线程池处理请求,后来发现线程切换太耗资源,改成协程后QPS翻了3倍”。把项目中的踩坑经历变成谈资:比如手写内存池解决服务器内存碎片,或者用RAII机制防止资源泄漏。

计算机相关专业就业求职学习路线/offer选择/职业规划建议

工种浩:程序员yt (学习就业困惑?我们来为你答疑解惑!)免费投稿 投稿必回

#职业规划##计算机#
计算机就业职业规划辅导 文章被收录于专栏

解决计算机相关专业就业/面试/技术提升等问题解答(投稿必回)

全部评论

相关推荐

05-28 23:32
门头沟学院 Java
    最近真的特别特别忙,既要做组里的需求又有导师的任务,还要写一下论文啥的。    突然更新是因为 wxg oc 了,就是这个红围脖太难戴了。每次照片都被打回来。wxg 的每一面结束的时候,都感觉非常魔幻,每次都觉得,卧槽我怎么就过了一面、二面、三面、面委、hr 面。其实对很多人,wxg 可能就是一个 title 大,赚钱的地方,但是其实 wxg 是我梦开始的地方,我最开始转码的时候,创建的第一个文件夹就叫 wxg,不管是为了圆自己当时的一个梦还是说为了钱 or title,我都决定要去试一试。    这一年真的刷的一下就过去了,我也从当时美团一下子走到了微信,如果有想冲一冲 wxg 的牛友,我感觉作为面了微信四个团队的人,还是能给一点建议的(x):1. 不要局限于 hot100,wxg 很少考 hot100。2. 算法可以重点看看贪心、dp、模拟,wxg 不会考特别难的题,也很少考板子题(比如回溯、数位 dp 这些),感觉他们更希望你的算法是做出来的,而不是背出来的。3. 可以多看看系统设计题,我面委和二面都考了相关的题目,还考了一道ood。4. 可以多看看计网和 os,考的真的很多5. 建议多刷几段实习再去面(其实 wxg不要求实习经历,但是如果没有实习,就会嗯问很多八股,八股真的不好背==)6. 实习的时候要多思考,实习并不是做完需求就好了的,要多思考系统的设计,其他正职写代码的思路,博主第一次面微信的面评,就是实习缺乏自己的思考,这个在之前的文章里也说了哈哈哈哈,就不多提了。7. 至于语言,我只能说能 c++尽量 c++,因为有的部门(wxg 部分部门,但是大部分不是)确实是不想要其他语言的,转语言的培养时间肯定更久一点,但是 all in c++,建议 985 及以上 hhh。    想说的很多,但是真开始写又不知道从何说起,可能很多牛友都不会遇到我这种抉择,视频号还是字节广告,最近博主也很纠结,但是最后还是遵从本心了,只希望字节秋招的时候别把我拉黑了哈哈哈哈哈。    现在总说实习生的水平是当年的正职,但是我在实习这几段下来,发现正职和自己,水平还是有本质的差别的。现在字节的 mt 是当年写抖+的 7 年老兵,他的很多思维、代码的水平、业务的理解真的是让博主自惭形秽,深刻的认识到了天外有天,人外有人。mt 精力非常好,即使三十多了还在参加很多技术比赛,也拿了非常多的奖。    同时也希望大伙都有个好去处,如果说有什么能给的建议,那就是好好打基础,多面试,不要闭门造车。牛客上也有很多卖课的,但是我浅看下来其实水平质量都一般般,当然我水平也一般般,所以也就打算写写关于自己的一些故事。牛客里总调侃黑马,但是黑马的质量真的非常非常高,非常适合刚开始学习的新人。然后可以看看小林,小林的计网和操作系统写的都非常好。然后不要总局限于现成的八股,还是希望大家从源码开始看,去理解写代码的人当时的用意,自己去沉淀出自己的八股。其他的网站博主都认为一般般,就不好推荐了哈哈哈哈。如果还有推荐的话,b 站有个博主叫学 Java 的生生,博主很多源码手撕都是跟着他学的,个人认为教的非常不错。最后最后,祝大家前程似锦,都有理想的去处~
点赞 评论 收藏
分享
评论
4
14
分享

创作者周榜

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