腾讯PCG 后台一面
2024.3.27 腾讯pcg一面 40min
- 自我介绍
- 一道算法题,最大连续子数组和(边界条件没考虑好,提示之下想到改过来了)
- 问第一个项目相关的问题,记录几个答得不好的
- 用了redis哪些数据结构,命令
- 用的MySQL版本,存储引擎,区别(看过了解的不深,完全忘了,重新学习总结一下)
- Innodb支持事务和四种隔离级别,事务机制结合日志可以更好的处理数据库崩溃恢复的问题,MyIsam不支持事务
- Innodb读时MVCC,写时支持行级锁和表级锁,可以更好的支持高并发情况,MyIsam只支持表级锁,并发性能差
- Innodb支持外键,MyIsam不支持外键
- Myisam支持全文索引
- Innodb是聚簇索引,MyIsam是非聚簇索引,只读情况下MyIsam的IO次数更少
- 雪花算法时钟回拨问题(刷到过忘了,回答的完全不是一个问题,学习的时候还是得认真才行)
- 时钟回拨问题:由于机器时间重置或者网络延迟,造成时间戳部分回退到之前的时间
- 解决方法:① 检查发现时间戳回退的话短时间阻塞直到恢复正常 ② 把时间戳对应的最尾序列号持久化到硬盘,回退的话从之前最尾的序列号开始自增
- set最多可以存储多少数据(没考虑过这个问题,查也没查到,是只受redis内存限制吗)
- 评论区佬说的应该是对的受dictht里记录entry个数的unsigned long数据类型限制
- 官网验证了一下确实是 2^32 - 1 https://redis.io/docs/data-types/sets/#limits
- 问有没有实习或者实验室的项目(无)
- 反问:部门业务,建议(面试官不愿意回答,跟面试无关)
答得不好,凉!