阿里云一面
本科,感觉是kpi,并且面试途中一直信号不好,还挂了面试官两次。
一共两小时。
首先是自我介绍,简单的讲了一下实习期间的项目
面试官反问项目中不合理的地方,这里回答的有些不好,面试官问的问题有些名词没懂。实习项目用了差不多20min
1、实习中有用到redis吗,哪些场景用到了
2、如何保证数据库和缓存之间的一致性,有其他的实现方式吗
3、缓存穿透的问题应该如何解决
4、用redis遇到过什么问题吗(没有,但是还是得硬编)
5、讲一下责任链模式
6、如何解决高并发的购票场景
7、集群场景如何保证限流的操作(我用了令牌桶)
8、讲一下这套限流方案存在的问题
9、分库分表按照什么规则分的,根据哪个键。
10、多库多表怎么做联合查询,分页查询,有没有了解过成熟的方案
11、用户表的主键怎么设计的
12、主键自增会有什么问题
13、雪花算法的优缺点,原理
14、什么时候索引会失效
15、一般在哪些字段上加索引,加索引的原则是什么
16、讲一下聚簇索引
17、b+树和红黑树有什么区别
18、分库分表如何保障事务
19、数据库的乐观锁和悲观锁之间的区别
20、多线程有哪些锁,有用过线程池吗
21、工作队列满了,任务进来,会先创建线程执行进来的任务,怎么改变使得先执行工作队列里的任务
22、可重复读是怎么实现的,mvcc详细讲一下
23、动态调整线程池参数有哪些依据
24、threadlocal为什么会有内存泄漏的问题,为什么要用弱引用(这里回答的不好,没有理解为什么要这么设计,回去看看)
25、多线程如何保证线程安全,在项目里有用过吗
26、读锁和写锁的应用场景,读锁可以加写锁吗,写锁可以加读锁吗,写锁可以降级为读锁吗(这里回答错了)
27、双亲委派模型,如何打破
28、做题,两个线程分别打印数字和中序遍历
最后反问自己的不足,业务理解不够,对于框架由自己的理解,但是不够深入,需要实习积累。
自我反思了一下,说话不应该说一句额一下,显得不稳重。