Spring
一、BeanFactory 和 ApplicationContext 有什么区别:ApplicationContext继承自BeanFactory,多了父子容器,默认预先初始化所有单例,资源访问java
二、Spring Bean 的生命周期:redis
三、Spring IOC 如何实现:反射spring
四、说说 Spring AOP:设计模式
五、Spring AOP 实现原理:动态代理缓存
六、动态代理(cglib 与 JDK):jdk须要有接口继承,cglib不须要session
七、Spring 事务实现方式:注解@Transactionmvc
八、Spring 事务底层原理:aop的方式实现了事务控制逻辑植入,aop底层自己又是动态代理app
九、如何自定义注解实现功能:注解声明,注解处理器框架
十、Spring MVC 运行流程:dispatcher(Controller)转发请求,查询mapping获取到Action并包装调用(Model)返回结果,获取对应的resolver(View)来处理返回结果分布式
十一、Spring MVC 启动流程:Servlet--->WebApplicationContext(初始化父级容器applicationContext.xml,再初始化子级容器spring-servlet.xml)--->springmvc组件
十二、Spring 的单例实现原理:map的方式
1三、Spring 框架中用到了哪些设计模式:工厂模式,单例模式,观察者模式。。。
1四、Spring 其余产品(Srping Boot、Spring Cloud、Spring Secuirity、Spring Data、Spring AMQP 等)
Netty
一、为何选择 Netty:由于netty很好的封装了nio,屏蔽了nio的处理细节,使用方便
二、说说业务中,Netty 的使用场景:高性能通讯的场景,好比rpc调用,消息中间件
三、原生的 NIO 在 JDK 1.7 版本存在 epoll bug:空转
四、什么是TCP 粘包/拆包:拆包-数据包过大链路层一个帧放不下,就拆分为多个帧发送|粘包-数据包太小,多个数据包合并到一个帧发送
五、TCP粘包/拆包的解决办法:
六、Netty 线程模型:bossEventGroup, WorkEventGroup
七、说说 Netty 的零拷贝:数据写入和读取共用同一块内核态buffer,不须要内核态和用户态进行切换
八、Netty 内部执行流程:
九、Netty 重连实现:
十、Reactor模型:
Mybatis:
1,讲下MyBatis的缓存:一级缓存(session),二级缓存(namespace)
2,Mybatis的执行过程
dubbo:
一、默认使用的是什么通讯框架,还有别的选择吗? :netty,有,mina 二、服务调用是阻塞的吗? :阻塞 三、通常使用什么注册中心?还有别的选择吗?:zookeeper,有,redis 四、默认使用什么序列化框架,你知道的还有哪些? :hession,有,dubbo/java serialization 五、服务提供者能实现失效踢出是什么原理? :zookeeper的临时节点 六、服务上线怎么不影响旧版本? :服务版本号 七、如何解决服务调用链过长的问题? :全链路日志,zipkin 八、说说核心的配置有哪些? :provider的配置,zk地址的配置,consumer的配置 九、dubbo推荐用什么协议? :hession 十、同一个服务多个注册的状况下能够直连某一个服务吗? :能够,须要指定ip 十一、画一画服务注册与发现的流程图 十二、集群容错怎么作? :failover,failfast,broadcast,failsafe(异常忽略),failback(失败记录,定时重发),forking(并行多个,成功一个则返回) 1三、在使用过程当中都遇到了些什么问题? 1四、dubbo和dubbox之间的区别? :dubbox支持rest 1五、你还了解别的分布式框架吗?:thrift,hsf