2023程序员秋招准备 c/c++Linux后端开发岗(简历/技术面)技能体系总结

前言

23年秋招已经打响了;同学们都有准备好了吗?现在就业环境怎么样就不用我说了吧;之前很多的贴说哀鸿遍野删了又写,写了又删。各个互联网大厂招聘情况都不堪入目;百度提前批基本只给了实习生,字节也缩招将近2/3,腾讯更是惨不忍睹,各大厂今年都不好过。秋招hc的数量情况,去年字节秋招8k个hc,今年只有3k个,美团去年1w左右,今年5k,百度去年8k,今年2k。

今年很多就业辅导学员都投了研究所、央企、外企、车企、银行科技岗、芯片行业作为保底,这些行业待遇也能达到25-35万左右。其中央企、研究所、车企、银行还算比较稳定的工作,二线城市性价比也很高。

那么今天狮就给大家写一个C/C++ LINUX后端方面的技术体系以及简历总结;谨献给厉兵秣马的就业生以及伸头一刀缩头也是一刀的行业老油条们。


一、互联网行业市场环境

今年这个就不用多说了吧;老油条们都知道,学生崽们或多或少也都了解过一点,随便去哪里查查都是哀鸿遍野的情况。要说什么都是一片蓝海,什么人工智能人才稀缺年薪百万那都是扯你们的鬼话

这个困难的2023届,希望大家海投保底,别死磕互联网大厂。往年出现过即使拿到offer,效益不好会裁应届生现象。擦亮你们的双眼,一定要海投!多拿offer!

2023程序员秋招准备 c/c++Linux后端开发岗(简历/技术面)技能体系总结_第1张图片

图片来源:网经社

面试就更不用说了;岗位减少这么多,面试选人只会更加严苛;什么双非本科想进大厂基本上难上加难。也是给初入社会的同学们提了一个醒——客观冷静地综合看待就业市场,同时顶住风险,为自己的实力“加码”!不仅要熟背八股文,对于场景实现,原理分析也得需要准备的更加充分,以备竞争加剧;准备多一分,面试强一分。

整体的招聘节奏:

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

二,面试准备重要性

1. 校园招聘面试概述 - 为什么要面试?

- 面试成功的核心:装!

2. 无领导小组面试 - 无领导小组讨论的考察原则

- 面试常见的问题与应对 - 角色分类与核心攻略

3. 结构化面试 - 结构化面试的考察原则

- 面试的常见问题与应对 - 怎么向面试官提问 - 特殊情况的处理

4. 高管面试 - 高管面试的考察原则

- 高管面试的准备

5. 签约注意事项

- 三方协议与劳动合同 - 落户问题 - 最终的岗位与薪酬

上述问题都是值得花心思准备的;大家注意了

还有简历包装也同样重要

简历必备四要素:

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

  • 要知道,今年毕业生创新高;各大厂简历筛选自然是各花入各眼,疲惫不堪。机构包装过的人一眼就看出来了;自己花点心思照实优化一下就好了,有需要的同学们可以去小破站搜狮的ID

实在还是不会写的同学呢,可以私信狮看看秋招春招提前批大厂面试指导 简历梳理 offer选择 技术方向指导教程

2023程序员秋招准备 c/c++Linux后端开发岗(简历/技术面)技能体系总结_第2张图片


三,技术提升

这就不用多说了吧;打铁还需自身硬,没有金刚钻不揽瓷器活。上述准备工作再多,自己技术不过关;玩上花都没用。c/c++Linux服务器开发不同于Java,没有固定的业务流程和技术方向。在Linux下的服务器端开发,大家可以选择的就业方向一样有很多,没有模板可言。所以构建一个全面的技术体系就显得尤为重要。

刚毕业以及工作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部署
  • 产品上云公网发布/公网测试上线

这里就不过多赘述;更多方面可以去看看狮主页置顶文章;描述的更加详细

适宜工程师人群

1.从事业务开发多年,对底层原理理解不够深入的在职工程师

2,从事嵌入式方向开发,想转入互联网开发的在职工程师

3.从事Qt/MFC等桌面开发的,薪资多年涨幅不大的在职工程师

4.从事非开发岗位(算法岗,运维岗,测试岗),想转后台开发岗位的在职工程师

5.工作中技术没有挑战,工作中接触不到新技术的在职工程师

6.自己研究学习速度较慢,不能系统构建知识体系的开发人员

7.了解很多技术名词,但是深入细问又不理解的工程师

8. 计算机相关专业想进入大厂的在校生(本科及以上学历,有c/c基础)


成果数据我也就不过多赘述了;想看或者想了解这个完整体系的同学们呢;可以看看狮主页置顶的文章。

附【c/c++Linux服务器开发技术视频教程】

2023程序员秋招准备 c/c++Linux后端开发岗(简历/技术面)技能体系总结_第3张图片


还是那句话,打铁还需自身硬;不想浪费自身学了这么多年的本事,那就好好努力;自己有硬实力了,不愁找不到活干。

最后希望大家今年都能找到自己喜欢且合适的工作;拜拜咯

你可能感兴趣的:(c++,linux,面试)