多线程:
多线程之间如何通信/共享数据?
不需要通信;共享数据:1,加锁的队列,例如生产者,消费者线程,2,加锁的全局变量。
如何排查死锁(锁的使用)
1,减小锁的粒度
{
//对共享变量加锁保护
}
2,加锁的方向一致
线程a->A->B
线程b->A->B
下面的会导致死锁:
线程a->A->B
线程b->B->A
3.尽量在编码的时候利用技术保障加锁以后在每个出口都有相应的解锁逻辑
RAII技术
出现解决,未出现要避免
高级面试难点:
1,队列优化,锁的精细控制和效率优化
2,多级队列,(策略的设计)按照优先级
3. 多进程之间如何通信? nigex模型 ,惊群效应
网络编程:
初级:
1一个tcp ser的基本通讯流程:先创建一个ser socket.用bind函数绑定,listen,等待客户端连接
常用工具:tcpdump命令怎么用?
怎么样查看一个进程开启了哪些端口?send,recev函数的返回值?
阻塞模式和非阻塞模式socket的应用场景 poll epoll?
高级:
如何设计一个网络库,疑难杂症的解决。
数据库
增删改查,索引,索引的结构
linux下常用命令,权限管理(连不上数据库),事务的四个级别,每个级别是什么含义,理解一下。