中山大集成电路研二想转 Linux C++ 进大厂,投近百份实习无果,如何优化项目和技能?
今天给大家分享的是一位粉丝的提问,中山大集成电路研二想转 Linux C++ 进大厂,投近百份实习无果,如何优化项目和技能?
接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。
同学提问:
yt哥你好,我目前是中山大学集成电路专业研二,课题项目是器件工艺相关的,就业困难,所以想转Linux C++方向进大厂,自学了C++,数据结构,计算机网络,操作系统,也跟着网上课程做过一个Linux平台的webserver,对C++网络编程有一些了解,半年前做过三个月的软件开发实习,工作内容是给公司自研内核的算法做性能测试,主要就是写些脚本,处理一些数据。我的目标是进大厂做网络后端相关的一些岗位。这两周在投一些后端开发的日常实习,为此我还学了go,了解了gin和gorm框架,但是投了联系了近100个还是没有一个面试。我看了yt哥您的分析,感觉我的项目和经历只是造轮子和使用开源库,更偏向于业务,没有具体解决什么问题。请问我接下来需要学什么内容,做什么项目才能在暑假拿到一份中大厂实习,秋招进大厂。
Yt回答:
这个学习经历整个来说,这是典型自学所造就出来的,都是一种学习的氛围。我们可以看到前面首先作为一个中山大学的集成电路专业的研二,中上的985,再加上一个计算机相关的专业,虽说叫做器件工艺相关的,但是请注意这一个走纯软它也是有机会的,就等同于它跟机械一样。但是请注意,它绝对是具备有能够去转码的,并且能具备一个大厂资格的。但是你会发现他后面学就学的什么?自学的C++数据结构、计网、操作系统,以及跟着网上做了一个Linux系统上面的webserver以及加上对C++网络有一些了解,然后半年前三个月有过一段实习,这一个实习我们先不讲,前面这是典型的自学啊,学完C++之后学数据结构,学完数据结构学计算机网络,学完计算机网络再学操作系统,学完操作系统之后然后再跟着网上课程再做一个webserver,你这个路线你也这么学,别人也这么学,其实来说包括现在面你的面试官,曾经他也是这么学的。你就发现整体上面来说,你没有自己的东西,如果你这一套学完之后,你会发现整体上面你是很难融入一些自己的,叫做创新,这种创新的东西它是不存在的,更别说你能够拿它去解决具体问题,它更难。只是说你学仅仅是为了而学,你不知道为什么学他的意义在哪你也不知道,学完之后你只知道我学了很多东西,但这个东西它到底有没有用,我不知道。
半年前做过三个月的软件实习,就是已经有一段实习经历了。这家公司没有讲,但是公司做的是自研的内核算法,做的性能测试。请注意我是认为这家公司能够自研内核的,这种岗位来说,我认为这家公司应该不会太小,至少来说在所处的行业里面应该还是有一定知名度的。接下来就是这两周投了一些日常的后端实习,为此我还学了go以及gin以及gorm的框架,没有一个面试机会。你有没有怀疑过你自己学的这个姿势有点问题,你现在可以结合这个时间,你可以把这个项目再做长久一点,能不能把这个项目做到上线,你能用别人也能用。就是你如果找C/C++啊,但是我认为这个webserver这个你就不要写了,以及你比如学过你能做过,做一些什么东西,做一些能够去解决具体问题的东西。举个例子啊,你就比如说你们寝室做一个这种问卷调查,这个也行,去统计你们现在比如中山大学,你们专业研二的后面决定就业去向的,现在做这样一个问卷调查,你提出来这个也行,它是能够解决具体问题,至少你在这方面你知道我如何运用技术解决具体问题。因为我在统计的过程,我后面会有个结论出来,这个也是。但是如果你单纯的就是为了学,你会学一大堆的技术点,并且你可能不知道如何去解决具体问题。
我认为你是具备一个大厂的门槛的,自学的过程中间肯定会走向这条路,就是学了很多的知识点,后面投递的时候都出现一个现象,投完之后发现没有面试机会,因为你的简历没有太多的特色,我可以跟你讲,如果你选择C/C++,给你推荐几个技术词,写在简历面会好一点。第一个呢你可以了解一下DBDK、VPP、OVS,以及包括在存储方面的SPDK以及ceph或者RockDB、LevelDB。音视频呢你可以了解这些,包括ffmpeg、WebRTC以及包括SRS这种方案,这个是可以的。乃至包括这种内核相关的,比如这种exist4、VFS,包括这种BPF、EBPF这些的,包括什么netfilter这种都是可以写到简历里面的。如果你要找C/C++的,请注意这个方向加上你的学历好,再加上你的技术有特色,这种你会面试机会多很多。至少说你做过这个东西,简历里面也有做过的东西。你后面如果这些对应的企业用的也是对应的技术体系,肯定你就会有面试机会。但是如果你就按照这个方式,简历里面没有特色。我看了一下整个简历里面的内容啊,这种词汇QT、opencv没有其他的词汇,包括是什么redis、MySQL、probtobuf,然后再加上openssl,整体这个词汇你发现它很通用,就是它不是一个方案,它是一个库,它不是一个能够做产品的基础框架,它是一个库,库怎么理解呢?就是它不隶属于任何一个行业,就是所有的行业都可以用它。你比如说像这种redis、MySQL,包括openssl,这种典型的就是所有的行业都可以用它,它是一个基础可用的东西。但你比如说像这种SPDK包括ceph。RockDB,它就是做存储的,你可以在简历面去体现它,这样就使得你技术会有一定的特色,这就跟你讲这么多吧。
总结:
1. 学历优势但项目太水
- 985硕士是入场券:中山大学+集成电路专业够进大厂简历关,但你的项目太"烂大街"。比如那个Linux webserver,去年某同学用同样项目投了60家公司才勉强拿到1个面试 。
- 实习经历要深挖:别光写"写脚本测性能",要包装成"优化自研内核调度算法,降低30%内存碎片"(用STAR法则量化成果)
2. 技术栈没特色
- C++后端核心三件套:必须精通DPDK网络加速(网络字节序优化)、SPDK存储方案、LevelDB/RocksDB数据库引擎。
3. 项目改造指南
- 扔掉webserver:大厂面试官看腻了这种玩具项目,建议改造成: "基于eBPF实现容器网络流量监控""用C++20协程重构公司调度算法"(结合现有实习经历)
- 数据说话:比如在项目描述里写"通过无锁队列优化,单机吞吐量从5k QPS提升至12k"。
4. 简历避坑指南
- 技术栈写法: 错误示范:"熟悉C++、MySQL、Redis"正确示范:"掌握C++20协程实现高并发调度 | 基于SPDK优化NVMe存储性能 | 使用eBPF跟踪容器网络时延"
- 项目排序:把最硬核的放第一栏
你光学这些技术点没用,你得学会并且实际应用出来解决一些问题,比如你有自己的代码作品,或者你很熟悉某些来源代码,你解决过什么实际应用的问题。要给让自己的技术水平有属于自己特色的部分,不要太宽泛的什么都拿出来说自己学了。
附:Linuxc/c++高级全栈开发等25最新学习路线:
计算机相关专业就业求职学习路线/offer选择/职业规划建议
工种浩:程序员yt (学习就业困惑?我们来为你答疑解惑!)免费投稿 投稿必回
#职业规划##计算机#解决计算机相关专业就业/面试/技术提升等问题解答(投稿必回)