V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RanShunliu
V2EX  ›  职场话题

211 大二 C++,准备暑期实习, webserver 之后该做哪个项目嘞

  •  
  •   RanShunliu · 250 天前 · 5085 次点击
    这是一个创建于 250 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一,打算
    1 )大二科班,广深,打算暑期去实习,什么方向无所谓,C++搭边就行,在校生实习,估计还用不到细分方向吧,,但是愿意培养新人的企业估计很少,,,C++( 3 月中旬~6 月之间会开始投简历)

    2 )学校教过的专业课:Web 前端,Java 基础,Java 框架 springboot ,Python 基础,人工智能,机器学习,产品经理的东西等等........教的很杂。。。所以目前电脑下了很多编译器:
    Goland, vs code, HBuilder X, Mysql Workbench, Mysql 8.0 Command, Codeblocks, PingPlotter, Wireshark, eclipse, Git Bash, Finalshell, VMware, Intellij IDEA, Android Studio, Axure RP 9, Cisco Packet Tracer

    3 ) webserver 快做完了(不到 100 小时),下一步,实习之前,打算再做一个项目,想请教下前辈们,帮忙选一下做哪个嘞....
    4 )当然,像 6.824 ,Tiny KV 这种,真的要自己手撕,理解吸收完,至少 200~400 小时吧,,暑期实习前不一定能搞完,还剩 3 个月大概,现阶段打算拿 webserver 投实习
    5 )最后再花 20~30 小时完善下 webserver 的细节和手撕部分代码
    6 )贴一下博客:cppreference.blog.csdn.net



    二,下一个项目
    有没有 大佬前辈, 哥哥姐姐, 叔叔阿姨, 弟弟妹妹, 帮忙选择一下
    1 ) ucore ( 1 万行代码手写简易操作系统)
    2 )基于跳表实现的 Redis 数据库( Tiny KV ),做之前需要先看《 Redis 设计与实现》 -- 有同类小众替代项目
    3 ) webserver 加个协程库
    4 ) muduo
    5 ) 6.824 -- 有同类小众替代项目
    6 ) CMU 15445
    7 ) QT 项目

    三,基本情况
    24 年 6 月之前,基本完成下列任务,大部分都是自己手敲,基本理解:
    ----------------------------
    ( 1 ,算法)
    1 ) acwing 一门算法课,65%的题目
    2 )《算法训练营基础篇》 600 页,约 100 道题目
    3 )力扣 hot100 ,所有题目 2~4 种解法自己写一遍(进行中)

    ( 2 ,C++基础)
    1 )黑马 C++三百个视频
    2 )《 Essential C++》
    3 )《 C++ Primer 》约 20000 行笔记和习题代码(进行中..)
    4 )《 Effective C++》(进行中..)

    ( 3 ,数据库)
    1 )黑马 Mysql ,学到索引调优,100 个视频
    2 )《 Mysql 必知必会》
    3 )《 Mysql 实战 45 讲》,只看了前 10 个视频和课后作业,难度有点大,先搁置(进行中..)
    4 )《 Redis 设计与实现》(未开始,,,,)

    ( 4 ,计网)
    1 ) B 站《计网自顶向下》,学到物理/链路层之前
    2 ) wireshark 抓包实验 14 个
    3 )《图解 HTTP 》
    4 )《图解 TCP/IP 》(进行中..)
    5 )《 Linux 高性能服务器编程》
    6 )黑马 Linux 跟了基础命令

    ( 5 ,操作系统)
    1 ) B 站清华的视频(进行中..)
    2 ) Linux 期末大作业
    3 ) ucore 实验( 6000~10000 行,手写简易操作系统)(未开始,,,,)

    ( 6 ,八股)
    (进行中..)

    ( 7 ,项目)
    1 ) TinyWebServer (即将完成,耗时 80~100 小时)
    ----------------------------
    第 1 条附言  ·  249 天前
    三,基本情况那里,没有注明(未完成,,,,) 或 (进行中..)的,都是已完成
    67 条回复    2024-03-13 09:24:49 +08:00
    hello2090
        1
    hello2090  
       250 天前 via iPhone
    啥是 6.824 15445 啊?
    RanShunliu
        2
    RanShunliu  
    OP
       250 天前
    @hello2090 C++烂大街项目,都是国外公开课,打基础用的,824 是分布式,一般是 Go 实现; 15445 是 DBMS 数据库的项目
    buf1024
        3
    buf1024  
       250 天前
    及早转行,IT 已经没落了。
    bananaza
        4
    bananaza  
       250 天前
    建议考个 985 研
    chanyan
        5
    chanyan  
       250 天前
    所以目前电脑下了很多编译器:
    Goland, vs code, HBuilder X, Mysql Workbench, Mysql 8.0 Command, Codeblocks, PingPlotter, Wireshark, eclipse, Git Bash, Finalshell, VMware, Intellij IDEA, Android Studio, Axure RP 9, Cisco Packet Tracer
    GenericT
        6
    GenericT  
       250 天前
    就算你是把编辑器打成了编译器,那这个 Cisco Packet Tracer 和 Wireshark 又是怎么回事咧
    现在报菜名都流行报环境了?
    cyp0633
        7
    cyp0633  
       250 天前   ❤️ 1
    个人认为 ucore 难度不低,即使听了清华的课(记得是 ostep 为主)也不简单
    a554340466
        8
    a554340466  
       250 天前
    ...目测得考公 or 考研
    Crawping
        9
    Crawping  
       250 天前   ❤️ 2
    现在是真卷啊, 12 年我找工作的时候 就会用 C 在控制台里操作下链表..😂
    搁现在是真废了..
    愈感个人在时代的洪流之中是多么渺小无力😰
    angrylid
        10
    angrylid  
       250 天前 via Android   ❤️ 4
    不要在这里问,去问你的直系学长学姐。
    他们的路径才是你比较可能参考和复制的

    没任何分析和推导,上来一句考公/考研/转行的这种建议你敢听?
    YsHaNg
        11
    YsHaNg  
       250 天前 via iPhone
    自己和周围写 c++的 正文说的一概没做过
    RanShunliu
        12
    RanShunliu  
    OP
       249 天前
    @buf1024 害,科班转啥....而且自学了不少......虽然都是入门的基础
    RanShunliu
        13
    RanShunliu  
    OP
       249 天前
    @bananaza 不打算考研...
    RanShunliu
        14
    RanShunliu  
    OP
       249 天前
    @chanyan 不都是....大概那个意思喽...意思是下了一堆东西,只是用过几次,没啥意义
    RanShunliu
        15
    RanShunliu  
    OP
       249 天前
    @GenericT 举个例子😂
    RanShunliu
        16
    RanShunliu  
    OP
       249 天前
    @cyp0633 对的,就算选了 ucore ,能不能做成还未知,,,其他地方也问了很多人,服务器方向没有任何岗位,嵌入式,工业软件这些倒是有些。。。首推 824 和 KV
    RanShunliu
        17
    RanShunliu  
    OP
       249 天前
    @cyp0633 ucore 我找了 3 份源码,还有 2~3 套不同的视频和完整博客记录,如果真的打算做,不知道要不要花 300~500 小时
    RanShunliu
        18
    RanShunliu  
    OP
       249 天前
    @Crawping 对呀,现在全网流行的思想都是,大一学完大学 4 年内容,大一暑期就去实习....大二中大厂,大三大厂实习,大四进大厂......但是现在能找到一份对口的工作,已经超过大多数人了,失业或者说只能做(销售,搬砖,跑滴滴,送外卖)的人太多了
    RanShunliu
        19
    RanShunliu  
    OP
       249 天前
    @GenericT 不是环境吧...是俩软件,wireshark 是抓包用的,Packet Tracer 是计网让下载的
    RanShunliu
        20
    RanShunliu  
    OP
       249 天前
    @angrylid 是的,同校同专业的学长问过三四个比较好一点的,读 211 硕的,大四拿了几家大厂 offer 的,还有工作了一两年的,按他们说的,貌似并没有网上所说的那么难.....也许他们能力强吧(然而他们都是 Java.....)
    RanShunliu
        21
    RanShunliu  
    OP
       249 天前
    @YsHaNg 是工作后了的吗,现在网上能直接找到的确实只有这些.....是第二个项目那里,还是基本情况那些嘞,大学生感觉也接触不到什么实际工作的东西了
    buf1024
        22
    buf1024  
       249 天前   ❤️ 1
    @RanShunliu #12 现在计算机岗位已经供大于求,这是市场情况,而且是大头垄断,很多项目都指定大厂,大厂又外包给各个外包商,外包又外包给其他外包。而且,技术在于深,不在于宽,学那么多不如专于一领域,不过可惜的是任何一个领域,都卷得有大神存在。所以,即使你学的太多,也不会给你理想的岗位,因此,早转行是正道。现在在各个领域和行业都饱和的情况下入行计算机,如同 49 年入国军。
    RanShunliu
        23
    RanShunliu  
    OP
       249 天前
    @buf1024 也没有学的多....多是因为学校不挂科就要学,期末还得写个小软件或者项目,只能从网上抄。。。。学校教的大概花个 30%的时间,自学要花 70%的时间。至于转行,真心算了。。。打算从事 cpp 相关的,要求不高,第一年税后 8k 就行....问题是我已经学了 2 年了,,而且其他专业比计算机更差,更不稳定
    RanShunliu
        24
    RanShunliu  
    OP
       249 天前
    @buf1024 当然喽,做好了毕业不做 C++的准备,甚至连计算机相关都不做....说不准嘞,先认真搞个实习再说
    chashao
        25
    chashao  
       249 天前   ❤️ 1
    你的计划里有些任务比如:“黑马 Mysql ,学到索引调优,100 个视频”、“黑马 C++三百个视频”、“B 站清华的视频(进行中..)”能在 6 月份前看得完么。。
    如果只是 C++搭边,可以看看网易雷火精英实习生和研究专题实习生,里面的渲染、引擎都是 C++相关
    chashao
        26
    chashao  
       249 天前   ❤️ 1
    @RanShunliu #21 我也是写 C++的,但是正文说的我有部分做过- -
    RanShunliu
        27
    RanShunliu  
    OP
       249 天前
    @chashao 黑马 mysql ,是大一看过了,200 个视频好像,一直讲完运维,当时学到 90 多个,索引调优之前没学了,然后水了下字节青训营的 Go ;;上面没有注明未完成或进行中的,都是已完成,大部分都是已完成。。C++黑马的入门视频,自己完整跟了一遍,但是最后的 20 个视频做的项目没做。。
    RanShunliu
        28
    RanShunliu  
    OP
       249 天前
    @chashao 前辈工作了吗,,B 站黑马的视频,都是很入门的使用,,一个视频 5~20 分钟,挺快的。。。网易雷火那些,是要做游戏吗...但是这个方面经验为 0 ,,而且游戏挺难的,最最卷,比 996 还离谱,,而且很难入行好像,一些认识的学长想去米哈游都去不了,最后转了其他方向
    Donahue
        29
    Donahue  
       249 天前   ❤️ 1
    为啥感觉行情没有你们说的那么差,我同学延毕两年挂科很多都找得到实习, 苏州 150/天 嵌入式方向
    RanShunliu
        30
    RanShunliu  
    OP
       249 天前
    @Donahue emm....比以前差,但是没有上面说的那么差,说难听点,某些人想把车门焊死而已(担心卷到自己)....但是形势就是这样,,,根据我之前接触到的,以前几届的学长,还有些最近一两年大二大三去实习的,真没那么难....可能只是他们要求高,一些双 9 硕天天吵着说找不到工作,实际上是找不到月薪 2 万以上的,或者自己非科班没好好学
    Crawping
        31
    Crawping  
       249 天前   ❤️ 2
    @RanShunliu #18 真实庆幸, 我这种 90 初 也算是吃到时代发展的红利了, 12 那会儿 CS 专业毕业的, 除非说是自己完全不想碰计算机,对编程 0 兴趣的, 基本 offer 随便拿. 我甚至认识一些非科班仅 3 个月培训就入行的. 现在的年轻人属实不容易
    YsHaNg
        32
    YsHaNg  
       249 天前 via iPhone   ❤️ 1
    @RanShunliu 我和同事都没几个正经 cs 的 leader 是天体物理研究黑洞的 老板都是 ee 光学的 前司的管理也绝大部分物理 phd 到头来还是做 c++
    taogen
        33
    taogen  
       249 天前 via Android
    学雅思/托福。
    iyear
        34
    iyear  
       249 天前 via Android   ❤️ 1
    cpp 后端岗位很少,主要在鸡架的数据库,存储,音视频这些方面稍微多点。这种专精一个方向就行了,够研究一辈子的

    顺便 webserver 这些已经烂大街烂的不能再烂了,即使真的花了很多时间去研究,是很难体现在简历上的,看到这些直接都是略过懒得问了。八股文触发器项目没什么意思。
    SephirothD
        35
    SephirothD  
       249 天前   ❤️ 1
    这么夸张了吗...大一大二就要实习...恶性竞争啊这...
    但是大厂的实习基本只收大三大四或者研二的啊, 哪有收大一大二的...会不会操之过急了你这

    另外 c++进游戏行业挺好的啊, 客户端和后台都在用, 你才大二就说没接触过不懂肯定不对吧, 我研二才接触的游戏开发, 也挺顺利的在这个行业, 入了行提升才快
    Biggoldfish
        36
    Biggoldfish  
       249 天前   ❤️ 1
    @SephirothD

    Google STEP/Microsoft Explore 这种专门针对大一大二的实习生项目有很多年了
    SephirothD
        37
    SephirothD  
       249 天前   ❤️ 1
    @Biggoldfish 哦 还真没关注过 我其实特指的国内大厂...op 这个情况去 google 估计也过不了, 有招聘也没意义

    更有意义的还是鹅厂网易这几家, 这两家我都待过, 也负责过实习生和校招招聘, 印象中从没挑过大一大二的, 都是最后一两年为主
    streamrx
        38
    streamrx  
       249 天前 via iPhone   ❤️ 2
    没公司会要暑假实习的
    angryfish
        39
    angryfish  
       249 天前   ❤️ 1
    楼主还是学了挺多东西的,感觉楼主还是对技术挺感兴趣的。给点小建议把:
    1.c++还是放弃吧,要想做 c++方面的工作机会很少。
    2.面试八股对于找工作的人是八股,对于在大学的你,我觉得可以真正的深入源码,深入原理,多做实验,理解那些东西,而不是什么简单的背八股。
    3.如果学习了操作系统,计算机组成原理,汇编语言,c 语言,下个项目可以做做 ucore 。如果只学了数据结构和 c 语言可以看看 Redis 源码,做个 kv 数据库也是可以。
    4.平时无聊可以多做做算法,数据结构方面的题目,直接网页写,别在 ide 写好再复制到网页。(为了工作没办法)
    xiaoniao886n
        40
    xiaoniao886n  
       249 天前
    准备考公务员吧 it 已经是夕阳行业了 不是一条好的赛道
    yangzhezjgs
        41
    yangzhezjgs  
       249 天前   ❤️ 1
    推荐一下这本,最近出的新书,挺不错的 https://book.douban.com/subject/36757931/
    webassembly
        42
    webassembly  
       249 天前   ❤️ 1
    8.624 吧, 顺便学下 go ,未来去腾讯字节大概率写 go
    Promtheus
        43
    Promtheus  
       249 天前   ❤️ 2
    那些无脑推荐考公考研的,感觉好像没有自己思维的互联网自动回复机一样。
    Yc1992
        44
    Yc1992  
       249 天前   ❤️ 1
    学英语 搞 ACM 足够了 上层技术就业现学就行
    aa514758835
        45
    aa514758835  
       249 天前   ❤️ 1
    哈哈,跟我一起转行做游戏把~~~~
    chesha1
        46
    chesha1  
       249 天前   ❤️ 1
    拿 webserver 投实习的话,不一定够,不知道你是不是用 epoll 写的 webserver ,可以往 io_uring ,DPDK 这方面加强一下

    下一步可以考虑一下 6.824 15445 ,或者写个 rpc
    lesismal
        47
    lesismal  
       249 天前   ❤️ 1
    如果不考研,并且想坚持 c++,从赚钱、找工作的角度讲,找量化的吧。
    除了量化基础待遇和天花板都比较高,其他领域基本没有了。做游戏发财都是靠运气、项目牛逼、你积累到牛逼的技术并且职位级别够高才行,游戏行业技术难度大、相对于 IT 互联网那些基础待遇太低了。其他领域的,c++往深入做的主要是嵌入式、图形学、数据库、算法之类的,也都是需要积累多年才能精深,基础待遇也都不高。例如老罗当年做锤子手机号称年薪百万招技术总监,软硬件嵌入式多年的高水平的人才行,然而年薪百万跟 IT 互联网领域比起来、不过相当于当年阿里的水货专家 P7 的工资水平,实在是不挣钱。

    如果不坚持 c++,就 go+rust 吧,学 c++比它俩费劲多了,既然 OP 大二就能能把 c++玩得比较明白了想必天资还是很不错的,应该是高考没发挥好、或者高中没好好学习到了大学才开始发奋图强、否则不应该只是 211 ,如果是这样,随便花点功夫把 go+rust 双休了。

    别听楼上那些人乱说什么找不到工作之类的,应届生找不到工作那都是对于弱者而言的,那些不学习打游戏浪费青春的找不到工作很正常。
    至少大学、应届毕业前几年,强者靠自己的逻辑钻技术就能够很可以了。
    baolongqishi
        48
    baolongqishi  
       249 天前   ❤️ 1
    我觉得你的下一个项目可以做操作系统,如果没学过操作系统对系统调用、线程、锁等的理解会不够,不利于开展其他项目
    jimrok
        49
    jimrok  
       249 天前   ❤️ 1
    参考陆奇的演讲,AI 的演化应该是三个阶段,第一阶段是模型,模型开始烂大街的时候,就进入二阶段,二阶段是只能和自动化结合,c++的用处我想将来还是写机器的控制单元,暴露好接口后,AI 对接上。可以顺着这个思路去看看。
    RanShunliu
        50
    RanShunliu  
    OP
       248 天前
    @taogen 六级刚过了,雅思什么挺多同学考了,好一点的 7.5 ,差一点的 6.5 ,,,学雅思进外企吗
    RanShunliu
        51
    RanShunliu  
    OP
       248 天前
    @iyear 对的,打算拿 webserver 巩固下基础,不能继续花时间了,八股收尾,手撕下线程池,单例,就撤了
    RanShunliu
        52
    RanShunliu  
    OP
       248 天前
    @Biggoldfish 感谢,回头去看看是否够得上
    RanShunliu
        53
    RanShunliu  
    OP
       248 天前
    @SephirothD 牛客现在全是这种的,有的大一 408 学完,Java 框架基本学了,微服务也学了,也跟着做完了三四个项目,真的太离谱了
    RanShunliu
        54
    RanShunliu  
    OP
       248 天前
    @SephirothD 感谢,大二先投一些简历试试,积累下面试技巧和经验,大三再正式来。。Google 是需要雅思托福成绩吗,其实可以去考,但是感觉难度太大了,国内大厂感觉希望也不大,能有个可以持续学习的中小厂就够了
    RanShunliu
        55
    RanShunliu  
    OP
       248 天前
    @angryfish 感谢前辈指点!总结如下:
    1 )不能操之过急,先打好基础,太早开始背八股,根基不稳
    2 )多做实验,去理解,能自己手撕部分源码
    3 ) ucore 有 V 站老哥推荐过,其他学长或者群友推荐的是 6.824 分布式或者 kv ,就这三个项目比较有价值
    4 )写代码少用 idea 还有 copilot ,多自己手撕
    RanShunliu
        56
    RanShunliu  
    OP
       248 天前
    @yangzhezjgs 谢谢你,看了下目录,Linux 是 C++或者 C 系语言,必须要学的吗
    RanShunliu
        57
    RanShunliu  
    OP
       248 天前
    @Yc1992 ACM 没有那个能力,他们很多都是大一大二期间拿到牌子,至少区铜,然后大三大四专攻项目,,英语的话 CET6 刚过了,不知道有没有考雅思的必要,但是不想 run 的话嘞,去外企吗...
    yangzhezjgs
        58
    yangzhezjgs  
       248 天前   ❤️ 1
    @RanShunliu 想做后端 Linux 是必学的,现在服务器都是 Linux
    RanShunliu
        59
    RanShunliu  
    OP
       248 天前
    @lesismal 谢谢你,其实没有那个天分😂,目标没有那么远大,现在能达到部分优秀学长的水平就很满足了。谢谢,没有你描述的那么厉害哈哈。那还是有点信心了,很多直系学长也是这样说的,( 21~24 届的),有些代码量很少,大学四年混过去的,也找到了还行的工作,但是,每一届转行的超过半数也是事实😔
    RanShunliu
        60
    RanShunliu  
    OP
       248 天前
    @baolongqishi 谢谢建议,不少人也是推荐做下 ucore ,虽然难度较大
    RanShunliu
        61
    RanShunliu  
    OP
       248 天前
    @yangzhezjgs 但是请教了很多人,特别是一些用 websever 投简历,或者一开始想用 C++投服务器 / 后端的,都不建议,C++后端/服务器岗位为 0 ,,,BOSS 上搜 c++,只有 1 )云厂商中间件 2 )量化交易底层 3 )传统企业系统维护 4 )芯片或新能源(但是芯片最近也慢慢不行了好像)
    yangzhezjgs
        62
    yangzhezjgs  
       248 天前   ❤️ 1
    @RanShunliu 没毛病,C++后端目前还有优势的领域集中在要求低时延高性能的场景,目前需求集中在这几种领域:1.搜广推工程/深度学习相关的算法工程(推理训练)/高性能计算 2.实时通信:音视频/rtc/IM 系统/金融交易/游戏服务端 3.基础架构:网络/存储/数据库/操作系统
    其他方向:桌面端 QT/嵌入式/工业软件/游戏客户端
    想做普通业务开发优先选 golang/java ,C++更适合想深入上面某个领域的人
    RanShunliu
        63
    RanShunliu  
    OP
       248 天前
    @yangzhezjgs 感谢前辈解答ヽ(✿゚▽゚)ノ
    RanShunliu
        64
    RanShunliu  
    OP
       248 天前
    @chesha1 前辈,webserver 加个协程库可以吗,协程据说 C++21 还是 23 会有稳定版,打算自己跟个 Github 的,C++14 写的协程库可以吗
    baolongqishi
        65
    baolongqishi  
       248 天前   ❤️ 1
    @RanShunliu #60 或许你可以试下 rcore ,我做过,感觉学习需要的资料是很全的
    chesha1
        66
    chesha1  
       248 天前   ❤️ 1
    @RanShunliu 可以啊,但是我建议直接用 C++20 语言自带的协程,如果你要加协程,有一些 io_uring 配合协程的 webserver ,github 上可以搜一下。不过这么写参考资料比较少,C++14/17 的协程库,资料比较多
    Yc1992
        67
    Yc1992  
       247 天前   ❤️ 1
    @RanShunliu #57 英语 数学 ACM 这三个决定了你未来的高度 不拿牌也没事 多刷题

    什么技术啊项目啊之类的真没多重要 35 岁 10 年+技术项目经验的一抓一大把 还不是一样失业
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4669 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 09:48 · PVG 17:48 · LAX 01:48 · JFK 04:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.