微服務篇
微服務
- 前後端分離是如何做的
在前後端分離架構中,後端只需要負責按照約定的數據格式向前端提供可調用的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中是遠程和本地使用同樣的接口;然後呢,要有對網絡通信的封裝,要對調用方來說通信細節是完全不可見的,網絡通信要做的就是將調用方法的屬性通過一定的協議(簡單來說就是消息格式)傳遞到服務端;服務端按照協議解析出調用的信息;執行相應的方法;在將方法的返回值通過協議傳遞給客戶端;客戶端再解析;在調用方式上又可以分為同步調用和異步調用;簡單來說基本就這個過程
- 你怎麼理解 RESTful
- 說說如何設計一個良好的 API
- 如何理解 RESTful API 的冪等性
- 如何保證接口的冪等性
- 說說 CAP 定理、 BASE 理論
- 怎麼考慮數據一致性問題
- 說說最終一致性的實現方案
- 你怎麼看待微服務
- 微服務與 SOA 的區別
- 如何拆分服務
- 微服務如何進行數據庫管理
- 如何應對微服務的鏈式調用異常
- 對於快速追蹤與定位問題
- 微服務的安全
分佈式
- 談談業務中使用分佈式的場景
- Session 分佈式方案
- 分佈式鎖的場景
- 分佈是鎖的實現方案
- 分佈式事務
- 集群與負載均衡的算法與實現
- 說說分庫與分表設計
- 分庫與分錶帶來的分佈式困境與應對之策
安全問題
- 安全要素與 STRIDE 威脅
- 防範常見的 Web 攻擊
- 服務端通信安全攻防
- HTTPS 原理剖析
- HTTPS 降級攻擊
- 授權與認證
- 基於角色的訪問控制
- 基於數據的訪問控制
性能優化
- 性能指標有哪些
- 如何發現性能瓶頸
- 性能調優的常見手段
- 說說你在項目中如何進行性能調優
針對於上面所涉及到的知識點我總結出了有1到5年開發經驗的程序員在面試中涉及到的絕大部分架構面試題及答案做成了文檔和架構視頻資料免費分享給大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分佈式、高併發等架構技術資料),希望能幫助到您面試前的複習且找到一個好的工作,也節省大家在網上搜索資料的時間來學習,也可以關注我一下以後會有更多幹貨分享。
資料獲取方式:【點贊+關注】然後私信我【資料】即可免費獲取!
閱讀更多 程序人生a 的文章