目录
前言
一、市场环境
1.裁员的一年
2.面试环境
二、面试准备
1.招聘信息来源获取
2.简历准备
三、技术提升
c/c++Linux服务器开发技术学习路径
一、精进基石
二、高性能网络设计
三、基础组件设计
四、中间件开发
五、开源框架
六、云原生
七、性能分析
八、分布式架构
九、项目实战
如何系统学习c/c++Linux服务器端技术内容?
成果数据展现
优势:
学习过程的心得总结:
23秋招已经开始!作为对应届生求职最友好的时节,今年的提前批很多大厂并没有放出过多的出岗位,而是选择秋招进行招聘。后续的补录以及春招,竞争将会更加激烈!本文会从四个方面,和大家一起探讨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:936204305 备注【秋招+技术方向(如:秋招c++)】免费领取
三、技术提升
1.c/c++Linux服务器开发不同于Java,没有固定的业务流程和技术方向。在Linux下的服务器端开发,大家可以选择的就业方向一样有很多,没有模板可言。所以构建一个全面的技术体系就显得尤为重要。
2.针对于刚毕业以及工作1-3年的工程师而言,在这样一个年限下,靠自己去梳理出完善的技术体系,难度非常大,如果有这样一个学习路径,能够更快更全面的帮助工程师去构建自己的技术体系。
c/c++Linux服务器开发技术学习路径
(详细版获取途径,备注【CSDN】)
一、精进基石
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级别。
本文技术学习路线来源于零声的c/c++Linux服务器高级架构教程学习路线,详细介绍了解途径
正在跳转 备注【666】