腾讯后端一面
自我介绍
1、介绍一下socket阻塞和非阻塞的用法
2、监听socket的时候怎么判断消息来了和没有
3、epoll和select的区别
4、select的文件描述符数量
5、epoll的两种触发模式
6、为什么用水平触发不用边缘触发
7、边缘触发如果没读完数据的话会有什么情况
8、多路复用处理IO,单线程多线程问题
9、单线程处理IO,多线程处理事件吗?
10、为什么不用多进程而是用多线程(面试官说上下文进程线程切换的时间差不多)
11、进程间的通信方式
12、线程的话怎么保证线程安全
13、除了加锁还有哪些方式
14、日志模块为什么用阻塞队列来实现呢,为什么用的是阻塞队列
15、阻塞队列的话日志在写的时候会把整个业务阻塞掉吧?
16、写日志的话还是阻塞的吧?应该是用非阻塞
17、MD5并不是加密解密的算法,用map摘要
18、Mysql数据库为什么要做一个ORM
19、封装、继承、多态的概念
20、malloc和new、delete和free的区别
21、https的TLS锁单向
22、SQL注入攻击
23、算法题:
1、完全背包
2、求数组中的重复数据