
语言
- struct 和 class 的区别
- const 和 define 的区别
- 虚函数的工作方式
- 派生类虚构的时候会调用基类的虚构函数吗,什么情况下会调用
- 虚函数表的存放内容
- 迭代器的类型和作用
- 指针和引用的区别
- 函数重载,重写,隐藏的区别
- new和malloc,delete和free之间有什么区别
- 左值和右值得区别,如何将左值转换成右值
计算机网络
- OSI七层模型
- TCP/IP协议在哪一层
- 为什么TCP/IP去除了表示层和会话层
- 阻塞和非阻塞的区别
- TCP 和 UDP 的区别
- TCP 可靠传输的机制
- 流量控制和拥塞控制的区别
- TCP 为什么是三次握手
- TCP 四次挥手
- GET 和 POST 的区别
- 网页输入 url 到前端展示的过程
- DNS 的原理
- HTTP中常见的code码。5XX的状态码用过哪些
- HTTP和HTTPS的区别
- HTTPS的怎么实现加密的
- HTTP 报文格式
- rsa 和 aes 算法有什么区别
- IPV4 地址不够如何解决
- NAT 的原理和过程
- ping 的原理和过程
- ping 不通代表的问题
数据结构
- 数组和链表的区别,它们各自的使用场景,优缺点
- vector 和 deque 的区别
- 队列和栈有什么区别
- map 的底层实现,解决hash碰撞的方法
- 二叉搜索树的特征,查找和插入时间复杂度
- 为什么二叉搜索树会不稳定,如何改进
- AVL树的调整过程,左旋右旋
- 红黑树的特征和调整过程
数据库
- MySQL 有哪些存储引擎,索引结构是什么
- 如何删除表中的一行记录
- 什么是事务,以及一致性问题
- 数据库的底层实现
- B+ 树和 B 树的区别
操作系统
- 同步和异步的区别
- slect,poll,epoll 的区别
- 动态库和静态库的区别
- Linux 更改文件执行权限的命令
- Linux 查看磁盘空间的命令
- LInux 检测系统资源情况的命令
- Linux 动态查看日志的命令
- Linux 定位文件中某个关键字的位置
- 进程和线程的区别
- 进程有哪些状态。一个进程从创建到运行经过哪些阶段
- 线程同步的方式
- 进程同步的方式
- 线程池有哪些好处
- 为什么线程的崩溃会导致这个进程的崩溃
- 如何防止死锁,银行家算法
- 用过哪些锁
- 自旋锁是什么,应用场景
- 多线程编程要注意哪些方面
- 程序从点击到运行经过了哪些过程?
算法
其他
- 在学习的过程中有没有遇到比较感兴趣的内容,会不会主动去深入学习
- 在学习中遇到不懂的地方,如何解决;看到不同的解释,如何处理
- 对公司的期望,城市的要求
- 职业的发展方向,找工作看重的点
- 如何看待前端和后端的
- 相比其他人的优势在哪里
- 你是如何去释放自己的压力的
- 平时是如何学习的,兴趣爱好