十大微服務面試問題
問題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的功能。當我們必須與其他團隊(例如文件等)一起工作時,我們也將其用作方便參考。
相關文章
- springcloud 微服務面試SpringGCCloud微服務面試
- 2021年50個頂級微服務面試問答題 - hackr.io微服務面試
- 【助力2020面試】精心整理85道Java微服務面試題(含答案)Java微服務面試題
- 2019年必須掌握的29個微服務面試問題(含答案解析)微服務面試
- 20道你必須要背會的微服務面試題,面試一定會被問到微服務面試題
- BAT 面試 Java 崗常問高頻 100 題:Spring+ 微服務 +SpringMVC+MyBatis面試Java微服務SpringMVCMyBatis
- 微服務異常問題微服務
- BAT面試經典送送送命題——微服務架構BAT面試微服務架構
- 詢問面試官的面試問題面試
- 微服務思考(02):微服務實施前有哪些問題?微服務
- 面試反問問題面試
- 「微服務」這10道Consul面試題值得一看微服務面試題
- 【面試】面試常見問題整理面試
- Typescript 面試問題TypeScript面試
- iOS 面試問題iOS面試
- Pig面試問題面試
- Hive 面試問題Hive面試
- 測試面試問題(二)面試
- SpringCloud微服務帶來的問題SpringGCCloud微服務
- 面試都在問的微服務、服務治理、RPC、下一代微服務... 一文帶你徹底搞懂!面試微服務RPC
- 面試疑難問題面試
- 面試問題總結面試
- cmake Makefile面試問題面試
- 昨天的面試問題面試
- .Net微服務實戰之必須得面對的分散式問題微服務分散式
- 微服務架構分散式事務管理問題微服務架構分散式
- 面試官靈魂三問:什麼是SOA?什麼是微服務?SOA和微服務有什麼區別?面試微服務
- 邦芒面試:面試時要問清楚的幾個問題面試
- 面試 HTTP ,99% 的面試官都愛問這些問題面試HTTP
- 軟體測試面試問題(一)面試
- Spring Boot面試問題| BaeldungSpring Boot面試
- defer問題——面試Go必看面試Go
- Redis最常見面試問題Redis面試
- Redis面試常見問題Redis面試
- golang 面試常考問題Golang面試
- 常見面試SQL問題面試SQL
- Spring 常見面試問題Spring面試
- Docker面試問題與解答Docker面試