C++面试知识点
所属分类 c
浏览量 818
一 语言基础
1 语法基础
指针和引用的概念
指针与内存关系
程序编译过程
static、const、#define的用法和区别
C和C++区别
内存模型
内存中的栈和堆分配
2 面对对象基础
面向对象理解
析构函数
构造函数
拷贝构造
多态
纯虚函数和虚函数
虚函数实现机制
虚函数表
访问限定符 public、private、protected
继承原理、虚继承、菱形继承
静态绑定和动态绑定
new/delete和malloc/free
重载、重写和隐藏
3 语法进阶
智能指针
左值、右值引用和move语义
类型转换方式
常用的设计模式
线程安全的单例模式
内存溢出和内存泄漏
C++11新特性
静态链接库和动态链接库
4 STL标准模板库
迭代器、空间配置器理解
常用容器特点、用法以及底层实现vector、list、deque、set、map、unorderedmap
5 推荐书籍
《C++Primer》可作为工具书,随手查阅
《EffectiveC++》深入了解C++的程序设计规范
《STL源码剖析》剖析STL的源码底层,非常具有学习价值
有精力还可以看《深度探索C++对象模型》《more EffecticeC++》
二 算法与数据结构
1 常见算法类型
排序算法(冒泡、插入、选择、快排、希尔、堆排、归并、桶排、基数、计数)、字符串操作、数组操作、递归、回溯、分治、动态规划等
2 常用数据结构
链表、栈、队列、树(二叉树、平衡二叉树、红黑树、B树、B+树、哈夫曼树、字典树)、跳表、图
3 推荐书籍
《大话数据结构》适合入门学习
《剑指offer》必刷66题
《算法导论》尽量看,能啃完就是大神
三 计算机网络
1 重点掌握知识点
OSI七层模型
TCP/IP五层模型
TCP/IP协议总结
TCP、UDP区别
TCP三次握手、四次挥手
TCP状态转换
TCP状态中TIME_WAIT
TCP连接建立需要为什么不是两次握手
TCP第三次握手失败会出现什么
TCP长连接和短链接及优缺点
TCP拥塞控制-慢启动、拥塞避免、快重传、快启动
TCP如何保证可靠性传输
TCP如何解决粘包、拆包问题
TCP为什么可靠
UDP如何实现TCP可靠传输
IP地址和子网掩码
ARP解析过程
DNS原理
HTTP状态码
HTTP1.0、HTTP1.1、HTTP2.0区别
HTTP和HTTPS区别
HTTPS加密过程
非对称加密和对称加密算法
Nagle算法
推荐书籍
《计算机网络自顶向下方法》教材书,可放手边查阅
《TCP/IP详解》重点了解TCP、IP、UDP协议实现
四 数据库
数据库类别
关系型数据库和非关系型数据库区别
MySQL
SQL常见语句
MySQL内链接,外链接(左链接、右链接、全链接)
MySQL索引类型和原理
MySQL事务实现原理ACID
MySQL数据存储引擎
MySQL主从复制原理、作用和实现
MySQL日记系统redo log、binlog、undo log
MVCC实现原理
Sql优化思路
范式理论
数据库高并发解决方法
Redis
Redis支持的数据类型
Redis持久化
Redis 架构模式
主从复制
一致性哈希算法
推荐书籍
《高性能 Mysql》
《Redis设计与实现》
五 操作系统
物理内存和虚拟内存
缓存IO和直接IO
作业调度算法
线程和进程
进程和线程的调度
线程的创建和结束
线程状态
线程间通信与线程同步机制
互斥锁和信号量
线程池
消费者和生产者
死锁
并发和并行
推荐书籍
《深入理解计算机系统》
六 Linux系统
1 Linux系统操作和命令
top ps netstat awk
find grep wc sed
head tail
正则表达式
如何查找出现频率最高的100个IP地址
linux如何统计文件中某个字符串出现的频率
linux启动的第一个进程
linux查看端口占用
linux查看CPU和内存使用
Linux查看系统负载命令
Linux调试程序
Linux硬链接和软连接
core dump
cmake和makefile
Shell脚本基本语法和使用
推荐书籍
《鸟哥私房菜》
七 Linux网络编程
孤儿进程、僵尸进程和守护进程
进程间通信方式signal、file、pipe、shm、sem、msg、socket
线程同步机制线程:互斥量、锁机制、条件变量、信号量、读写锁
fork返回值
五大IO模型:阻塞I/O、非阻塞I/O、I/O复用、信号驱动I/O、异步I/O
IO复用机制
epoll与select/poll
LT水平触发和ET边缘触发
Reactor和Proactor模式
反向代理、负载均衡
推荐书籍
《UNIX环境高级编程》APUE 比较难啃,可以挑着看
《Unix网络编程》UNP 同样比较难啃,可以挑着看
《Linux多线程服务器端编程》Muduo网络库,推荐看看源码实现
《深入理解Nginx》深入了解基于C的web服务器实现
上一篇
下一篇
springboot jar包无法解压
2021年1到8月主要税收收入
springboot应用日志无法输出到指定目录
springboot tomcat 监控指标
各行业编程语言流行榜
c c++ 头文件 string string.h cstring 区别