网络题:

1、输入URL到浏览器发生了什么?
2、DNS基于TCP还是UDP,为什么?

DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议。参考https://www.cnblogs.com/lsgxeva/p/8321192.html

image.png
3、域名解析的流程
4、描述http状态码
5、描述session和cookie,cookie是怎么传输的
6、如何告诉客户端,响应的是什么数据类型?
答:Context-type

redis:

1、为什么redis这么快?

  • 单线程
  • 强大的底层数据结构
  • 基于内存

2、redis可变字符串和跳表的原理
3、持久化方案

项目题:

1、如果一个接口的响应慢,怎么排查?
答:

  • 是否服务器本身压力过大,从CPU,内存方面讲解
  • 如果是该接口问题,则从接口逻辑入手
  • 接口逻辑是CPU密集型导致响应慢,那么考虑优化算法之类
  • 接口逻辑是I/O密集型导致响应慢,那么考虑数据库索引方面

2、偶发性的BUG你们公司是怎么处理的
答:从日志方面入手,最主要是能收集到当初发生BUG时的信息,以便更好的深入
3、你们公司的日志是怎么记录和处理的?
答:什么情况记录日志,记录哪些信息,怎么使用日志来收集信息,排查问题等等
4、如果不想让外部看到500错误,怎么处理?
答:

  • 业务error,状态码还是设置200,用错误码来代表错误
  • 中间件+recove+ panic

面试时,只答了上面两种情况,面试官补充了一个情况,如果整个服务器都崩溃了,怎么处理?(没答出来)

语言相关

1、说一说context的使用
2、append时的过程
3、一个二维数组,行遍历快还是列遍历快,为什么?
参考:https://blog.csdn.net/shuffle_ts/article/details/89420651
4、并发读写map会发生什么?怎么避免?

liunx命令相关

1、怎么查看一个程序是否正常运行,该程序端口为801
2、怎么查找一个文件
3、怎么查找一个字符串,在哪些文件里
4、top命令信息解读

算法题:

删除链表的倒数第N个元素