前言
这段时间一直在学习Netty
相关知识,因为涉及知识点比较多,也走了不少弯路。目前网上关于Netty学习资料琳琅满目,不知如何下手,其实大家都是一样的,学习方法和技巧都是总结出来的,我们在没有找到很好的方法之前不如按部就班先从基础开始,一般从总分总的渐进方式,既观森林,又见草木。
Netty
是一款提供异步的、事件驱动的网络应用程序框架和工具,是基于NIO
客户端、服务器端的编程框架。所以这里我们先以NIO
和依赖相关的基础铺垫来进行剖析讲解,从而作为Netty
学习之旅的一个开端。
第一家是美团
美团的话,三面下来,设计的内容知识也是挺广的吧,有MySQL、Redis、Kafka、线程、算法、+、volatile、线程、并发、设计模式等等…
一面问题:MySQL+Redis+Kafka+线程+算法
-
mysql知道哪些存储引擎,它们的区别
-
mysql索引在什么情况下会失效
-
mysql在项目中的优化场景,慢查询解决等
-
mysql有什么索引,索引模型是什么
-
B-树与B+树的区别?为什么不用红黑树
-
mysql主从同步怎么做
-
乐观锁与悲观锁的区别?
-
binlog日志
-
redis 持久化有哪几种方式,怎么选?
-
redis 主从同步是怎样的过程?
-
redis 的 zset 怎么实现的?
-
redis key 的过期策略
-
hashmap 是怎样实现的?为什么要用红黑树,而不用平衡二叉树?为什么在1.8中链表大于8时会转红黑树?HashMap为什么线程不安全的?
-
如何实现线程安全的hashmap?
-
select 和 epoll的区别
-
http与https的区别,加密怎么加的?
-
raft算法详细讲解
-
Kafka 选主怎么做的?
-
kafka如何保证生产与消费都是同步的?
-
kafka 怎么保证不丢消息的
-
redis如何保证高可用
-
算法:剪绳子(贪心或递归解决)
-
算法:给前序和中序遍历,重建二叉树