面试基础题总结
来源:互联网 发布:淘宝V6会员网贷 编辑:程序博客网 时间:2024/04/30 13:22
计算机网络:
- TIME_WAIT 的作用,为什么要等待两个MSL,一个行吗;
- 在TCP四次挥手的过程中,当一方发起断开连接请求时,发送FIN报文,进入FIN_WAIT1。
- 被动方收到FIN报文后,有可能还有数据要发送给主动发,故会先回应一个ACK报文,进入CLOSE_WAIT。
- 主动方收到ACK后进入FIN_WAIT2;然后被动方继续发送要发送的数据,结束之后再发FIN+ACK报文,进入LAST_ACK。
- 主动方收到FIN后,发送ACK给被动方,然后进入TIME_WAIT状态,会经历两个MSL(最大报文生存周期),原因是自己的报文可能丢失,故被动方经过2个MSL还没收到ACK就认为自己的FIN报文丢失了,再次重发FIN,而主动方发送ACK后最多经过2个MSL,就会收到被动方重发的FIN。如果主动方只等待一个MSL则如果最后一个ACK丢失,被动方会才重发FIN,如果主动方又重建了一个新连接那么就可能再次收到FIN;而TCP协议规定,在TIME_WAIT期间是不能新建实体连接的。
- Socket 编程,手写 Client 和多线程 Server
- P 头组成;
- synchronized 原理;
C++:
C++ 重载和重写的区别;
总结如下:
- 成员函数重载特征:
a 相同的范围(在同一个类中)
b 函数名字相同
c 参数不同
d virtual关键字可有可无 - 重写(覆盖)是指派生类函数覆盖基类函数,特征是:
a 不同的范围,分别位于基类和派生类中
b 函数的名字相同
c 参数相同
d 基类函数必须有virtual关键字 - 重定义(隐藏)是指派生类的函数屏蔽了与其同名的基类函数,规则如下:
a 如果派生类的函数和基类的函数同名,但是参数不同,此时,不管有无virtual,基类的函数被隐藏。
b 如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有vitual关键字,此时,基类的函数被隐藏。
- 成员函数重载特征:
C++ 复制构造函数;
- 面向接口编程的缺点;
- 继承和多态的区别;
- 如何初始化类中的常成员变量(参数列表)
- 面向对象编程的三要素:继承、封装、多态
设计模式
- 设计模式 Adapter;
- 工厂模式
- 观察者模式
- 写出面向对象的五个基本设计原则
- 单一职责原则 开放封闭原则 Liskov替换原则(里氏替换原则) 依赖倒 置原则 接口隔离原则
算法与数据结构:
1.最大栈、最小栈;
2.数组第 K 小值;
3.判断一棵二叉树是否是 BST
4.求解链表交点,求解带环链表交点;
5.求第 K 个丑数;
6.打印树的每一层最右侧节点
7.红黑树最左节点和最右节点交换;
8.手写快排,如何改进;
9.并查集
10.topK问题
概率论:
- 贝叶斯
操作系统:
- 多线程,锁;
- 协程 vs. 线程 vs. 进程;
- 信号量,使用场景;
- synchronized 原理,线程池介绍,引入线程池会有什么问题
- 同步与互斥
数据库:
- Redis 持久化;
项目:
- 项目介绍;
- 运用知识:
- 正则表达式,ab*c 匹配的字符串及其状态机;
- 机器学习与深度学习的区别。
阅读全文
0 0
- 面试基础题总结
- android面试基础总结
- android面试基础总结
- android面试基础总结
- android面试基础总结
- 一点点基础面试总结
- java面试基础总结
- Java面试基础总结
- 前端面试基础总结
- 基础面试总结
- 面试总结------Java基础
- c++基础--面试总结
- 面试基础总结
- 前端基础面试总结
- JAVA基础面试总结
- java基础面试总结1
- android----面试基础概括总结
- 一些基础的面试总结
- 日期控件
- 23种设计模式之组合模式
- JDK环境快速配置工具
- 2017ACM/ICPC广西邀请赛总结
- 图解MOS管的驱动技术及应用
- 面试基础题总结
- 杭电OJ_(2045)不容易系列之(3)—— LELE的RPG难题
- 操作系统概论
- 我对高阶函数的思考
- 证书
- ubuntu设置环境变量
- 一个不知名的项目--Day06
- 12.异常机制
- 操作系统安装文章收集