• 面试-框架篇


    Spring
    1、BeanFactory 和 ApplicationContext 有什么区别:ApplicationContext继承自BeanFactory,多了父子容器,默认预先初始化全部单例,资源访问

    2、Spring Bean 的生命周期:

    3、Spring IOC 如何实现:反射

    4、说说 Spring AOP:

    5、Spring AOP 实现原理:动态代理

    6、动态代理(cglib 与 JDK):jdk需要有接口继承,cglib不需要

    7、Spring 事务实现方式:注解@Transaction

    8、Spring 事务底层原理:aop的方式实现了事务控制逻辑植入,aop底层本身又是动态代理

    9、如何自定义注解实现功能:注解声明,注解处理器

    10、Spring MVC 运行流程:dispatcher(Controller)转发请求,查询mapping获取到Action并包装调用(Model)返回结果,获取对应的resolver(View)来处理返回结果

    11、Spring MVC 启动流程:Servlet--->WebApplicationContext(初始化父级容器applicationContext.xml,再初始化子级容器spring-servlet.xml)--->springmvc组件

    12、Spring 的单例实现原理:map的方式

    13、Spring 框架中用到了哪些设计模式:工厂模式,单例模式,观察者模式。。。

    14、Spring 其他产品(Srping Boot、Spring Cloud、Spring Secuirity、Spring Data、Spring AMQP 等)

    Netty
    1、为什么选择 Netty:因为netty很好的封装了nio,屏蔽了nio的处理细节,使用方便

    2、说说业务中,Netty 的使用场景:高性能通信的场景,比如rpc调用,消息中间件

    3、原生的 NIO 在 JDK 1.7 版本存在 epoll bug:空转

    4、什么是TCP 粘包/拆包:拆包-数据包过大链路层一个帧放不下,就拆分为多个帧发送|粘包-数据包过小,多个数据包合并到一个帧发送

    5、TCP粘包/拆包的解决办法:

    6、Netty 线程模型:bossEventGroup, WorkEventGroup

    7、说说 Netty 的零拷贝:数据写入和读取共用同一块内核态buffer,不需要内核态和用户态进行切换

    8、Netty 内部执行流程:

    9、Netty 重连实现:

    10、Reactor模型:

    Mybatis:

    1,讲下MyBatis的缓存:一级缓存(session),二级缓存(namespace)

    2,Mybatis的执行过程

    dubbo:

    1、默认使用的是什么通信框架,还有别的选择吗? :netty,有,mina

    2、服务调用是阻塞的吗? :阻塞

    3、一般使用什么注册中心?还有别的选择吗?:zookeeper,有,redis  

    4、默认使用什么序列化框架,你知道的还有哪些? :hession,有,dubbo/java serialization

    5、服务提供者能实现失效踢出是什么原理? :zookeeper的临时节点

    6、服务上线怎么不影响旧版本? :服务版本号

    7、如何解决服务调用链过长的问题? :全链路日志,zipkin

    8、说说核心的配置有哪些? :provider的配置,zk地址的配置,consumer的配置

    9、dubbo推荐用什么协议? :hession

    10、同一个服务多个注册的情况下可以直连某一个服务吗? :可以,需要指定ip

    11、画一画服务注册与发现的流程图

    12、集群容错怎么做? :failover,failfast,broadcast,failsafe(异常忽略),failback(失败记录,定时重发),forking(并行多个,成功一个则返回)

    13、在使用过程中都遇到了些什么问题?

    14、dubbo和dubbox之间的区别? :dubbox支持rest

    15、你还了解别的分布式框架吗?:thrift,hsf

  • 相关阅读:
    14
    12
    11
    js 元素实现全屏和退出全屏功能
    iOS开发之使用苹果测试工具TestFlight(进行内部和外部测试)
    iOS开发之使用fastlane工具实现自动化打包发布
    iOS开发之使用MQTT协议实现远程通讯
    iOS项目功能模块封装SDK使用总结
    iOS技术之SDK开发注意事项
    iOS开发之登录注册系统
  • 原文地址:https://www.cnblogs.com/vindia/p/9070243.html
Copyright © 2020-2023  润新知