# 線上面試 Template - Check List (WebAPI) ###### tags: `線上面試一面` ## 程式設計需求 ```plantuml left to right direction actor "Member A" as ma actor "Admin" as adm rectangle "Check List" { usecase "View Items" as uc1 usecase "Check / UnCheck Item" as uc2 usecase "Items CRUD" as uc3 } ma --> uc1 ma --> uc2 adm -up-> uc3 ``` 1. 請說明若要請你依需求設計此系統, 你會如何用什麼架構處理? 2. Member A 必須要先登入後才能使用 API, 需要實作那些部份? 請簡單畫出流程圖。 3. 如果 API 需要對每個 request 進行驗證, 你會在什麼地方處理? 5. 如果我的 API 要在 DI 裡註冊 EF, service lifetime 應該設為那個選項? 為什麼? 6. 如果我的 API 要對同一個資源 "Item" 進行單筆新增/刪除/修改/查詢, 你會怎麼設計? 7. 如果前端是 web.sample.com 呼叫 api.sample.com 會被瀏覽器擋下來, 我應該做什麼設定? --- ## 系統架構配置 ```plantuml actor "User" as user rectangle "AP" as ap database "DB" as db user -> ap ap -> db ``` 1. 如果大量 user 訪問造成 AP loading 增加, 你會做那些處置? 2. 如果大量 user 對 Item 進行大量交易, 你會做那些處理?