面试题系列2

1.Dubbo原理,Dubbo负载均衡策略,

https://blog.csdn.net/u010682330/article/details/79542665

2.数据库分库分表,采用的技术(Mycat,Sharding-jdbc),

3.数据库不停机数据拆分(而且业务不停,CAP限制了我,这个真不会),

4.分布式锁及其实现原理(Mysql,ZK,Redis),

5.表单防重提交(前端按钮置灰,后端幂等),

6.LRU,并且实现插入,删除复杂度O(1),(面试官说用HashMap加双向链表,但是HashMap的复杂度也不是O(1)啊),

https://blog.csdn.net/wangxilong1991/article/details/70172302

android中的LRUCache 和DiskLRUCache解读 

https://blog.csdn.net/pgg_cold/article/details/79457987

都是利用linkedhashmap实现的,一个缓存到内存,一个缓存到硬盘。

7.微服务接口调用失败了咋整(主要根据业务类型,说了一下2PC,3PC,TCC,服务高可用,重试,熔断,降级),

8.接口重试以及原理(Feign,Ribon,Hystric,简单说一下,原理看过,说不太上来),

dubbo可以通过设置属性的方式,设置重试

spring 也提供了重试的方式

接口重试,一定要考虑幂等了

9.线程池的参数及其含义(回答了四种线程池和自定义线程池的参数,后面面试官告诉我Hystric也是这个原理),

https://blog.csdn.net/qq_23181091/article/details/80785453

https://blog.csdn.net/liubenlong007/article/details/79744417

涉及的两个涉及模式

命令模式

https://www.cnblogs.com/konck/p/4199907.html

https://www.cnblogs.com/ysw-go/p/5413814.html

观察者模式

https://blog.csdn.net/u012250875/article/details/77747878

看源码里面有用到Rxjava的知识,看了下

https://www.imooc.com/article/68834

 java的Observable类中,notifyObservers(Object arg)和notifyObservers()的区别

https://blog.csdn.net/leochen_career/article/details/52964208

10.线程池参数设定依据(分CPU密集型和IO密集型),

https://blog.csdn.net/weixin_40151613/article/details/81835974

线程池参数详解

http://www.cnblogs.com/waytobestcoder/p/5323130.html

11.Mysql索引(引擎,索引类型,事务,锁行锁表,索引底层数据结构),

12.Mysql主键自增,加入当前主键是10,删掉该条记录之后,再插入一条,主键是10还是11(这个真不会,面试官说跟引擎相关)

自己动手试了下,InnoDB下自增id删除后不会连续,MyISAM下可以连续,为什么是这样?

13.HashMap和HashTable区别,HashSet原理。

Iterator 和 Iterable的区别、介绍

https://blog.csdn.net/sydMobile/article/details/51916969

基础决定高度,面试很大程度考的都是基础问题,所以一定要夯实基础。

猜你喜欢

转载自blog.csdn.net/u014353343/article/details/88885844