转载声明:文章来源https://www.nowcoder.com/discuss/443176341131755520
前言
1月4号boss投递->1月5号笔试->1月11号一面
一面(45min)
自我介绍
实习经历(5min)
Redis
1.如何实现一个可重入的分布式锁?
2.假如有多个线程去争夺这把锁,线程A获得这把锁,在哪几种情况下线程A会去释放这把锁?
3.同样是有多个线程去争夺这把锁,线程A获得这把锁,但是因为某些原因,线程A所在机器宕机了,然而这把锁的超时时间还比较长,这个情况下该如何解决死锁问题?(续期机制)
4.还是使用Redis实现分布式锁,一个线程获得锁之后,其他阻塞的线程如何去监听锁的释放以及去抢夺这把锁?(订阅锁释放事件)
5.Redis是什么?简述它的优缺点?
6.讲一讲Redis持久化机制?
7.使用save生成RDB文件会有什么缺点?如何解决?
8.Redis如何保证生成的RDB文件数据一致性?(写时复制)
9.bgsave指令工作原理?
10.AOF为什么要先执行命令再记日志呢?
11.AOF的缺陷?
12.AOF三种写回策略?以及如何去选择这三种写回策略?
Java基础
1.讲一下BIO,NIO,AIO的区别?
2.select、poll 和 epoll 之间的区别?
3.epoll的底层数据结构是什么?
JUC
1.讲讲线程池的工作方式?
2.线程池有哪几种阻塞队列?
3.讲讲synchronized底层实现原理?
4.讲一讲volatile的底层实现原理?
MySQL
1.讲一下对索引的理解?
2.B+树和B树的区别?
3.讲一下最左匹配原则?
4.假设建立(a,b,c)联合索引,有一条查询语句,SELECT * FROM table WHERE b = 1 and c = 2 and a = 3,会用上索引吗?
JVM
1.垃圾回收算法有哪些?
2.G1垃圾回收器如何实现可预测的停顿?即能让使用者明确指定在一个长度为M毫秒的时间片段内,消耗在GC上的时间不得超过N毫秒。
3.G1垃圾回收器的回收时机有哪些?
数据结构
1.了解哪些排序算法?
2.快速排序的实现原理?
反问
1.部门的业务?
2.部门的技术栈?
UI设计发展前景怎么样
感人,这个类型我终于做对了