- 自我介绍
- 手撕链表排序
- 操作系统
 a. 线程和进程区别
 b. 线程安全
 c. 如何保证线程安全
 d. 线程崩溃,会不会影响所在的进程
 e. 什么是守护进程,僵尸进程,孤儿进程
 f. 如何产生一个守护进程
 g. 如何避免僵尸进程或者孤儿进程
- redis
 a. 持久化方式有哪些,区别是什么
 b. redis集群有了解么
 c. redis zset() — 底层如何实现(哈希表+跳跃表)
- 和大数据相关的操作
 a. 请求有多少,数据有多少
 b. Gbp/s
- 负载均衡
 a. nginx负载均衡策略或者方式
 ⅰ. 轮询
 ⅱ. IP hash
- 网络模型
 a. 网络模型epoll和select(没听过)
 ⅰ. 多路复用
 ⅱ. 如何将多个请求,一块发送给上游
- rabbitmq
 a. 如何保证消息不丢失
 b. 消费者如何保证不丢失消息和重复消费消息
 ⅰ. 手动ack
 c. 消费者几种方式回复ACK
 ⅰ. 同步,半同步,异步
- HTTP
 a. 301和302
 ⅰ. 301–
 ⅱ. 302–
- https
 a. 如何建立安全连接的
 b. 交换密钥的过程是对称还是非对称(AES和RSA)
- TCP
 a. 三次握手
 b. 四次挥手
 c. 拥塞控制
 ⅰ. 如此将窗口从小放大
 ⅱ. 慢开始,快速回复
- 如何进行限流
 a. redis时间窗口限流
 b. gateway限流
- LRU算法–redis关于这种设计有几种,
 a. 权重;
 b. 过期删除
- TCP四次挥手
- time_wait, close_wait发生在客户端还是服务端
 a. 那一步产生这个状态
 b. 如果出现大量类似上述状态,会出现什么问题?
- session和cookie的区别
 a. cookie–客户端
 b. session – 服务端
- 更底层的原理(up协议)
- a.log 每一行逗号分隔;找出第三个字段,每个字段出现的次数 shell
- 反问环节
 a. 胜任这个岗位需要哪些能力
 ⅰ. 后端开发能力
 ⅱ. 数据计算能力(py sql)- 大数据处理的能力
- 加分项
 ⅲ. 网络,数据库,操作系统,底层需要巩固。
 b. 日常工作内容是什么
 ⅰ. mysql,redis
 ⅱ. python
 ⅲ. 数据量比较大,千亿兆
- 数据处理
 c. 面试流程
 ⅰ. 1-2个月