**
2019.6.25 玖富面试
- 设计个秒杀应该注意的事项,和设计方案?
- jdk代理和cglib有什么不同?
- aqs是什么?
- mysql怎么优化?
- 你公司哪个项目哪个业务的哪个接口qps最高,达到多少?怎么处理的?
- jvm调优?
- linux常用命令?
- shareding-jdbc 和mycat的区别,分库分表原则或策略?
**
2019.6.27
上午 博彦科技 - mysql怎么优化?
- 分布式数据库什么时候使用?
- cansandra的选型原因?
下午 - cansandra怎么排序?
- mongodb怎么排序?
- syschronized加static和不加有什么区别?
- 设计一个多数据源驱动,select走mysql驱动,update走其他驱动(没明白什么意思)
京东 - dubbo接口怎么实现的?为何只有一个接口不报错,里面的逻辑是什么?
- 如果数据库更新一个值,但是redis还没有同步,此时来了400万qps,怎么防止缓存击穿?
- redis连接池不够了怎么办?
- springboot starter的原理?
- 你常用的springboot注解?
- MySQL 不同引擎索引存储结构,name列是索引怎么存储的?
- 单例模式下,双重验证
package com.dyg.singleton;
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
}
- 无参构造函数为什么是私有的?
- syschronized加在方法上和加在方法内部有什么区别?
- syschronized 前加static和不加static有什么区别?
- 如果还有public类型的有参构造方法,会产生什么问题?
- 如果在加一个获取实例的方法2,此时main方法里,顺序2个方法调用,哪个先执行完?如下代码
package com.dyg.singleton;
public class Singleton {
private static volatile Singleton instance;
private Singleton() {}
public static Singleton getInstance1() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
public static Singleton getInstance2() {
if (instance == null) {
synchronized (Singleton.class) {
if (instance == null) {
instance = new Singleton();
}
}
}
return instance;
}
public static void main(String[] args) {
Singleton s1 = Singleton.getInstance1();
Singleton s2 = Singleton.getInstance2();
}
}