腾讯云智一面
一面(技术面11.2,45分钟)
1、自我介绍
2、结构体大小,字节对齐的好处
8 struct A{ int a; char b; short c; };
16 struct A{ long long a; char b; short c; };
7 #pragma pack (1) struct A{ int a; short b; char c; };3、进程和线程的区别,内存区域有什么区别
4、进程的通信方式,线程的通信方式
5、进程的通信用过什么
6、管道和共享内存的函数接口
7、socket函数接口,理解的socket是什么,socket的方式有哪些
8、IO模型有哪些
9、epoll的底层原理,为什么用红黑树,红黑树在哪一块区域,用户态怎么访问内核态
10、select和epoll区别
11、水平触发和边缘触发区别
12、为什么TCP挥手比握手多一次
13、四次挥手过程以及状态变化
14、TIME_WAIT状态的作用,等待时间是多少,MSL是什么,为什么是2MSL
15、TCP和UDP的区别
16、TCP的可靠体现在哪里,怎么保证可靠
17、流量控制是如何实现的,解决什么问题
18、TCP和HTTP的区别
19、UDP和TCP的使用场景
20、HTTP在什么场景下使用
21、HTTP和HTTPS有什么区别
22、redis的数据类型
23、nginx了解多少,负载均衡的策略
24、MySQL的索引结构
25、为什么使用B+树而不是普通二叉树
26、B+树的树高有多高
27、MySQL使用索引的搜索过程
28、索引的作用是什么
29、使用索引一定会提高效率吗?索引失效有哪些,平时有注意嘛
30、线程池如何实现,参数有哪些
31、条件变量在线程池里面是干嘛的
32、线程的管理,什么时候创建和销毁
33、青蛙跳台阶
34、反问