腾讯面试总结

1.tcp断开连接时为什么要有timewait状态

2.画出tcp三次握手四次挥手状态切换图

3.libuv事件循环接口内部都是怎么实现的?libuv利用了什么机制?

4.协程与线程的区别是什么?为什么要有协程?如何用C实现协程?

5.nosql相比较关系型数据库有什么优点

6.分析下nginx源码?nginx反向代理和负载均衡是怎么实现的?

7.mapreduce实现原理是怎样的

8.dhcp协议交互流程如何

9.线程间同步有哪些锁

10.mongodb有哪些特点?分片机制具体是怎么样的?mongodb是如何持久化的?

11.docker的优势是什么?利用了操作系统什么机制?存在什么问题?

12.go语言相比较C有什么优点?如何用C实现go?

13.rsync的原理是怎样的?如果只修改文件头,那么如何做到高效增量同步?

14.对mysql了解多少

15.实现一套生产者、消费者接口

16.经常逛哪些开源社区,写知乎博客吗

17.volatile关键字作用是什么

18.c++基础知识

19.怎么评判一个磁盘的好坏?什么工具可以查看io占用情况

20.列出几个gdb命令并说明其作用?如何gdb调试一个正在运行的程序?

21.epoll解决了什么问题,什么是边沿触发和水平触发?epoll在内核是怎么实现的?

22.linux有哪些进程间通信方式?分别有什么特点?

23.tcp连接处理,如果只有listen没有accept可以完成三次握手过程吗?

24.recv函数返回0含义

25.了解过哪些服务器模型?leader-follow服务器模型是怎样的

26.有100本书,两个人轮流着拿,每次最多拿5本,至少拿一本,我先拿,怎么保证我拿到最后一本?

27.指针运算

28.服务器段进程挂掉或者服务器宕机,客户端分别会有什么反应?

29.实现一个memcpy函数

30.实现快速排序算法

31.分布式文件系统了解多少

32.泛域名是什么

原文地址:https://www.cnblogs.com/chaser24/p/6254467.html