腾讯广告面经
1.redission的底层实现(之前看过忘了),锁的续期逻辑,续期会使用啥
https://blog.csdn.net/m0_71777195/article/details/131674149
2.redission底层有使用过线程池吗
3.redis的端口
- 默认端口:6379:这是 Redis 的默认端口,用于客户端与 Redis 服务器之间的通信。
- 集群模式:16379:在 Redis 集群模式下,通常使用这个端口来启动集群节点。
4.算法题:最大不重复子串
5. 优化器选择不走索引的情况
1. 表数据量过小
- 当表数据量 < 优化器阈值(通常几百行)时,全表扫描可能更快
- 解决方案:无需优化,这是合理行为
2. 索引选择性差
sql复制-- 性别列只有'M'/'F'两个值,索引效果差 SELECT * FROM users WHERE gender = 'M'; -- 解决方案: -- 1. 考虑删除低选择性索引 -- 2. 组合高选择性列建立复合索引 CREATE INDEX idx_gender_age ON users(gender, age);
3. 查询覆盖大部分数据
- 当查询需要访问 > 20-30% 数据时,优化器可能选择全表扫描
- 解决方案:使用
FORCE INDEX
强制使用索引(需谨慎)
其他八股:
redis使用过啥,JVM运行时数据区的组成,String的父类,StringBuffer,StringBuilder,