备战23春招/金三银四,c/c++Linux后端开发岗(简历/技术面)分享
前言
23春招/金三银四已经开始!本文会从四个方面,和大家一起探讨关于软件开发岗位该如何准备及拿到更多的offer。
1.市场环境
2.面试准备
3.技术提升
一、市场环境
1.裁员的一年
从今年上半年的大家都可以看到,无论是中小厂还是一线的互联网大厂,通通都在裁员。当然对于拥有校招buff的应届生而言,感受还并未很强烈。但是如果校招并未获取offer,最后只能以社招的资格应聘时,我们初出茅庐的资历就更显的残酷,所以一定要利用好自己的校招应届生身份。
2.面试环境
今年可以尤为感受到,岗位对比之前是有减少的。除了985/211及卷王外,想体验一人10+offer的快乐,就不会那么容易了。现在熟背八股文之余,对于场景实现,原理分析可能需要准备的更加充分,以备竞争加剧。
二、面试准备
1.招聘信息来源获取
秋招的第一步,你首先要知道公司的招聘时间点。可能部分大学在开学后会有校内的企业宣讲会,但这并不适用于所有大学,所以我们一定要提前知道企业的招聘时间与地点。对于大多已经有目标企业的同学来说,关注对应的官网其实就已足够。想海投的同学就可以选择牛客网或者一些做校招时间整理的公众号,都能都获取其中信息。
整体的招聘节奏:
提前批(适合十分优秀的应届生)
秋招(岗位最多,拿offer的黄金期)
秋招补录(存在秋招钻空子的可能)
春招(岗位少,应聘同学中不乏考研失败的同学)
春招补录(岗位极少)
2.简历准备
当我们知晓招聘时间之后,就要着手准备自己投递的简历了。很多同学觉得简历没那么重要,毕竟面试时会有1对1的输出时间,可以展现自己的技术实力。但其实做为一个校招生而言,简历很多时候也能展现出你的逻辑能力和学习习惯。
简历必备四要素:
个人简介
专业技能
项目经历
自我评价
a.个人简介
主要包含基本信息,教学背景、获得荣誉三项,描述简单明了。不要去描述你的爱好特长。

推荐格式↓:

b.专业技能
什么是不好的技能描述?

没有对掌握技能进行较为具体的描述,而采用各种对技能能力的形容词。(丰富的,良好的)这样的技能描述其实会显得很空洞,面试官看到之后也不知从何下嘴去问你更为具体的内容。所以有时候就会导致你写的很泛,面试官问的也很泛,更会触及到你的知识盲区,加速面试的结束时间。
这里分享四份拿到腾讯c++后台开发offer的简历,其中关于专业技能描述的部分:
c.项目经历
对于校招生而言,对于项目往往是比较头大的。一部分学校跑的项目很老很小,很多时候和岗位对接的方向关连并不大,其次就是在实习中接触的项目,自己能够了解的不多,不成体系。所以在项目描述这一块都是虚实交互,整个项目描述的很大,而并不对自己参与部分做详细阐述。这样的意义并不大。
为什么需要在简历中要有项目经历这一块,其核心不是去看你做的项目有多大,而是去看你在团队协作中有没有去体现你的价值,遇到的问题,有没有通过自己的研究去解决,看你的解决问题能力。
d.自我评价
自我评价的结果是一定要有展现量的。比如说:我是一个和善,善于沟通表达,努力上进的人。如何去体现?
换一种方式:
我对于技术比较爱钻研,读书期间看过nginx源码,redis源码,Linux内核等等
我善于总结与归纳,之前讲自己学过的技术内容,四年时间在某某平台上整理了2000+的技术博客。
既能体现出你的个性方面的特色,又能有成果数据给到面试官,这样无疑是加分的。
关于简历书写,面试准备还需要加强了解和突破的同学,建议你可以去看看零声的秋招春招提前批大厂面试指导 简历梳理 offer选择 技术方向指导教程 ,原价199。
加Q群:762073882 备注【秋招+技术方向(如:秋招c++)】免费领取
三、技术提升
1.c/c++Linux服务器开发不同于Java,没有固定的业务流程和技术方向。在Linux下的服务器端开发,大家可以选择的就业方向一样有很多,没有模板可言。所以构建一个全面的技术体系就显得尤为重要。
2.针对于刚毕业以及工作1-3年的工程师而言,在这样一个年限下,靠自己去梳理出完善的技术体系,难度非常大,如果有这样一个学习路径,能够更快更全面的帮助工程师去构建自己的技术体系。
c/c++Linux服务器开发技术学习路径
一、精进基石
1.数据结构与算法
随处可见的红黑树
磁盘存储链式的B树与B+树
海量数据去重的Hash与BloomFilter,bitmap
2.设计模式
创建型设计模式
结构型设计模式
3.c++新特性
stl容器,智能指针,正则表达式
新特性的线程,协程,原子操作,lamda表达式
4.Linux工程管理
Makefile/cmake/configure
分布式版本控制git
Linux系统运行时参数命令
二、高性能网络设计
1.网络编程
网络IO与select,poll,epoll
reactor的原理与实现
http/https服务器的实现
websocket协议与服务器实现
2.网络原理
服务器百万并发实现
redis,memcached,nginx网络组件
Posix API与网络协议栈
UDP的可靠传输协议QUIC
3.协程框架NtyCo的实现
协程设计原理与汇编实现
协程调度器实现与性能测试
4.用户态协议栈NtyTcp的实现
用户态协议栈设计实现
tcp/ip定时器与滑动窗口
手把手设计实现epoll
5.高性能异步io机制io_uring
与epoll媲美的io_uring
io_uring的使用场景
三、基础组件设计
1.池式组件
手写线程池与性能分析
内存池的实现与场景分析
异步请求池的实现
mysql连接池的实现
2.高性能组件
原子操作CAS与锁实现
无锁消息队列实现RingBuffer
定时器方案红黑树,时间轮,最小堆
手写死锁检测组件
手写内存泄漏检测组件
手把手实现分布式锁
3.开源组件
Libevent/Libev框架实战的那些坑
异步日志方案log4cpp
应用层协议设计ProtoBuf/Thrift
四、中间件开发
1.redis
redis相关命令详解及其原理
redis协议与异步方式
存储原理与数据模型
主从同步与对象模型
2.MySQL
SQL语句,索引,视图,存储过程,触发器
MySQL索引原理以及SQL优化
MySQL事务原理分析
MySQL缓存策略
3.Kafka
Kafka使用场景与设计原理
Kafka存储机制
4.gRPC
gRPC的内部组件关联
基于http2的gRPC通信协议
5.nginx
nginx反向代理与系统参数配置conf原理
nginx过滤器模块实现
nginx Handler模块实现
五、开源框架
1.skynet
skynet设计原理
sky net网络层封装以及lua/c接口编程
sky net重要组件以及手撕游戏项目
2.分布式API网关
高性能web网关Openresty
Kong动态负载均衡与服务发现
3.DPDK
DPDK环境与testpmd/I3fwd/skeletion
DPDK的用户态协议栈
千万级流量并发的dns处理
高性能数据处理框架vpp
DPDK的虚拟交换机框架OVS
4.高性能计算CUDA
gpu并行计算cuda的开发流程
音视频编解码中的并行计算
六、云原生
1.Docker
Docker风光下的内核功能
Docker容器管理与镜像操作
Docker网络管理
Docker云与容器编排
2.Kubernetes
K8S环境搭建
Pod与Service的用法
K8S集群管理
K8S二次开发与K8S API
七、性能分析
1.性能与测试工具
测试框架gtest以及内存泄漏检测
性能工具与性能分析
火焰图的生成原理与构建方式
2.观测技术bpf与ebpf
内核bpf的实现原理
bpf对内核功能的观测
3.内核源码机制
进程调度机制
内核内存管理运行机制
网卡nic与网络协议栈的关系
文件系统组件
八、分布式架构
1.RocksDB
不一样的kv存储RocksDB的使用场景
RocksDB的特殊操作
2.云原生分布式数据库TiDB
TiDB存储引擎的原理
TiDB集群方案与Replication的原理
3.分布式服务
内核级支持的分布式存储Ceph
注册服务中心Etcd
九、项目实战
1.图床共享云存储
fastdfs架构分析和配置
fastdfs存储原理
分布式fastdfs存储集群部署
高负载nginx/fastcgi
文件传输和接口设计
产品上云公网发布/测试用例
2.微服务即时通讯
IM即时通讯项目框架分析和部署
IM消息服务器/文件传输服务器
消息服务器/路由服务器
数据库代理服务器设计
文件服务器和docker部署
产品上云公网发布/公网测试上线
如何系统学习c/c++Linux服务器端技术内容?
内容涵盖上述八大技术模块及两大线上项目实操
98次直播,时间持续8个半月
涉及语言:45%的C,25%的c++,20%的go,5%的lua,5%的其他语言
简历梳理,模拟面试,offer选择
腾讯kt薪选课程,腾讯认证的大厂标准

成果数据展现

课程优势:
1.简历梳理技术点凸显项目技术梳理
2.模拟面试技术表述
3.薪资谈判福利争取
4.offer选择职业规划技术前景
往期学员学习过程的心得总结:
1.学习要有主动性。无论是开始的自学,还是后面的培训学习,学习的主观能动性一定要有,特别是报班学习之后,不要觉得万事有老师,外部的辅导条件能够让你有更好的学习效率和氛围,但是最终需要掌握技能的还是你自己的,所以学习的过程不要懈怠。
2.学完技术内容之后,要形成自己的技术栈体系。我在学完之后,就根据我自己的技术内容花了三天时间整理一份c/c++后端开发需要掌握的技术体系路线图,来帮助自己梳理自己所学的技术点。
3.善于总结自己的学习过程。每当自己学完一个小块的知识点之后,最好是将自己对它的理解整理成博客文章,这样既能自我梳理自己的学习成果,又能作为自己在面试工作时向面试官展现的一个亮点。
4.一定要复盘自己的面试过程。在我学习之后的面试过程,并不是一帆风顺。但是我在老师的建议下,不管成功的还是失败的面试过程,场场复盘!找出自己回答的不好的地方做备注修改,这样一次次下来,对于面试,我也是越来越胸有成竹。
5.学习方式,不管黑猫白猫,抓住老鼠的就是好猫。对于也想从事或是转行到c/c++后端开发岗的兄弟,如果考虑报班培训的话,可以推荐大家了解一下我之前学习过的课程,整个课程体系对标的是腾讯的T9级别。