一、数据库的隔离级别分哪些?
https://www.cnblogs.com/fjdingsd/p/5273008.html 数据库隔离级别包括串行,可重复读,读已提交,读未提交,在jdbc中需要设置autoCommit(false)来开启事务,然后设置setTransactionIsolation(隔离级别)
二、为什么redis没用一致性hash,选用的hash槽
首先需要了解什么是一致性hash,一致性hash就是将设备和对象映射到一个封闭的环中详细可以查看文章https://blog.csdn.net/cywosp/article/details/23397179/
三、redis怎么实现分布式锁
https://www.cnblogs.com/linjiqin/p/8003838.html
加锁的时候通过set设置锁的过期时间,并设置
String result = jedis.set(lockKey, requestId, SET_IF_NOT_EXIST, SET_WITH_EXPIRE_TIME, expireTime);
if (LOCK_SUCCESS.equals(result)) { return true; } 解锁则可以String script = "if redis.call('get', KEYS[1]) == ARGV[1] then return redis.call('del', KEYS[1]) else return 0 end";
Object result = jedis.eval(script, Collections.singletonList(lockKey), Collections.singletonList(requestId)); if (RELEASE_SUCCESS.equals(result)) { return true; }
四、使用mysql索引有哪些原则?索引什么数据结构,b+tree 和tree 什么区别
https://www.cnblogs.com/shijianchuzhenzhi/p/6383117.html
五、mysql有哪些存储引擎,都有什么区别
inodb . myisam,memory,merge, myisam不支持事物也不支持外键,inodb支持事物,memeory支持hash和b+tree索引
六、设计高并发系统数据库层面该怎么设计,数据库锁有哪些类型,如何实现
分库分表。https://blog.csdn.net/samjustin1/article/details/52210125 共享锁,排他锁,更新锁何时加锁加什么锁由数据库自行决定,也可以通过hint指定锁
七、数据库事物有哪些
串行,可重复读,读已提交,读未提交
八、redis和memchached什么区别,为什么单线程的redis比多线程的memchached效率要高
https://www.biaodianfu.com/redis-vs-memcached.html
九。redis有哪些数据类型,都在哪些场景下使用
string :常规的存储键值对字符串类型
Hash:多用于存储对象
List:多可用作队列
set:无序的不重复数据集合
sortSet:有序的set集合,可用作
十、rdis的主从复制是怎么实现的、redis的集群模式是怎么实现的,redis的key是如何寻址的
https://blog.csdn.net/hechurui/article/details/49508813 主设备负责写,然后通过sync将写的命令同步至从设备,从设备负责读,来实现读写分离
集群配置则需要配置哨兵模式https://blog.csdn.net/zhanglong_longlong/article/details/78434122
十一、使用redis如何设计分布式锁,使用zk可以吗,如何实现的,这两种哪种效率更高
十二、redis的持久化,都有什么缺点和优点,具体底层怎么实现的
https://www.cnblogs.com/chenliangcl/p/7240350.html
关键命令配置,快照持久化save , ROF持久化appendfsync
十三、redis过期策略都有哪些,LRU , 写下java版本的代码
十四、dubbo支持哪些序列化协议,hessian,说一下hessian的数据结构,,pb知道吗,说一下pb效率为什么是最高的
十五、NIO,BIO,AIO都是什么,有什么区别
十六、B+,B-树区别,好处
十七、innoDB,MylSAM区别?主键索引,辅助索引
十八、kafka是否能多次消费,topic partion segment index log ?
十九、linux incode ?软连接和硬链接的区别
二十、服务注册发现的原理
二十一、线程池,四种,executorService , executor ,executors
二十二、N个数中求最大一个数,两个数,100个数
二十三、青蛙一次可以跳1级台阶,2级台阶,。。。n级台阶,求跳上N级台阶一共有几种算法
二十四、两个栈实现队列
二十五、十进制转2进制
二十六、spring cloud的主要组件和作用
二十七、spring boot starter的运行机制
二十八、zookeeper的分布式锁选取原理