十大微服務面試問題
問題1: 逐步說明您如何開發REST API。
回答: 假設,如果我必須開發一個新的REST API,以從給定產品的庫存中獲取可用物品的數量。在高階別上,我將執行以下操作,
- 確定適用於該API的HTTP方法,
- 確定API的端點,
- 確保網址到控制器的對映到位,
- 部署應用程式,並確保API框架執行正常。
- 接下來,按照編碼指南和專案程式碼結構新增所需的業務邏輯,
- 在API中新增所需的驗證,
- 新增邏輯以從資料來源獲取產品庫存,
- 在API中包括異常處理
- 新增單元測試用例,
- 測試API
問題2: 開發REST API時,何時使用HTTP動詞GET,PUT,POST,DELETE?
回答: 假設我們必須建立API,以便從庫存中建立,更新,刪除和檢視產品資訊。在這種情況下,我將使用
- GET,用於檢視庫存中的產品資訊
- POST用於在庫存中建立產品資訊
- PUT用於更新庫存中的產品資訊
- Delete以從庫存中刪除產品資訊
問題3: URI引數和查詢字串引數有什麼區別?
答: 好的,讓我用一個例子來解釋一下。
api / product / {productname} / items,此處productname是URI引數。
api / product / items?productname = mobile,此處productname是查詢字串引數。
問題4: 如何從REST API返回錯誤響應和有效響應?
回答: 為了返回有效的響應,將使用200狀態程式碼。對於返回錯誤,將使用適當的狀態程式碼,例如,如果在庫存中未找到產品,則返回404錯誤。如果發生一些未處理的異常,則返回500錯誤,依此類推。
問題5: 您已經開發了一個REST API作為微服務的一部分,並將其構建並部署在本地計算機上。現在,如何在本地計算機上測試REST API?
回答: 一旦將應用程式部署到本地或伺服器上,我通常使用postman來測試API。另外,在REST API的開發過程中,我還將包括單元測試用例。
問題6: REST API已部署在開發伺服器上,並已與UI整合。現在,如果需要,您將如何從UI除錯REST API呼叫?
回答: 我們可以使用開發人員工具並查詢對API的網路呼叫。例如,在Google Chrome瀏覽器中,使用F12,我們可以啟動開發人員工具。然後從“網路”選項卡中,我們可以過濾掉XHR請求,並檢視任何API URL的請求/響應。在捕獲了有關請求有效負載的必需資訊之後,將進一步檢視日誌以查詢正在發生的情況,如果給定的請求有效負載需要,還將透過程式碼進行除錯。
問題7: 您如何驗證使用者訪問REST API?
回答: 我們使用身份驗證令牌,並將其作為請求標頭傳遞給API請求。
問題8: 什麼是過濾器/中介軟體?在哪種情況下,將使用它?
回答: 可以使用過濾器/中介軟體在API控制器執行之前或之後新增任何其他邏輯。例如,如果我們想在執行API之前強制執行身份驗證,授權,則可以在過濾器/中介軟體的幫助下完成。另一個示例可能是記錄API執行的進入和退出或測量時間。
問題9: 微服務中的日誌記錄和跟蹤有什麼區別?您使用哪些工具檢視它們?
回答: 透過跟蹤,可以跟蹤完整的請求,以便檢視API的執行路徑。我們通常根據相關性ID對其進行跟蹤。在這種情況下,即使請求也跨多個api,也可以檢視完整的執行跟蹤。我們使用了Jaeger(或任何其他跟蹤工具)工具。
日誌是除錯/故障排除的便捷參考。我們使用E lastic- L ogstash- K ibana進行日誌記錄。
問題10: 什麼是Swagger?有什麼用?
答案: Swagger提供了一個不錯的UI,顯示了微服務的可用API。它還提供了嘗試和執行API的功能。當我們必須與其他團隊(例如文件等)一起工作時,我們也將其用作方便參考。
相關文章
- 微服務異常問題微服務
- 微服務思考(02):微服務實施前有哪些問題?微服務
- springcloud 微服務面試SpringGCCloud微服務面試
- 微服務架構分散式事務管理問題微服務架構分散式
- 2021年50個頂級微服務面試問答題 - hackr.io微服務面試
- SpringCloud微服務帶來的問題SpringGCCloud微服務
- 20道你必須要背會的微服務面試題,面試一定會被問到微服務面試題
- BAT面試經典送送送命題——微服務架構BAT面試微服務架構
- 2019年必須掌握的29個微服務面試問題(含答案解析)微服務面試
- 如何避免微服務設計中的耦合問題微服務
- 【助力2020面試】精心整理85道Java微服務面試題(含答案)Java微服務面試題
- BAT 面試 Java 崗常問高頻 100 題:Spring+ 微服務 +SpringMVC+MyBatis面試Java微服務SpringMVCMyBatis
- 「微服務」這10道Consul面試題值得一看微服務面試題
- 面試都在問的微服務、服務治理、RPC、下一代微服務... 一文帶你徹底搞懂!面試微服務RPC
- 關於.NET微服務最熱門的問題解答微服務
- 微服務閘道器 gateway 跨域問題解決微服務Gateway跨域
- 微服務改造中解決跨庫問題的思路微服務
- 微服務場景下效能問題排查神器之xrebel微服務
- 面試官靈魂三問:什麼是SOA?什麼是微服務?SOA和微服務有什麼區別?面試微服務
- 大廠微服務及後端基礎若干面試題總結微服務後端面試題
- 面試問題面試
- 詢問面試官的面試問題面試
- 面試反問問題面試
- 微服務的顆粒度難題:找到合適的微服務大小微服務
- 【Azure微服務 Service Fabric 】Service Fabric中應用開啟外部訪問埠及微服務之間通過反向代理埠訪問問題微服務
- 如何解決微服務之間的資料依賴問題?微服務
- 微服務面試必問的Dubbo,這麼詳細還怕自己找不到工作?微服務面試
- 【面試】面試題之汽水空瓶子問題面試題
- Typescript 面試問題TypeScript面試
- Hive 面試問題Hive面試
- iOS 面試問題iOS面試
- java面試問題Java面試
- 面試題:階乘問題面試題
- 每日郵報:盤點科技公司面試中出現的十大奇葩問題面試
- 【面試】面試常見問題整理面試
- 面試時,你會問面試官哪些問題?面試
- 微服務介面單測依賴問題一次性搞定微服務
- 生產環境部署springcloud微服務啟動慢的問題排查SpringGCCloud微服務