虾皮一二面
2024-09-21 虾皮一面
- 自我介绍
- 浏览器输入一条 URL 发生了什么
- HTTPS 和 HTTP 区别
- 如果有多个服务器,输入的 IP 是如何找到对应的服务器地址的(提了一下可能是负载均衡,其实不知道是啥)
- 负载均衡相关的工具和算法
- 多个服务器之间通过什么协议交互(答:RPC)
- HTTP 是否可以用于多个服务器之间交互?为什么选用 RPC 而不是 HTTP 呢?
- GO 的 GMP 模型
- MySQL 为什么采用 B+ 树而不是 B 树、跳表作为索引?
- MySQL 单表存放的记录的上限大概多大?
- 聚簇索引和非聚簇索引区别,联合索引是哪种?
- 联合索引 (a, b, c),查询条件为 where a = 1 and c = 1,会用到索引吗? where b = 1 and c = 1 是否用到索引?where a = 1 会用到索引吗?where a > 10 and b = 10 会用到索引吗?这里进一步问了,会直接全表扫描然后回表吗?(答了索引下推)where a not in (....) 会用到索引吗?where a in (...) 会用到索引吗?
- 当服务器操作数据库比较慢的时候,如何排查?(答了索引失效一些场景,追问:非 SQL 问题,譬如数据库连接池?不会了)
- Redis 的几种基础数据类型
- Redis 和 MySQL 缓存一致性如何保证
- 延迟双删是否一定能保证缓存一致?(面试官补充:主从架构,从节点没及时更新可能会不一致)
- Redis 持久化机制
- 缓存击穿、缓存雪崩如何解决
- 算法:实现最小栈
2024-09-29 虾皮二面
- 自我介绍
- 简单介绍一下项目
- 输入一条 URL 的全过程
- 来自不同的地方请求一个服务,如何让用户就近访问,从网络各层当中分析
- DNS 用的什么协议
- UDP 协议传输较大的数据的时候存在什么问题
- TCP 的四次挥手
- 第二个包发完之后,就是客户端收到那个 ACK 之后,服务端还可以继续发数据给客户端吗?
- 四次挥手为什么客户端要等待一段时间
- 什么是 IO 多路复用
- 什么时候用 select,什么时候用 epoll?
- 线程池大小如何设置?为什么 IO 密集型是 2 倍
- 上下文切换开销是什么
- 算法题:力扣 152