04.26 Java面試通關要點彙總集之微服務篇參考答案

微服務篇

微服務

  • 前後端分離是如何做的

    在前後端分離架構中,後端只需要負責按照約定的數據格式向前端提供可調用的API服務即可。前後端之間通過HTTP請求進行交互,前端獲取到數據後,進行頁面的組裝和渲染,最終返回給瀏覽器。

    | 後端 | 前端 | |

    | ------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |

    | 服務器 | 瀏覽器 | |

    | JAVA | NodeJS | JS + HTML + CSS |

    | 服務層提供數據接口維持數據穩定封裝業務邏輯 | 跑在服務器上的JS轉發數據,串接服務路由設計,控制邏輯渲染頁面,體驗優化更多的可能 | 跑在瀏覽器上的JSCSS、JS加載與運行DOM操作任何的前端框架與工具共用模版、路由 |

    參考自: https://www.jianshu.com/p/fc0c63404cc7 和 http://2014.jsconf.cn/slides/herman-taobaoweb/index.html#/69

  • 微服務哪些框架

    Dubbo,是阿里巴巴服務化治理的核心框架,並被廣泛應用於阿里巴巴集團的各成員站點。阿里巴巴近幾年對開源社區的貢獻不論在國內還是國外都是引人注目的,比如:JStorm捐贈給Apache並加入Apache基金會等,為中國互聯網人爭足了面子,使得阿里巴巴在國人眼裡已經從電商升級為一家科技公司了。

    Spring Cloud,從命名我們就可以知道,它是Spring Source的產物,Spring社區的強大背書可以說是Java企業界最有影響力的組織了,除了Spring Source之外,還有Pivotal和Netfix是其強大的後盾與技術輸出。其中Netflix開源的整套微服務架構套件是Spring Cloud的核心。

    參考自:http://blog.didispace.com/microservice-framework/

  • 你怎麼理解 RPC 框架

    請參考: https://www.zhihu.com/question/25536695

  • 說說 RPC 的實現原理

    首先需要有處理網絡連接通訊的模塊,負責連接建立、管理和消息的傳輸。其次需要有編解碼的模塊,因為網絡通訊都是傳輸的字節碼,需要將我們使用的對象序列化和反序列化。剩下的就是客戶端和服務器端的部分,服務器端暴露要開放的服務接口,客戶調用服務接口的一個代理實現,這個代理實現負責收集數據、編碼並傳輸給服務器然後等待結果返回。

    參考自: https://liuzhengyang.github.io/2016/12/16/rpc-principle/

  • 說說 Dubbo 的實現原理

    dubbo作為rpc框架,實現的效果就是調用遠程的方法就像在本地調用一樣。如何做到呢?就是本地有對遠程方法的描述,包括方法名、參數、返回值,在dubbo中是遠程和本地使用同樣的接口;然後呢,要有對網絡通信的封裝,要對調用方來說通信細節是完全不可見的,網絡通信要做的就是將調用方法的屬性通過一定的協議(簡單來說就是消息格式)傳遞到服務端;服務端按照協議解析出調用的信息;執行相應的方法;在將方法的返回值通過協議傳遞給客戶端;客戶端再解析;在調用方式上又可以分為同步調用和異步調用;簡單來說基本就這個過程

    鏈接:https://www.zhihu.com/question/52133065/answer/129153953

  • 你怎麼理解 RESTful

    http://www.cnblogs.com/artech/p/3506553.html

  • 說說如何設計一個良好的 API

    https://juejin.im/entry/59b8d34c6fb9a00a4455dd04

  • 如何理解 RESTful API 的冪等性

    http://blog.720ui.com/2016/restful_idempotent/

  • 如何保證接口的冪等性

    http://www.spring4all.com/article/914

  • 說說 CAP 定理、 BASE 理論

    http://my.oschina.net/foodon/blog/372703

  • 怎麼考慮數據一致性問題

    https://opentalk.upyun.com/310.html

  • 說說最終一致性的實現方案

    http://www.cnblogs.com/soundcode/p/5590710.html

  • 你怎麼看待微服務

    http://dockone.io/article/394

  • 微服務與 SOA 的區別

    http://dockone.io/article/2399

  • 如何拆分服務

    http://dockone.io/article/2516

  • 微服務如何進行數據庫管理

    http://www.uml.org.cn/wfw/201705271.asp

  • 如何應對微服務的鏈式調用異常

    http://blog.720ui.com/2017/msa_design/?utm_source=tuicool&utm_medium=referral

  • 對於快速追蹤與定位問題

    依賴日誌

  • 微服務的安全

    http://dockone.io/article/1507

分佈式

  • 談談業務中使用分佈式的場景

    https://segmentfault.com/q/1010000006095431/a-1020000006114658

  • Session 分佈式方案

    https://yq.aliyun.com/articles/387723

  • 分佈式鎖的場景

    https://yq.aliyun.com/articles/465311

  • 分佈是鎖的實現方案

    https://yq.aliyun.com/articles/60663

  • 分佈式事務

    http://www.hollischuang.com/archives/681

  • 集群與負載均衡的算法與實現

    https://yq.aliyun.com/articles/218895

  • 說說分庫與分表設計

    http://blog.720ui.com/2017/mysql_core_08_multi_db_table/

  • 分庫與分錶帶來的分佈式困境與應對之策

    http://blog.720ui.com/2017/mysql_core_09_multi_db_table2/

安全問題

  • 安全要素與 STRIDE 威脅

    http://blog.720ui.com/2017/security_stride/

  • 防範常見的 Web 攻擊

    http://blog.720ui.com/2016/security_web/

  • 服務端通信安全攻防

    http://blog.720ui.com/2016/security_data_transmission/

  • HTTPS 原理剖析

    http://blog.720ui.com/2016/security_https/

  • HTTPS 降級攻擊

    http://blog.jobbole.com/106792/

  • https://www.jianshu.com/p/cda95dff698c

  • 基於角色的訪問控制

    https://www.douban.com/note/259930498/

  • 基於數據的訪問控制

    https://www.zhihu.com/question/64888533

性能優化

  • 性能指標有哪些

    https://www.douban.com/note/168911628/

  • 如何發現性能瓶頸

    http://blog.csdn.net/shan9liang/article/details/24035001

  • 性能調優的常見手段

    http://blog.csdn.net/jyonghu003/article/details/70055832

  • 說說你在項目中如何進行性能調優

    https://www.jianshu.com/p/08d029607b9a


分享到:


相關文章: