**《零声教育——C/C++后端面试攻略(LeetCode·剑指 Offer)》**是一套专为C/C++开发工程师、后台开发求职者及计算机专业学生打造的面试提升课程。课程以互联网企业后端开发岗位的面试要求为导向,围绕数据结构、算法、C/C++核心知识、系统设计及高频面试题展开讲解,并结合LeetCode和《剑指 Offer》经典题目进行系统训练,帮助学员提升编程能力和面试竞争力,适用于校招、实习及社招等不同阶段的求职准备。
课程首先从算法基础开始,系统讲解数组、链表、栈、队列、哈希表、字符串、二叉树、堆、图及并查集等常见数据结构,并介绍时间复杂度、空间复杂度及算法优化思路。通过大量经典案例,引导学员掌握双指针、滑动窗口、二分查找、深度优先搜索(DFS)、广度优先搜索(BFS)、递归与回溯等常用算法,为解决复杂编程题打下坚实基础。
在LeetCode与《剑指 Offer》专题中,课程精选大量企业高频面试题进行深入解析,涵盖动态规划、贪心算法、排序算法、分治思想、位运算、数学算法以及字符串处理等内容。讲师不仅演示题目的解法,还重点分析解题思路、优化技巧以及不同方案之间的优缺点,帮助学员培养算法思维,提高代码质量和解题效率。
针对C/C++后端开发岗位,课程还深入讲解语言核心知识,包括指针与引用、内存管理、智能指针、STL标准模板库、模板编程、面向对象设计、继承、多态、虚函数、Lambda表达式、异常处理以及C++11/14/17常用特性。同时结合典型面试问题,分析底层实现原理,帮助学员建立扎实的语言基础。
除了算法和语言知识外,课程还涵盖操作系统、计算机网络和数据库等后端开发必备知识,包括进程与线程、线程同步、互斥锁、死锁、内存分配、TCP/IP协议、HTTP协议、Socket网络编程、MySQL索引、事务及Redis缓存等内容,使学员能够应对综合性技术面试。
为了增强实战能力,课程还模拟互联网企业真实面试场景,对简历优化、自我介绍、项目经验讲解、现场编程、技术问答及HR面试等环节进行指导,并分享常见面试陷阱、答题技巧和职业发展建议,帮助学员建立完整的面试准备体系。
通过本课程的学习,学员不仅能够熟练掌握LeetCode和《剑指 Offer》中的经典算法题,还能够系统提升C/C++语言能力、后端开发基础及综合面试技巧,具备独立分析和解决实际问题的能力。无论是准备应届校招、互联网大厂面试,还是希望提升自身算法水平和后端开发能力的工程师,都能够通过本课程积累扎实的技术功底和丰富的面试经验,为获得理想的C/C++后端开发岗位打下坚实基础。
课程截图:

课程目录:
713.零声教育-cc++后端面试攻略/
│ ├── 2.资料/
│ │ ├── 01 cc++语言相关,常见题型/
│ │ │ ├── 简述 strcpy、sprintf 与 memcpy 的区别?.png
│ │ │ ├── 如何避免野指针?.png
│ │ │ ├── 引用与指针作用以及区别.png
│ │ │ ├── c++ 什么时候生成默认拷贝构造函数?.png
│ │ │ ├── c++ 什么是深拷贝?什么是浅拷贝?.png
│ │ │ ├── c_c++ 中强制类型转换使用场景.png
│ │ │ ├── const 关键字的作用.png
│ │ │ ├── extern 关键字作用.png
│ │ │ ├── malloc、free和new、delete的区别.png
│ │ │ └── static 关键字的作用.png
│ │ ├── 02 cc++标准库,常见题型/
│ │ │ ├── 02 cc++标准库,常见题型资料.zip
│ │ │ ├── list 底层实现原理.png
│ │ │ ├── vector 的元素类型为什么不能是引用?.png
│ │ │ ├── vector 底层实现原理.png
│ │ │ ├── vector 内存增长机制.png
│ │ │ └── vector 中 reserve 和 resize 的区别?.png
│ │ ├── 03 cc++标准库,常见题型/
│ │ │ ├── 迭代器底层实现原理?以及有哪些种类?.png
│ │ │ ├── 迭代器失效?连续和非连续存储容器的失效?.png
│ │ │ ├── 什么时候使用 vector、list、以及 deque?.png
│ │ │ ├── deque 底层实现原理.png
│ │ │ ├── multiset 的底层实现原理?红黑树原理.png
│ │ │ ├── priority_queue 的底层实现原理.png
│ │ │ ├── STL 容器线程安全性 .png
│ │ │ └── unordered_map 的底层实现原理?哈希表原理.png
│ │ ├── 04 c++面对对象,常见题型/
│ │ │ ├── 函数重载和重写的区别?.png
│ │ │ ├── 简述多态实现原理.png
│ │ │ ├── 面对对象的三大特征.png
│ │ │ ├── 虚函数的调用过程?.png
│ │ │ ├── 运行期多态的实现原理?.png
│ │ │ └── 怎么解决菱形继承.png
│ │ ├── 05 c++面对对象,常见题型/
│ │ │ ├── 05 c++面对对象,常见题型资料.zip
│ │ │ ├── 动态库与静态库的区别?_.png
│ │ │ ├── 继承下的构造函数和析构函数执行顺序_.png
│ │ │ ├── 虚函数表和虚函数表指针(vptr)的创建时机_.png
│ │ │ ├── 虚析构函数的作用?_.png
│ │ │ ├── 智能指针种类以及使用场景_.png
│ │ │ ├── 左值引用与右值引用的区别?右值引用的意义?_.png
│ │ │ └── c++11用过哪些特性?_.png
│ │ ├── 06 设计模式,常见题型/
│ │ │ ├── 06 设计模式,常见题型文档.png
│ │ │ ├── 单例模式多线程?.png
│ │ │ ├── 开闭原则,哪些原则与它相关,分别是什么关系?.png
│ │ │ ├── 面对对象中有哪些设计原则?.png
│ │ │ ├── 什么是迪米特原则.png
│ │ │ ├── 什么是工厂模式?什么是抽象工厂?应用场景是什么?.png
│ │ │ ├── 什么是里氏替换原则?.png
│ │ │ └── 什么是依赖倒置原则?.png
│ │ ├── 07 设计模式,常见题型/
│ │ │ ├── 07 设计模式,常见题型必看.png
│ │ │ ├── 什么是策略模式?应用场景是什么?.png
│ │ │ ├── 什么是代理模式?应用场景是什么?.png
│ │ │ ├── 什么是观察者模式?应用场景是什么?.png
│ │ │ ├── 什么是模板方法?应用场景是什么?.png
│ │ │ ├── 什么是责任链模式?应用场景是什么?.png
│ │ │ ├── 什么是装饰器模式?应用场景是什么?.png
│ │ │ └── 什么是组合模式,应用场景是什么?.png
│ │ ├── 2.资料必看.zip
│ │ └── 10家大厂面试题精选 含答案.zip
│ └── 视频/
│ │ ├── 1. cc++语言相关,常见题型/
│ │ │ ├── 1.1const关键字的作用_.mp4
│ │ │ ├── 1.1static关键字的作用_.mp4
│ │ │ ├── 1.2引用与指针作用以及区别_.mp4
│ │ │ ├── 1.3如何避免野指针_.mp4
│ │ │ ├── 1.4malloc free和new delete的区别_.mp4
│ │ │ ├── 1.5extern 关键字作用_.mp4
│ │ │ ├── 1.6简述 strcpy、sprintf 与 memcpy 的区别?_.mp4
│ │ │ ├── 1.7cc++ 中强制类型转换使用场景?_.mp4
│ │ │ ├── 1.8c++ 什么时候生成默认构造函数_.mp4
│ │ │ ├── 1.9c++ 什么时候生成默认拷贝构造函数_.mp4
│ │ │ └── 1.10c++ 什么是深拷贝,什么是浅拷贝_.mp4
│ │ ├── 2. cc++标准库,常见题型/
│ │ │ ├── 2.1vector 底层实现原理_.mp4
│ │ │ ├── 2.2vector 内存增长机制_.mp4
│ │ │ ├── 2.3vector中reserve和resize的区别_.mp4
│ │ │ ├── 2.4vector 的元素类型为什么不能是引用_.mp4
│ │ │ ├── 2.5list 底层实现原理_.mp4
│ │ │ ├── 3.1deque 底层实现原理_.mp4
│ │ │ ├── 3.2什么时候使用vector list deque_.mp4
│ │ │ ├── 3.3priority_queue 的底层实现原理_.mp4
│ │ │ ├── 3.4multiset 的底层实现原理_.mp4
│ │ │ ├── 3.5unordered_map 的底层实现原理_.mp4
│ │ │ ├── 3.6 迭代器底层实现原理?及其有哪些种类?_.mp4
│ │ │ ├── 3.7迭代器失效?连续和非连续存储容器的失效?_.mp4
│ │ │ └── 3.8 STL 容器线程安全性_.mp4
│ │ ├── 3. c++面对对象,常见题型/
│ │ │ ├── 3. c++面对对象,常见题型资料.zip
│ │ │ ├── 4.1 面对对象的三大特征_.mp4
│ │ │ ├── 4.2 简述多态实现原理_.mp4
│ │ │ ├── 4.3 怎么解决菱形继承_.mp4
│ │ │ ├── 4.4 关键字override_final的作用_.mp4
│ │ │ ├── 4.5 c++ 类型推导用法_.mp4
│ │ │ ├── 4.6 function_lambda_bind之间的关系_.mp4
│ │ │ ├── 5.1 继承下的构造函数和析构函数执行顺序_.mp4
│ │ │ ├── 5.2 虚函数表和虚函数表指针的创建时机_.mp4
│ │ │ ├── 5.3 虚析构函数的作用_.mp4
│ │ │ ├── 5.4 智能指针种类以及使用场景_.mp4
│ │ │ ├── 5.5 c++11用过哪些特性?_.mp4
│ │ │ ├── 5.6 动态库与静态库的区别?_.mp4
│ │ │ └── 5.7 左值引用与右值引用的区别?右值引用的意义?_.mp4
│ │ ├── 4.设计模式,常见题型/
│ │ │ ├── 6.1面对对象中有哪些设计原则_.mp4
│ │ │ ├── 6.2简述开闭原则,哪些原则与它相关,分别是什么关系?_.mp4
│ │ │ ├── 6.3什么是里氏替换原则_.mp4
│ │ │ ├── 6.4什么是迪米特原则_.mp4
│ │ │ ├── 6.5什么是依赖倒置原则_.mp4
│ │ │ ├── 6.6单例模式多线程?_.mp4
│ │ │ ├── 6.7什么是工厂模式?什么是抽象工厂?应用场景是什么?_.mp4
│ │ │ ├── 7.1 什么是策略模式?应用场景是什么?_.mp4
│ │ │ ├── 7.1 什么是代理模式?应用场景是什么?_.mp4
│ │ │ ├── 7.2什么是装饰器模式?应用场景是什么?_.mp4
│ │ │ ├── 7.3什么是组合模式,应用场景是什么?_.mp4
│ │ │ ├── 7.4什么是责任链模式?应用场景是什么?_.mp4
│ │ │ ├── 7.5什么是模板方法?应用场景是什么?_.mp4
│ │ │ └── 7.7 什么是观察者模式?应用场景是什么?_.mp4
│ │ ├── 5. 构与算法,常见题型/
│ │ │ ├── 08_01-用两个栈实现队列_.mp4
│ │ │ ├── 08_02-包含min函数的栈_.mp4
│ │ │ ├── 08_03-队列的最大值_.mp4
│ │ │ ├── 08_04-用一个栈实现另一个栈的排序_.mp4
│ │ │ ├── 08_05-仅用递归和栈操作逆序一个栈_.mp4
│ │ │ ├── 08_06-链表中倒数第 k 个节点_.mp4
│ │ │ ├── 08_07-链表中环的入口节点_.mp4
│ │ │ ├── 08_08-反转链表_.mp4
│ │ │ ├── 08_09-从尾到头打印链表_.mp4
│ │ │ ├── 08_10-两个链表的第一个公共节点_.mp4
│ │ │ ├── 09_01-第一个只出现一次的字符_.mp4
│ │ │ ├── 09_02-最长不含重复字符的子字符串_.mp4
│ │ │ ├── 09_03-字符串的排列_.mp4
│ │ │ ├── 09_04-反转字符串_.mp4
│ │ │ ├── 09_05-把数字翻译成字符串_.mp4
│ │ │ ├── 09_06-重建二叉树_.mp4
│ │ │ ├── 09_07-二叉树的下一个节点_.mp4
│ │ │ ├── 09_08-树的子结构_.mp4
│ │ │ ├── 09_09-二叉树展开为链表_.mp4
│ │ │ ├── 10_01-对称的二叉树_.mp4
│ │ │ ├── 10_02-从上到下打印二叉树_.mp4
│ │ │ ├── 10_03-序列化二叉树_.mp4
│ │ │ ├── 10_04-二叉树节点间的最大距离_.mp4
│ │ │ ├── 10_05-二叉树中和为某一值的路径_.mp4
│ │ │ ├── 10_06-二叉树的最近公共祖先_.mp4
│ │ │ ├── 10_07-剪绳子_.mp4
│ │ │ ├── 10_08-二进制中1的个数_.mp4
│ │ │ ├── 11_01-矩阵的最小路径和_.mp4
│ │ │ ├── 11_02-换钱的方法数_.mp4
│ │ │ ├── 11_03-换钱的最小货币数_.mp4
│ │ │ ├── 11_04-最长公共子序列问题_.mp4
│ │ │ ├── 11_05-最长公共子串问题_.mp4
│ │ │ ├── 11_06-数组中的最长连续序列_.mp4
│ │ │ ├── 11_07-最长递增子序列_.mp4
│ │ │ └── 11_08-子矩阵的最大累加和问题_.mp4
│ │ ├── 6. 操作系统,进程线程,常见题型/
│ │ │ ├── 12_01-进程和线程的区别?_.mp4
│ │ │ ├── 12_02-操作系统中进程与线程的切换过程_.mp4
│ │ │ ├── 12_03-请描述系统调用整个流程_.mp4
│ │ │ ├── 12_04-后台进程有什么特点_.mp4
│ │ │ ├── 12_05-进程间通信有哪几种方式_.mp4
│ │ │ ├── 12_06-操作系统中进程调度策略有哪几种_.mp4
│ │ │ ├── 12_07-线程同步的方式_.mp4
│ │ │ ├── 12_08-CAS是怎样的一种同步机制_.mp4
│ │ │ ├── 12_09-CPU 是怎么执行指令的_.mp4
│ │ │ ├── 13_01-用户态和内核态的区别_.mp4
│ │ │ ├── 13_02-内存管理有哪几种方式_.mp4
│ │ │ ├── 13_03-malloc 是如何分配内存的_.mp4
│ │ │ ├── 13_04-页面置换算法有哪些_.mp4
│ │ │ ├── 13_05-谈谈 cpu cache 一致性工作原理_.mp4
│ │ │ ├── 13_06-写文件时进程宕机,数据会丢失吗_.mp4
│ │ │ └── 13_07-磁盘调度算法有哪些_.mp4
│ │ ├── 7.数据库MySQL,常见题型/
│ │ │ ├── 14.1数据库的三大范式_.mp4
│ │ │ ├── 14_02-MySQL cpu 飙升,该怎么处理_.mp4
│ │ │ ├── 14_03-如何定位以及优化 SQL 语句的性能问题_.mp4
│ │ │ ├── 14_04-什么是视图_为什么使用视图_.mp4
│ │ │ ├── 14_05-SQL语句在MySQL是如何执行的_.mp4
│ │ │ ├── 14_06-索引在什么情况下会失效_.mp4
│ │ │ ├── 14_07-MySQL 索引的目的和代价_.mp4
│ │ │ ├── 14_08-主键索引和唯一索引的区别_.mp4
│ │ │ ├── 14_09-聚集索引和辅助索引的区别_.mp4
│ │ │ ├── 15_01-什么是覆盖索引_原理是什么_.mp4
│ │ │ ├── 15_02-undolog和redolog有什么作用_.mp4
│ │ │ ├── 15_03-什么是最左匹配规则,原理是什么_.mp4
│ │ │ ├── 15_04-什么是索引下推,原理是什么_.mp4
│ │ │ ├── 15_05-InnoDB 与 MyISAM 的区别_.mp4
│ │ │ ├── 15_06-索引为什么要用B+树而不是二叉树或B树_.mp4
│ │ │ ├── 16_01-数据库事务的四个特性以及含义_.mp4
│ │ │ ├── 16_02-脏读、幻读、不可重复读出现的原因原理_.mp4
│ │ │ ├── 16_03-不可重复读与幻读的区别_.mp4
│ │ │ ├── 16_04-SQL注入原理,如何避免SQL注入_.mp4
│ │ │ ├── 16_05-MySQL死锁问题产生的原因以及如何解决_.mp4
│ │ │ └── 16_06-MVCC 底层原理_.mp4
│ │ ├── 8. Redis,常见题型/
│ │ │ ├── 8. Redis,常见题型资料.png
│ │ │ ├── 17.1什么是 redis?redis 的应用场景有哪些?_.mp4
│ │ │ ├── 17.2redis 的对象类型以及底层实现的数据结构?_.mp4
│ │ │ ├── 17.3相同数量的数据hash与zset 存储占用情况?_.mp4
│ │ │ ├── 17.4基于 redis 实现限流功能,有哪几种方式?_.mp4
│ │ │ ├── 17.5redis为什么是单线程?为什么这么快?_.mp4
│ │ │ ├── 17.6redis 怎么实现分布式锁?有哪些缺陷?_.mp4
│ │ │ ├── 18_01-redis怎么做高可用_.mp4
│ │ │ ├── 18_02-redis不同持久化机制都有什么优缺点_.mp4
│ │ │ ├── 18_03-什么是缓存雪崩、缓存穿透、缓存击穿_.mp4
│ │ │ ├── 18_04-Redis淘汰策略有哪些_.mp4
│ │ │ └── 18_05-分析redis中的事务_.mp4
│ │ ├── 9.网络编程,常见题型/
│ │ │ ├── 19_01-简述 Reactor 网络编程模型_.mp4
│ │ │ ├── 19_02-Reactor和Proactor的区别_.mp4
│ │ │ ├── 19_03-连接断开有几种判定方式_.mp4
│ │ │ ├── 19_04-接收客户端连接有几种方式_.mp4
│ │ │ ├── 19_05-为什么用户态需要设置读写缓冲区_.mp4
│ │ │ ├── 20_01-水平触发和边缘触发的区别_.mp4
│ │ │ ├── 20_02-CLOSE_WAIT和TIME_WAIT是什么_.mp4
│ │ │ ├── 20_03-TCP三次握手过程_为啥不可两次_.mp4
│ │ │ ├── 20_04-TCP 四次挥手的过程_.mp4
│ │ │ ├── 20_05-什么是连接半打开,半关闭状态_.mp4
│ │ │ ├── 20_06-UDP和TCP的区别_.mp4
│ │ │ ├── 20_07-描述输入网址到网页显示整个流程_.mp4
│ │ │ ├── 20_08-linux系统如何收发网络包_.mp4
│ │ │ ├── 20_09-TCP是如何保证可靠性的_.mp4
│ │ │ └── 20_10-什么是MTU、MSS以及为什么要有MSS_.mp4
│ │ ├── 10. 论,常见题型/
│ │ │ ├── 21_01-什么是 CAP 理论_.mp4
│ │ │ ├── 21_02-什么是 Base 理论_.mp4
│ │ │ ├── 21_03-什么是2PC_.mp4
│ │ │ └── 21_04-什么是Raft协议,解决了什么问题_.mp4
│ │ ├── 11.kafka,常见题型/
│ │ │ ├── 22_01-kafka是什么?解决了什么问题?_.mp4
│ │ │ ├── 22_02-zk对于kafka的作用是什么_.mp4
│ │ │ ├── 22_03-kafka如何判断一个节点是否还活着_.mp4
│ │ │ ├── 22_04-简述kafka的ack三种机制_.mp4
│ │ │ ├── 22_05-kafka如何控制消费位置_.mp4
│ │ │ ├── 22_06-在分布式场景下如何保证消息的顺序消费_.mp4
│ │ │ ├── 22_07-kafka的高可用机制是什么_.mp4
│ │ │ ├── 22_08-kafka如何减少数据丢失_.mp4
│ │ │ ├── 22_09-kafka如何确保不消费重复数据_.mp4
│ │ │ └── 22_10-kafka为什么性能这么高_.mp4
│ │ ├── 12.gRPC,常见题型/
│ │ │ ├── 23_01-gRPC 服务端启动流程_.mp4
│ │ │ ├── 23_02-gRPC 服务类型有哪些_.mp4
│ │ │ ├── 23_03-keepalive 是针对连接设置_.mp4
│ │ │ ├── 23_04-gRPC多路复用指的是什么_.mp4
│ │ │ ├── 23_05-gRPC 如何自定义 resolver_.mp4
│ │ │ ├── 23_06-gRPC如何自定义 balancer_.mp4
│ │ │ ├── 23_07-如何实现 gRPC 全链路追踪_.mp4
│ │ │ ├── 23_08-客户端连接状态有哪些_.mp4
│ │ │ ├── 23_09-客户端如何获取服务端的服务函数列表_.mp4
│ │ │ └── 23_10-如何为每个stream进行限流_.mp4
│ │ ├── 13.etcd,常见题型/
│ │ │ ├── 24_01-etcd 中一个任期是什么意思_.mp4
│ │ │ ├── 24_02-etcd中raft状态机是怎么样切换的_.mp4
│ │ │ ├── 24_03-如何防止候选者在遗漏数据的情况下成为总统_.mp4
│ │ │ ├── 24_04-etcd某个节点宕机后会怎么做_.mp4
│ │ │ ├── 24_05-为什么raft算法不考虑拜占庭将军问题_.mp4
│ │ │ ├── 24_06-etcd 如何选举出leader节点_.mp4
│ │ │ └── 24_07-etcd如何保证数据一致性_.mp4
│ │ ├── 14.dockerk8s,常见题型/
│ │ │ ├── 14.dockerk8s,常见题型资料.zip
│ │ │ ├── 25_01-什么是 docker 镜像_.mp4
│ │ │ ├── 25_02-什么是 docker 容器_.mp4
│ │ │ ├── 25_03-docker 容器有几种状态_.mp4
│ │ │ ├── 25_04-copy和add命令的区别_.mp4
│ │ │ ├── 25_05-容器与主机之间的数据拷贝命令_.mp4
│ │ │ ├── 25_06-dockerfile的onbuild指令_.mp4
│ │ │ ├── 25_07-如何在生产中监控 docker_.mp4
│ │ │ ├── 25_08-构建docker镜像应该遵循哪些原则_.mp4
│ │ │ └── 25_09-容器退出后数据会丢失么_.mp4
│ │ ├── 15.数据库集群,常见题型/
│ │ │ ├── 15.数据库集群,常见题型说明.png
│ │ │ ├── 26_01-MySQL主从复制原理_.mp4
│ │ │ ├── 26_02-MySQL分库分表_.mp4
│ │ │ ├── 26_03-简述redis高可用的方案_.mp4
│ │ │ └── 26_04-简述redis-cluster集群的原理_.mp4
│ │ ├── 16.设计方案,常见题型/
│ │ │ ├── 27_01-2G内存在20亿个整数中找出现次数最多的数_.mp4
│ │ │ ├── 27_02-100亿个URL中重复词汇的TOPK问题_.mp4
│ │ │ ├── 27_03-40亿个非负整数中找到未出现的数_.mp4
│ │ │ ├── 27_04-40亿个非负整数中算中位数和找出现两次的数_.mp4
│ │ │ ├── 27_05-岛问题_.mp4
│ │ │ ├── 27_06-Redis和MySQL缓存一致性_.mp4
│ │ │ └── 27_07-现场手撕定时器_.mp4
│ │ ├── 视频说明.png
│ │ └── c++ 后端面试题课程介绍_.mp4
侵权联系与免责声明: 1、本站资源所有内容均收集于网络,与本网站立场无关 2、本站所有资源收集于互联网,由用户分享,该帖子作者与IT课程网不享有任何版权,如有侵权请联系本站删除 3、本站部分内容转载自其它网站,但并不代表本站赞同其观点和对其真实性负责 4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。如有侵权请联系联系客服QQ:1960026872或登录本站账号进入个人中心提交工单留言反馈,我们将第一时间处理!
