V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
liaozi
V2EX  ›  程序员

秋招语言选择 c++、 Java

  •  
  •   liaozi · 2022-03-11 15:27:56 +08:00 · 5236 次点击
    这是一个创建于 1017 天前的主题,其中的信息可能已经有所发展或是发生改变。
    本人 211 本,985 硕,准备秋招中。目前的情况是一边准备小论文一边刷题,面经、项目还没准备,实验室不给实习。目标是秋招进大厂,但是在语言选择上犯难:
    1.卷 c++:因为我小论文是用 c++写的分布式算法,感觉面试 c++岗位也能用的上,而且 c++没有 java 那么卷,但是 c++坑位比较少;
    2.卷 java:java 坑位多,但是卷的人更多,而且自己没有实习,小论文的 c++算法也用不上,秋招时只准备一个 java 项目感觉不够;
    还是说语言选择不重要,认真准备就行。
    希望各位前辈能给一点建议
    36 条回复    2022-04-11 15:39:51 +08:00
    3dwelcome
        1
    3dwelcome  
       2022-03-11 15:42:31 +08:00   ❤️ 2
    写 C++只有进游戏公司比较常见。

    大厂互联网后端,比如 B 站,都是用 go 之类的。

    进个大公司,写分布式也不可能让你用 C++自己开发轮子啊。而且大厂 C++虽然不卷,但是元老很多,那么多年的积累,你要达到他们那样高水准,把职位升上去还是很难的。

    不如换个新赛道,比如 Swift 语言,写写 iOS ,一不小心,APP 大火,以后还能独立门户。财富自由,迎娶白富美。
    liaozi
        2
    liaozi  
    OP
       2022-03-11 16:20:46 +08:00   ❤️ 1
    @3dwelcome 非常感谢您的建议,感觉除了游戏公司,互联网企业 c++确实比较少,不过您说的新赛道做一个大火的 ios app ,感觉还是停看运气的😂
    angiie
        3
    angiie  
       2022-03-11 16:28:46 +08:00   ❤️ 1
    golang
    angiie
        4
    angiie  
       2022-03-11 16:28:52 +08:00   ❤️ 1
    golang 确实蛮好的
    hidemyself
        5
    hidemyself  
       2022-03-11 16:34:35 +08:00   ❤️ 1
    看你更喜欢哪个。
    有用 C++做 LLVM,TVM 跟算法模型有点关系的,也有用 C++做微服务架构的。
    Java 确实岗位多,但是竞争大。

    还是看你更喜欢哪个
    quzard
        6
    quzard  
       2022-03-11 16:52:20 +08:00   ❤️ 1
    C++也有做音频处理的
    hello2090
        7
    hello2090  
       2022-03-11 16:54:45 +08:00 via iPhone   ❤️ 1
    社招看语言勉强有点道理,应届的都是菜鸟,难道校招广告上还会指定语言?
    liaozi
        8
    liaozi  
    OP
       2022-03-11 17:19:47 +08:00
    @hello2090
    校招主要还是看基础知识扎不扎实,语言反倒是其次。
    其实我也不是纠结语言的问题,主要是因为没有实习,我想用我小论文的分布式算法+一个 github 项目作为简历的主要内容,但是我的算法是 c++的,如果我去应聘 java ,但是简历里是自己 c++的项目,感觉有点冲突。
    而且 java 实在太卷了,我看论坛里 c++没有那么卷(不过岗位也少)
    villivateur
        9
    villivateur  
       2022-03-11 17:19:59 +08:00 via Android   ❤️ 1
    不去互联网的话可以选 C++
    EminemW
        10
    EminemW  
       2022-03-11 17:20:45 +08:00   ❤️ 1
    @3dwelcome #1 这么多推进 go 的,感觉马上 go 就要卷起来了啊
    xiongshengyao
        11
    xiongshengyao  
       2022-03-11 17:21:05 +08:00   ❤️ 1
    go
    liaozi
        12
    liaozi  
    OP
       2022-03-11 17:24:16 +08:00
    @angiie
    @xiongshengyao
    go 语言我了解的是做服务端开发的,它的前景比这两种好么。
    xqmeng
        13
    xqmeng  
       2022-03-11 17:24:28 +08:00   ❤️ 1
    校招面试的岗位和语言没什么关系吧,我只会 c++,面试的岗位里用 go ,java 的都有。
    校招面试还是以基础为主,学好操作系统和计网,一般都没问题。
    anonymousar
        14
    anonymousar  
       2022-03-11 17:26:32 +08:00   ❤️ 1
    cpp 岗位少还卷 像什么搜广推 卷麻了
    hello2090
        15
    hello2090  
       2022-03-11 17:27:50 +08:00 via iPhone   ❤️ 1
    @liaozi 你都 211 了,中国的高考不卷吗?你担心过考不上大学吗?
    3dwelcome
        16
    3dwelcome  
       2022-03-11 17:28:09 +08:00   ❤️ 1
    @villivateur "不去互联网的话可以选 C++"

    选 C++就意味着和公司老人抢饭碗。还要维护根本看不懂的屎山项目。

    尝试编译一次,100 个编译错误,改了半天再编译,变成 200 个错误。

    从长期来看,C++是个重积累的语言。从短期来看,学 C++很难让刚毕业的年轻人,过上自己理想中的生活。
    darknoll
        17
    darknoll  
       2022-03-11 17:30:22 +08:00   ❤️ 1
    51job 上搜一下,谁给的钱多学哪个
    3dwelcome
        18
    3dwelcome  
       2022-03-11 17:32:37 +08:00   ❤️ 1
    @liaozi “go 语言我了解的是做服务端开发的,它的前景比这两种好么。”

    学 C++产出很缓慢,有各种轮子需要维护和制造。遇到个潜在 BUG ,能耗去你大部分的精力和热情。

    别的语言 golang/java 重产出,你短期内能有产品,公司能盈利,也能获得成就感。
    dongcidaci
        19
    dongcidaci  
       2022-03-11 17:35:43 +08:00 via Android   ❤️ 1
    Cpp ,干数据库去
    xiongshengyao
        20
    xiongshengyao  
       2022-03-11 17:56:15 +08:00   ❤️ 1
    @liaozi 首先我理解你应该不是搞算法的,搞算法 java 、python 、c++这些都要会,但是面试语言反而不是重点。
    这样的话,面试可以准备 java ,然后稍微了解下 go ,进公司后如果转 go ,不会有心理落差。c++回报周期太长了
    zvl0reqglvd
        21
    zvl0reqglvd  
       2022-03-11 17:59:52 +08:00   ❤️ 1
    cpp 准备转 go+rust 。
    sky857412
        22
    sky857412  
       2022-03-11 18:21:31 +08:00   ❤️ 1
    不要局限于语言,看公司,看岗位,需要啥就学啥
    BrettD
        23
    BrettD  
       2022-03-11 18:49:46 +08:00 via iPhone   ❤️ 1
    做数据库、做游戏、做音视频、做金融、做嵌入式这些可以去搞 C/C++
    nightwitch
        24
    nightwitch  
       2022-03-11 20:21:38 +08:00   ❤️ 1
    C++ 面试万能语言,因为 C++写得好通常基础都比较扎实,转其他语言很快的。
    你这种学历和论文情况可以考虑去大厂的 infra 部门,比如做分布式存储、数据库之类的,阿里云字节腾讯都有类似的岗位,可以考虑再补一下 6.824 这种课作为项目,到了秋招都是乱杀的
    Hconk
        25
    Hconk  
       2022-03-11 20:36:47 +08:00 via iPhone   ❤️ 1
    深度学习模型部署,图像算法,高性能计算,并行优化这几个方向都有 C++需求。
    cxytz01
        26
    cxytz01  
       2022-03-12 00:31:27 +08:00   ❤️ 16
    本人曾经的 c++老码农,现在已经找不到适合的 c++工作,这里给你一些建议。
    ps:我对适合的定义是:薪资福利、行业前景、工作强度、工作可持续性,公司可靠性,leader 是否和眼缘等综合考虑。

    c++路线:
    1.后端工程(业务、基础设施) -- 现在已经绝迹,只有腾讯、百度老业务在使用。
    其中后端工程曾经是就业面最广泛的,但是后端已经弃用 c++,所以你几乎找不到 c++的后端工程。
    2.计算密集 -- 数据库公司,ai 公司,实现一些 nlp 算法。
    你学历不行,不建议走工程算法方向。也十分的小众。
    3.图形学 -- 游戏引擎,cad ,eda 工业软件,医疗软件
    游戏引擎投入大,国内资本没耐心投入,游戏也是挣快钱行业,国内游戏领域做技术不切实际,不要盯着几个游戏技术大神看,低概率事件。 工业软件受到国外打压,国内目前有政策、资本投入的趋势,但依然小众。打不过就加入,国外工业软件,以及国外工业软件云原生公司(cad 上云,做成 app)。
    4.游戏业务 -- 动视暴雪之类的公司
    游戏业务,国内受到政策打压,而且常态化加班。
    5.音视频 -- 流媒体,音视频云服务公司,直播秀场,在线教育类公司
    音视频于 2021 年之前十分的火爆,原因在于在线教育、秀场直播的火爆,随着政策对相关互联网业务的打压,音视频正回归往常。
    6.网络安全
    商业化公司不了解。
    有极低几率可以进入国家队(不过也是垃圾地方,体制内不适合技术人生存。)
    7.转嵌入式做 c -- 通信厂商华为,中兴
    通信业,使用 c 最多的地方。
    8.存储 -- 对象存储、块存储、分布式存储
    大厂 infra 部门,需求少。
    9.区块链公链 -- 公链投入成本极大,有 c++、golang 、rust 、js 选择。
    需求少,投入大,几乎都在国外。我国全面落后。
    10.数据库内核 -- 有被 go 替代的趋势,极少公司使用 rust ,更多使用 go 替代。
    行业小,不挣钱。如果遇到阿里系,不光不争气,还会 996.
    11.操作系统 -- 记得 v 站有个操作系统公司招人,嗯,就这么一个公司。
    12.转 c 做内核网络层 -- dpdk 这类的,做的人不算多,也不算少。
    13.软件定义汽车 -- 自动驾驶、新能源,资本涌入,卷。
    13.转 go(做基建、做业务),闭着眼睛转。遇到有水平的伯乐,是不会在乎你会不会 go 的,因为你会 c++。

    c++是有许多的分支路线的,多数分支路线要么很小众,要么被被政策打压,要么被国外垄断,要么投入产出比低。少数分支(转 c 语言),偏通信,发展比较稳健。

    分支和分支直接相互关联不大,图形学和游戏引擎一类,音视频一类,存储、infra 、数据库、公链一类,通信一类,网络安全一类、nlp 一类,业务一类(除了游戏逻辑,其他已经绝迹)。

    综上所述,如果你要走 c++路线,建议下面几条路:
    1.存储、infra 、数据库、公链
    存储很卷(互联网中大厂)
    infra(很卷,互联网中大厂)
    数据库(可能很卷,因为有阿里人)
    公链(不卷,机会十分少)

    以上的方向有些许关联,可以互相转。
    2.图形学、工业软件 -- 不倦,小众,钱少
    3.网络安全 -- 需求较多
    4.自动驾驶、新能源 -- 目前资本涌入,需求量大。新能源也符合国际形势:碳中和。


    java 路线:
    1.大数据
    2.许多的业务 - 电商,物流,云计算,币圈等等等诸多业务

    java 选择太多了,就第二点,全是业务,够你选择了。需求十分的多,人也很多,钱比 c++多。题外话:高级语言的目的就是为了不让程序员关系内存,一个 java 却卷到了面试要关心 jvm 内存调优。

    个人愚见,不一定正确。鱼与熊掌,不可兼得。结合自己的情况,做选择吧。
    drackzy
        27
    drackzy  
       2022-03-12 00:43:05 +08:00   ❤️ 1
    go 现在也开始卷了,职位没有 java 多
    Tezos
        28
    Tezos  
       2022-03-12 00:47:25 +08:00   ❤️ 1
    学 rust 吧 “区块链革( pian )命( ju )”
    mythabc
        29
    mythabc  
       2022-03-12 01:59:33 +08:00   ❤️ 1
    我的理解是你写的是分布式算法项目,那面试官的关注重点就是你对分布式算法的理解程度。至于实现,不论是 cpp ,java 还是 go ,干几个月时间就适应了,以后工作也会遇到需要接触多种语言项目的情况,面试官不会纠结这个。
    azraeljack
        30
    azraeljack  
       2022-03-12 09:49:57 +08:00   ❤️ 2
    校招语言没那么重要的(因为大部分公司来说不会指望校招生进来就能直接干活的),主要会看你基础是否扎实(算法、数据结构)、你之前做的项目的深度、以及学习能力是否足够等方面来看。
    wellsc
        31
    wellsc  
       2022-03-12 10:14:24 +08:00 via Android   ❤️ 1
    @3dwelcome 逼站也算大厂了吗
    alsas
        32
    alsas  
       2022-03-12 11:30:41 +08:00   ❤️ 1
    golang
    kingbill
        33
    kingbill  
       2022-03-12 12:03:35 +08:00   ❤️ 1
    还是倾向你好好用 C++,后面工作了需要什么语言都好转,java 也就那样,但是会 java 转 C 和 C++就比反过来难多了
    cwaken
        34
    cwaken  
       2022-03-12 13:10:54 +08:00 via iPhone   ❤️ 1
    c++做桌面客户端是不错的,音视频也可以,我就在音视频赛道,排查错误很烦,基本没资料,靠经验解决
    sexyback
        35
    sexyback  
       2022-03-13 10:29:35 +08:00
    亲身经历选择推荐 golang
    angiie
        36
    angiie  
       2022-04-11 15:39:51 +08:00
    @liaozi 刚从 Java 转到 go ,哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2886 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:08 · PVG 22:08 · LAX 06:08 · JFK 09:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.