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