秋招无望,五个C++项目助你上岸(可以写进简历)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 秋招无望,五个C++项目助你上岸(可以写进简历)

今年应届生找工作找到崩溃,毕业那会儿一度找工作找到半夜醒来还要刷刷BOSS直聘,但现在回头看,其实很多焦虑都源于不了解,不了解市场,不了解行业,不了解岗位,对自己的评估也不准确。而且因为焦虑点得不到解决,就会越来越悲观,越来越焦虑。

一、秋招市场

今年秋招市场竞争激烈,由于全球经济形势不稳定和新冠疫情的影响,许多行业都面临一定的挑战。一些行业可能出现岗位减少或冻结的情况,而某些新兴领域如人工智能、大数据、云计算等依然具有较高需求。同时,灵活就业模式如远程工作也得到更多关注。对于应聘者来说,除了扎实的专业知识和技能外,提升综合素质和适应能力也尤为重要。

1.1裁员的一年

从今年上半年大家可以看到,无论是中小工厂还是一线互联网厂商都在裁员。当然,对于有校招 buff 的大一新生来说,这种感觉不是很强烈。但是,如果校招没有拿到 offer,最后我们只能以社会招聘的身份去应聘,我们初出茅庐的资历会更加残酷,所以一定要利用好我们的校招应届毕业生。

一代版本一代神,最近几年的高薪职业,程序员算得上翘楚了!从机械制造、土木工程、金融到如今的计算机,专业的火热、就业的薪资一直是跟着社会发展需求走的,如今的互联网、物联网时代造就了一批刚毕业就基本财务自由的年轻人,但是内卷毕竟无处不在,互联网寒冬来没来不知道,但是高薪和疯狂裁员这两个极端还是同时出现了!

不过随着疫情以及从业人数越来越多,这些互联网的香饽饽们也受到了不小的冲击;Layoffs.fyi数据显示,仅2023 年初以来,全球科技行业已经有超过 12 万名员工被裁。

640.png


添加图片注释,不超过 140 字(可选)


454家科技公司,去年共有 1024 家科技公司裁员 154336 人(只是该数据网站统计的来看),目前一个季度不到就快赶上去年一年的数量了!虽然不少企业依然是一边招人、一边给着高薪!


640.png

添加图片注释,不超过 140 字(可选)


比如 Zoom ,疫情期间的各种会议让这个企业火了起来,创始人带头降薪 98%,核心高管将降薪 20%,和最巅峰的价值比蒸发了近 8000 亿元;目前裁员 1300 人,在员工总人数中占比 15%;

《中国人口普查年鉴-2020》科技行业里,35岁以下从业人员占比达到了64.6%,其中细分行业互联网和相关服务有70.4%,看来网传的那局35岁就走人也不是空谈啊!这些大厂管理岗位少,级别晋升缓慢,老员工不能在级别晋升中与年轻人们拉开差距,而熬年限带来的调薪、休假等福利都比年轻人好,那老员工比新招年轻人付出更多成本,所以被裁员看起来也是必然的了!

其实并不只有互联网行业,才会对年龄有这样的限制,只不过是这个行业,因为收入太高,所以才会被关注的更多。最近连续几年数据高涨的毕业生人数,以及35岁以上大龄人员的留任问题其实都很现实,毕竟工作岗位就那么多,大家觉得给谁合适呢?

2.2面试环境

今年特别能感觉到,岗位比以前减少了。除了 985/211 和卷王,想要体验一个人 10offer 的快乐,并不是那么容易。现在背完八股文,原理分析可能需要为场景实现做更充分的准备,以备竞争加剧。

二、面试准备

2.1招聘信息来源获取

秋季招聘第一步,首先要了解公司的招聘时间。可能有些大学会在开学后举办校内企业宣讲会,但这并不适用于所有大学,所以一定要提前了解企业的招聘时间和地点。对于大部分已经有目标企业的同学来说,关注相应的官网就足够了。想海投的同学就可以选择牛客网或者一些做校招时间整理的公众号,都能都获取其中信息。

整体的招聘节奏:

  • 提前批(适合十分优秀的应届生)
  • 秋招(岗位最多,拿 offer 的黄金期)
  • 秋招补录(存在秋招钻空子的可能)
  • 春招(岗位少,应聘同学中不乏考研失败的同学)
  • 春招补录(岗位极少)

2.2简历准备

当我们知道招聘时间后,我们就会开始准备自己提交的简历。很多同学认为简历没那么重要。毕竟面试的时候会有一对一的输出时间,可以显示他们的技术实力。但实际上,作为学校招生,简历往往能显示出你的逻辑能力和学习习惯。

简历必备四要素:

  • 个人简介
  • 专业技能
  • 项目经历
  • 自我评价

a.个人简介

主要包含基本信息,教学背景、获得荣誉三项,描述简单明了。不要去描述你的爱好特长。

b.专业技能

什么是不好的技能描述?

没有具体描述掌握技能,而是使用了技能和能力的各种形容词。(丰富,不错)这种技能描述其实会显得很空洞,面试官看到后不知道从哪里问你更具体的内容。所以有时候就会导致你写的很泛,面试官问的也很泛,更会触及到你的知识盲区,加速面试的结束时间。

c.项目经历

对于校招生而言,对于项目往往是比较头大的。一部分学校跑的项目很老很小,很多时候和岗位对接的方向关连并不大,其次就是在实习中接触的项目,自己能够了解的不多,不成体系。所以在项目描述这一块都是虚实交互,整个项目描述的很大,而并不对自己参与部分做详细阐述。这样的意义并不大。

为什么需要在简历中要有项目经历这一块,其核心不是去看你做的项目有多大,而是去看你在团队协作中有没有去体现你的价值,遇到的问题,有没有通过自己的研究去解决,看你的解决问题能力。

d.自我评价

自我评价的结果是一定要有展现量的。比如说:我是一个和善,善于沟通表达,努力上进的人。如何去体现?

换一种方式:

  • 我对于技术比较爱钻研,读书期间看过 nginx 源码,redis 源码,Linux 内核等等
  • 我善于总结与归纳,之前讲自己学过的技术内容,四年时间在某某平台上整理了 2000+的技术博客。

既能体现出你的个性方面的特色,又能有成果数据给到面试官,这样无疑是加分的。

三、书写简历项目

四、技术提升

1.c/c++Linux 服务器开发不同于 Java,没有固定的业务流程和技术方向。在 Linux 下的服务器端开发,大家可以选择的就业方向一样有很多,没有模板可言。所以构建一个全面的技术体系就显得尤为重要。

2.针对于刚毕业以及工作 1-3 年的工程师而言,在这样一个年限下,靠自己去梳理出完善的技术体系,难度非常大,如果有这样一个学习路径,能够更快更全面的帮助工程师去构建自己的技术体系。

这里的话推荐一个腾讯课堂零声教育的 C/C++Linux 服务器高级架构师的课程,到 2023目前已经迭代到13代了。每一期都有做一定的更新教学。

适宜的工程师人群(共分为8大群体)

  • 1.从事业务开发多年,对底层原理理解不够深入的在职工程师
  • 2.从事嵌入式方向开发,想转入互联网开发的在职工程师
  • 3. 从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师
  • 4.从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师
  • 5.工作中技术没有挑战,工作中接触不到新技术的在职工程师
  • 6.自己研究学习速度较慢,不能系统构建知识体系的开发人员
  • 7.了解很多技术名词,但是深入细问又不理解的工程师
  • 8.计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c++基础)
  • 配套书籍资料
  • 1. MySQL: 《高性能MySQL 第3版》
  • 2. Nginx: 《深入理解Nginx: 模块开发与架构分析(第2版)》(陶辉)
  • 3. Redis: Redis设计与实现 (黄健宏)
  • 4. Linux内核: 《深入理解Linux内核架构》 (郭旭 译)
  • 5. 数据结构与算法:《算法导论》(第3版)
  • 6.性能分析:《性能之巅洞悉系统、企业与云计算》
  • 7. MongoDB: 《MongoDB权威指南》
  • 8. Ceph: 《Ceph分布式存储学习指南》 (Ceph中国社区)
  • 9. Docker: 《Docker容器 与容器云(第2版)》
  • 10. TCP/IP: 《Tcp/Ip详解卷一卷二卷三》
  • 11. Linux系统编程: 《Unix环境高级编程》
  • 12. 计算机: 《深入理解计算机系统》
  • 13. DPDK: 《深入浅出DPDK》
  • 14. k8s: 《Kubernates权威指南》 龚正等编著
  • 15. bpf: 《BPF之巅洞悉Linux系统和应用性能》

课程优势:

  • 1.简历梳理技术点凸显项目技术梳理
  • 2.模拟面试技术表述
  • 3.薪资谈判福利争取
  • 4.offer 选择职业规划技术前景

640.png

c/c++Linux 后台开发技术学习路线图

640.jpg

1.精进基石

①数据结构与算法
红黑树(应用场景、进程调度cfs、内存管理、左旋与右旋等)
B树和B+树(定义证明、插入、删除、遍历、查找、指针等)
Hash与BloomFilter,bitmap(函数实现、应用场景、布隆过滤器等)
②设计模式
创建型设计模式(单例、策略、观察者、原型等设计模式)
结构型设计模式(适配器、代理、责任链、状态桥接、组合模式)
③c++新特性
stl容器,智能指针,正则表达式
新特性的线程、进程、原子操作、lamda表达式
④Linux工程管理
Makefile/cmake/configure(工作ipcs原理、文件编译、cmake的写法等)
分布式版本控制git(工作流程、分支管理、服务器搭建等)
Linux系统运行时参数命令(ipcs、uptime、iostat、sar、mpstat等)

2.高性能网络设计

①异步网络库zvnet
网络io与io多路复用epoll,kqueue(项目)
事件驱动reactor的原理与实现(项目)
http服务器的实现(项目)
②网络原理
服务器百万并发实现(实操)
redis,memcached,nginx网络组件(理论)
posix API与网络协议栈(理论)
UDP的可靠传输协议QUIC(项目)
③协程框架NtyCo的实现
协程设计原理与汇编实现(项目)
协程调度器实现与性能测试(项目)
④基于dpdk的用户态协议栈的实现
用户态协议栈设计实现(项目)
应用层posix api的具体实现(项目)
手把手设计实现epoll(项目)
⑤高性能异步io机制 io_uring
与epoll媲美的io_uring(项目)
io_uring的使用场景(理论)

3.基础组件设计

①池式组件
手写线程池与性能分析(项目)
内存池的实现与场景分析(项目)
MySQL连接池的实现(项目)
②高性能组件
原子操作CAS与锁实现(项目)
无锁消息队列实现RingBuffer(项目)
定时器方案红黑树,时间轮,最小堆(项目)
手写死锁检测组件(项目)
手写内存泄漏检测组件(项目)
手把手实现分布式锁(项目)
③开源组件
异步日志方案log4cpp(项目)
应用层协议设计ProtoBuf/Thrift(项目)

4.中间件开发

①redis
redis相关命令详解及其原理
redis协议与异步方式
存储原理与数据模型
主从同步与对象模型
②MySQL
SQL语句,索引,视图,存储过程,触发器
MySQL索引原理以及SQL优化
MySQL事务原理分析
MySQL缓存策略
③Kafka
Kafka使用场景与设计原理
Kafka存储机制
④微服务之间通信基石gRPC
gRPC的内部组件关联
基础http2的gRPC通信协议
⑤nginx
nginx反向代理与系统参数配置conf原理(实操)
nginx过滤器模块实现(项目)
nginx handler模块实现(项目)

5.开源框架

①游戏服务器开发skynet
sky net设计原理
sky net网络层封装以及lua/c接口编程
sky net重要组件以及手撕游戏项目
②分布式API网关
高性能web网关 Openresty
Kong动态负载均衡与服务发现
③高性能存储spdk的文件系统实现(项目)
spdk的工作原理与文件系统架构分析
文件系统的posix api实现
文件系统的性能测试
④高性能计算CUDA
gpu并行计算cuda的开发流程
音视频编解码中的并行计算
⑤并行计算与异步网络引擎workflow
workflow的应用场景
workflow的组件实现
⑥物联网通信协议mqtt的实现框架mosquitto
mqtt的高效使用场景
mqtt的broker

6.云原生

①docker
docker风光下的内核功能
docker容器管理与镜像操作
docker网络管理(项目)
docker云与容器编排(项目)
②kubernetes
k8s环境搭建
pod与service的用法
k8s集群管理(项目)
k8s二次开发与k8s API(项目)

7.性能分析

①性能与测试工具
测试框架gtest以及内存泄漏检测
性能工具与性能分析
火焰图的生成原理与构建方式
②观测技术bpf与ebpf
内核bpf的实现原理
bpf对内核功能的观测
③内核源码机制
进程调度机制
内核内存管理运行机制
文件系统组件

8.分布式架构

①分布式数据库
kv存储rocksDB的使用场景
TIDB存储引擎的原理
TIDB集群方案与replication原理
②分布式文件系统
内核级支持的分布式存储Ceph
分布式ceph存储集群部署
③分布式协同
注册服务中心Etcd
协同时间 用户态文件系统 fuse(项目)
快播核心技术揭秘 P2P框架的实现

四、项目实操

1.dkvstore实现
KV存储的架构设计
网络同步与事务序列化
KV存储的性能测试
2.图床共享云存储
fastdfs架构分析和配置
文件传输和接口设计
产品上云公网发布/测试用例
3.微服务即时通讯
IM即时通讯项目框架分析和部署
IM消息服务器/文件传输服务器
消息服务器/路由服务器
数据库代理服务器设计
文件服务器和docker部署
产品上云公网发布/公网测试上线

项目这一个板块是由零声的讲师所总结的,自己在学习的课程中可以结合上述的详细技术细节点与自己过往工作的项目经验相结合学习提升。

往期学员学习过程的心得总结:

1.学习要有主动性。无论是开始的自学,还是后面的培训学习,学习的主观能动性一定要有,特别是报班学习之后,不要觉得万事有老师,外部的辅导条件能够让你有更好的学习效率和氛围,但是最终需要掌握技能的还是你自己的,所以学习的过程不要懈怠。

2.学完技术内容之后,要形成自己的技术栈体系。我在学完之后,就根据我自己的技术内容花了三天时间整理一份 c/c++后端开发需要掌握的技术体系路线图,来帮助自己梳理自己所学的技术点。

3.善于总结自己的学习过程。每当自己学完一个小块的知识点之后,最好是将自己对它的理解整理成博客文章,这样既能自我梳理自己的学习成果,又能作为自己在面试工作时向面试官展现的一个亮点。

4.一定要复盘自己的面试过程。在我学习之后的面试过程,并不是一帆风顺。但是我在老师的建议下,不管成功的还是失败的面试过程,场场复盘!找出自己回答的不好的地方做备注修改,这样一次次下来,对于面试,我也是越来越胸有成竹。

5.学习方式,不管黑猫白猫,抓住老鼠的就是好猫。对于也想从事或是转行到 c/c++后端开发岗的兄弟,如果考虑报班培训的话,可以推荐大家了解一下我之前学习过的课程,整个课程体系对标的是腾讯的 T9 级别。

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
2月前
|
编译器 C++ 开发者
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
【Conan 入门教程 】使用Conan 2.X和Autotools高效构建C/C++项目
78 1
|
2月前
|
算法 测试技术 数据处理
【C/C++ 面试技巧】如何在简单的项目里突出自己的价值?
【C/C++ 面试技巧】如何在简单的项目里突出自己的价值?
50 1
|
21天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
43 6
|
4天前
|
C++
C++入门项目——通讯管理系统
C++入门项目——通讯管理系统
|
8天前
|
设计模式 存储 算法
C++从入门到精通:3.7阅读和理解开源项目——在实际项目中应用C++编程技巧和规范
C++从入门到精通:3.7阅读和理解开源项目——在实际项目中应用C++编程技巧和规范
|
1月前
C/C++test两步完成CMake项目静态分析
通过将C/C++test集成到CMake项目中,并根据项目的需要进行配置,可以在两步内完成CMake项目的静态分析。这样可以帮助开发人员及时发现并修复潜在的代码问题,提高代码质量和可靠性。
8 0
|
2月前
|
算法 测试技术 数据处理
【C++ 设计思路】优化C++项目:高效解耦库接口的实战指南
【C++ 设计思路】优化C++项目:高效解耦库接口的实战指南
75 5
|
1天前
|
编译器 C++
【C++】一文全解四种经典 [ 特殊类 ]的设计
【C++】一文全解四种经典 [ 特殊类 ]的设计
|
1天前
|
编译器 C语言 C++
c++初阶------类和对象(六大默认构造函数的揭破)-3
c++初阶------类和对象(六大默认构造函数的揭破)
|
1天前
|
编译器 C语言 C++
c++初阶------类和对象(六大默认构造函数的揭破)-2
c++初阶------类和对象(六大默认构造函数的揭破)