刷题专栏:http://t.csdnimg.cn/gvB6r
目录
一、从简历项⽬中选⼀个项⽬,说说你在其中遇到了什么重⼤挑战?以及你的解决问题的思路?
二、⼀段代码要执⾏多个redis命令,不加锁的情况下如何保证原⼦性?
五、mysql哪个版本哪个存储引擎的索引使⽤的B+tree,为什么不使⽤红⿊树
九、介绍下springcloud各个组件?springcloud的注册中⼼除了eureka还可以⽤什么?
十二、dubbo有⼏种负载均衡?负载均衡是在服务端还是客户端
十四、说说你看过的源码?其中⽤到了什么设计模式或者设计亮点?
十七、spring bean作⽤域,什么时候使⽤request作⽤域
一、从简历项⽬中选⼀个项⽬,说说你在其中遇到了什么重⼤挑战?以及你的解决问题的思路?
二、⼀段代码要执⾏多个redis命令,不加锁的情况下如何保证原⼦性?
三、谈谈数据结构,⽐如⼆叉树、红⿊树?
四、说说B-tree 、B+tree的区别和使⽤场景
B-tree
B+tree
五、mysql哪个版本哪个存储引擎的索引使⽤的B+tree,为什么不使⽤红⿊树
六、⼏种常⻅的消息中间件的区别
七、rabbitmq如何保证消息的可靠性
八、springcloud服务发现原理
九、介绍下springcloud各个组件?springcloud的注册中⼼除了eureka还可以⽤什么?
springcloud的⼯作原理
springcloud由以下⼏个核⼼组件构成:
注册中⼼还可以⽤zookeeper。
十、微服务有⼏种限流⽅式
十一、限流的情况下,服务隔离还有没有必要
十二、dubbo有⼏种负载均衡?负载均衡是在服务端还是客户端
十三、如何实现redis分布式锁?需要注意什么问题?
十四、说说你看过的源码?其中⽤到了什么设计模式或者设计亮点?
具体分析,⾯试前需要熟读⼀些源码,如spring源码。
十五、如何实现aop?项⽬中哪些地⽅⽤到了 aop?
十六、Spring中bean后置处理器的作用
十七、spring bean作⽤域,什么时候使⽤request作⽤域
十八、说说下⾯这道题的结果
public class VolatileTest {
public static volatile int race = 0;
public static void increase() {
race ++;
}
private static final int THREADS_COUNT = 10;
public static void main(String[] args) {
Thread[] threads = new Thread[THREADS_COUNT];
for (int i = 0; i < THREADS_COUNT; i++) {
threads[i] = new Thread(new Runnable() {
@Override
public void run() {
for (int j = 0; j < 10000; j ++) {
increase();
}
}
});
threads[i].start();
}
while(Thread.activeCount() > 1) {
Thread.yield();
}
System.out.println(race);
}
}