八股文整理

项目:

1、多路复用技术?

select、poll、epoll

2、有限状态机?

一种理论模型,主状态机解析HTTP报文请求行、请求头、请求体,从状态机读取一行。

3、什么是IO多路复用,和多线程模式对比

一个线程监听多个socket,处理多个请求。

多线程模式是由多个线程来进行处理事务,每新来一个请求,都需要创建一个新的线程。

C++基础:

1、智能指针?

shared_ptr、weak_ptr、unique_ptr

2、指针引用区别?

存储空间、级数、传参、初始化

3、C++中重载和重写的区别? 

c++多态。重载编译过程多态,是静态多态,重写运行过程多态,是动态多态。

重载同名函数不同参数列表,重写虚函数virtual。

4、什么是虚函数,作用

用virtual修饰的基类函数,可以在派生类类进行重写,实现动态多态。

计网:

1、四次挥手?

FIN、ACK、FIN、ACK。

ESTABLISHED->FIN_WAIT1->FIN_WAIT2->TIME_WAIT(2MSL)->CLOSE。

ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSE。

2、为什么不能是三次挥手?

服务端ACK、FIN分开发。等待数据发送完毕。

3、UDP如何实现可靠传输?

应用层实现类似TCP的连接管理、拥塞窗口、流量控制功能,如QUIC。

4、QUIC特点

无队头阻塞、连接建立更快、易连接迁移

5、HTTP和HTTPS的区别

多了SSL/TLS

6、DNS及作用?

DNS是域名IP相互映射的分布式数据库,用于域名解析。

7、域名解析过程

1、本地2、根域名3、顶级域名4、授权域名

. -> .com -> qq.com -> www.qq.com ->ip

数据库:

1、索引是什么,底层实现?

一种提高查找效率的数据结果,常用底层结构是B+树、哈希表。

2、什么是B+树?

一种二叉平衡树,非叶子节点用于索引、导航,所有关键字存于叶节点,叶节点形成有序链表,支持范围查询、排序查询。

3、事务的四大特性?

ACID,原子性、一致性、隔离性、持久性

3、什么是死锁?

两个及以上进程互相等待对方释放资源而无法执行的状态。

4、产生死锁的条件

1、互斥2、请求、保持条件3、不剥夺4、环路等待

操作系统:

1、磁盘调度算法

先来先、最短寻道、电梯调度

2、进程和线程的区别

进程是资源分配基本单位,线程是CPU调度的基本单位

进程拥有独立的空间地址,线程没有,线程共享进程的一部分资源,如地址空间、全局变量,线程占有堆、栈、局部资源

进程切换上下文开销大,线程小

3、进程通信、线程通信区别

进程通信:1、管道(有名、无名)2、消息队列 3、共享内存 4、存储映射 5、信号 6、信号量 7、socket

线程通信:1、锁机制 2、条件变量 3、信号 4、信号量

posted @ 2023-04-01 18:42  feifei102  阅读(44)  评论(0)    收藏  举报