首页  

C++面试知识点     所属分类 c 浏览量 71
一 语言基础

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 区别