关于提高 c++水平的一个疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fishCatcher
V2EX    C++

关于提高 c++水平的一个疑问

  •  
  •   fishCatcher 2020-04-29 01:41:34 +08:00 5874 次点击
    这是一个创建于 2071 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小弟大四学生,打算出国读研然后找后端工作,感觉编程水平遇到瓶颈不知如何提高,来请教各位 v 友。

    目前 lz 的 c++水平停留在会基础、能刷题(大概刷了 350 道 LeetCode )的水平,然而一到实际项目就完全不知道该如何用 c++搞。之前在 tx 实习过一段时间,但主要用的是 Go,没怎么提高 c++水平;平时自己做项目就 php 一把梭了。所以感觉现在自己的水平就是各个语言都有短腿,没有一个特别擅长的。

    感觉自己的 c++水平总缺了点什么导致无法与实际工程结合(也许是网络编程),然而 unix 网络编程、unix 环境高级编程这种书太厚了实在是不敢去学(从小不读文字),请教各位 v 友这种情况该怎么提高呢?
    20 条回复    2020-04-30 09:55:03 +08:00
    owwlo
        1
    owwlo  
       2020-04-29 02:35:50 +08:00   1
    我是工作之后才开始“真正”学习并使用 c++的,到现在已经快 5 年了,而且如果只说 c++的话直到现在在工作上解 bug 或看别人的代码依然会时不时的发出“卧槽原来还可以这样!”的惊叹。
    作为一个跟你的计划经历相似的人(肉翻读研+leetcode+工作……),一些小小的建议(当然只是建议哈~每个人的情况都或多或少的不一样,只是希望对你有点帮助;)):
    * 对付大厂面试性价比高的方式是刷题+练习口语
    * 小公司才可能多一点会看你自己做出了什么项目,可不可以展示
    * c++对于刷题和做项目成本太高,python 和 java 作为第一和第二选择应该会比 c++好很多
    Procumbens
        2
    Procumbens  
       2020-04-29 03:04:27 +08:00   1
    Procumbens
        3
    Procumbens  
       2020-04-29 03:08:19 +08:00   5
    @owwlo 其他都同意,不过个人认为 C++刷题的成本并不高。常用的数据结构( vector, set/unordered_set, map/unordered_map, stack, queue, priority_queue ) C++都有,最多就是 String 的 split, join 等处理起来稍微复杂些。我个人更喜欢用 C++写 LeetCode 。
    msg7086
        4
    msg7086  
       2020-04-29 06:18:19 +08:00 via Android
    之前看了 feisty2 大大写的 C++20 的项目,感觉直接颠覆了我对 C++的理解了…
    MintZX
        5
    MintZX  
       2020-04-29 06:51:53 +08:00   1
    你这个问题让人很不理解你的目的是什么?

    你是为了掌握高级 C++技术吗?

    C++ Prime -> Effective Modern C++ -> The C++ Standard Library -> C++ Templates

    你是为了出国以后找工作吗?

    那跟 C++没关系,国外 C++的职位不多,学一门 python JS 这样的语言然后去做题不香吗?

    人家都测试一遍过了你还在那想 STL 的 reverse 是怎么引用的

    而且国外公司不在乎你用什么语言面试,你把题做出来就行。

    除了银行金融系统类的公司没见过几个要求会 C++的,而且大多数都是要求 5 年+经验的 C++开发。
    watzds
        6
    watzds  
       2020-04-29 07:14:31 +08:00 via Android   1
    我 C++学了多年,还是找了 java 工作
    你不如多学学 Go 和相关生态,不好吗
    GPLer
        7
    GPLer  
       2020-04-29 07:18:29 +08:00 via Android
    @Procumbens +1,C++ 刷题成本能算高,那纯 C 算啥。
    hello2060
        8
    hello2060  
       2020-04-29 07:37:30 +08:00   1
    既然要做后端还抱着 c++不放干啥,FLAG 招聘也不会限定你的语言。
    shiltian
        9
    shiltian  
       2020-04-29 08:11:17 +08:00   5
    C++ 这个东西的学习曲线还挺大的我觉得…我研究生期间几乎把所有的 C++ 经典书籍(大概 18 本)全看了,才慢慢有了一点感觉。然后就开始了实习、工作,又辞职肉翻当科研狗…当时在公司的时候给 Chainer ( MKL-DNN )、TensorFlow 还有 LLVM 贡献代码,阅读了大量的 C++ 代码(得搞明白了才能下手嘛),然后现在读博还在继续给 LLVM 贡献代码。在这期间呢,就经常能回忆起以前书上的一些知识点来,而当时读的时候并没有觉得怎么样。这还是我能记住的,没记住的肯定就更多了。由于现在做编译器,所以得对语言更加了解,就又开始跟最新的标准…漫漫长路啊…
    laike9m
        10
    laike9m  
       2020-04-29 08:12:49 +08:00 via Android   4
    没事,等你再学五年 C++,会发现不懂的比现在还多
    May725
        11
    May725  
       2020-04-29 08:33:26 +08:00 via iPhone
    @tianshilei1992 配合上头像,一看就是大佬
    May725
        12
    May725  
       2020-04-29 08:34:02 +08:00 via iPhone
    dearmymy
        13
    dearmymy  
       2020-04-29 09:10:31 +08:00   1
    你水平已经蛮厉害了。既然打算考研我觉得就不必要刷题了。我觉得你可以看看设计模式,让你老大推荐一个开源 c++项目,自己跟着敲一边,理解下
    paoqi2048
        14
    paoqi2048  
       2020-04-29 10:26:57 +08:00
    可以看下 C++11/14/17
    shiltian
        15
    shiltian  
       2020-04-29 10:27:40 +08:00
    @May725 甭管技术到不到位,头型一定得先到位不是
    watzds
        16
    watzds  
       2020-04-29 13:30:09 +08:00 via Android
    autogen
        17
    autogen  
       2020-04-29 19:52:39 +08:00
    用 C++做一个网络课堂网站+APP ?
    Noobs
        18
    Noobs  
       2020-04-30 00:36:54 +08:00 via Android   1
    不要为了学而学吧,看你以后工作内容再决定深入了解哪门语言吧。应届刷算法更有性价比吧。
    fishCatcher
        19
    fishCatcher  
    OP
       2020-04-30 01:43:03 +08:00 via iPhone
    @autogen 雷课堂可还行
    coderEOS
        20
    coderEOS  
       2020-04-30 09:55:03 +08:00 via Android
    找感兴趣的优质开源项目,能看懂一半就行,然后试着做自己的项目,学习 代码管理、接口封装、类抽象、设计模式。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3026 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 80ms UTC 12:44 PVG 20:44 LAX 04:44 JFK 07:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86