題目

一、技術知識

1. .NET 基礎與進階

  • 請說明 .NET 8 的新功能與改進有哪些?

  • 在 .NET 中如何實現依賴注入 (Dependency Injection)?

  • 解釋 async/await 的運作原理,並舉例說明它如何提高應用程式性能。

  • 請描述什麼是 LINQ?如何使用它進行數據查詢?

  • 在 ASP.NET Core 中如何實現 Middleware?應用場景是什麼?

2. 資料庫

  • 什麼是資料庫的正規化?有哪些階段?

  • 在 SQL 中,如何優化一個慢查詢?

  • 你如何設計一個高效的資料庫索引?

  • 請說明 Transaction 的 ACID 特性及其應用。

  • 請解釋 Entity Framework 和 Dapper 的主要區別。

3. 設計模式

  • 請描述常見的設計模式,例如 Singleton、Factory 和 Repository,並舉例如何在 .NET 專案中應用。

  • 你是否使用過 CQRS (Command Query Responsibility Segregation)?請解釋它的概念和優點。

  • 在專案中如何實現 Dependency Inversion Principle?

4. API 開發

  • 如何設計 RESTful API?如何確保 API 的安全性?

  • 解釋 OpenAPI (Swagger) 的作用,並說明如何整合到 .NET 專案中。

  • 在實現一個對外開放的 API 時,如何處理流量控制和限流?

5. CI/CD 與自動化

  • 你在專案中如何使用 GitLab 實現 CI/CD?

  • 請說明 GitVersion 的工作原理,以及如何在專案中使用它管理版本。

  • 如何進行自動化測試並整合到 CI/CD pipeline 中?


二、情境與解題能力

  • 遇到性能瓶頸時,你通常如何定位和解決問題?

  • 在專案中遇到技術債時,應該如何處理?

  • 當需求變更頻繁時,你如何管理專案進度?

  • 你如何在多個微服務之間進行溝通與資料同步?

  • 如果客戶提出一個超出預期的需求,如何協調內部與客戶的溝通?


三、實際操作與測驗

  • 請設計一個功能,要求在 10 分鐘內完成 CRUD 操作(C# 與 ASP.NET Core)。

  • 根據給定的程式碼找出錯誤,並修正以確保它正常執行。

  • 提供一個情境(例如多層架構系統),請你設計其系統架構。

  • 在資料表中有上百萬筆記錄,如何設計 API 查詢能在 1 秒內返回結果?


四、行為面試

  • 請說明你的一次專案失敗經驗,以及如何從中學到教訓。

  • 你是如何協助團隊解決技術問題的?

  • 描述你曾經擔任技術領導時遇到的挑戰,如何解決?

  • 在壓力下工作時,你如何保持效率並完成任務?


五、公司相關

  • 你對我們公司產品或技術有何了解?

  • 如果進入我們公司,你希望實現什麼目標?

  • 你覺得我們現有系統有哪些可以改進的地方?


1. C# 語法

  1. 解釋 async/await 的執行原理及其使用情境。

  2. 如何實現一個 Singleton?它有哪些應用場景?

  3. 請說明 IEnumerableIQueryable 的差異及適用場景。

  4. 如何實現 LINQ 的延遲加載?為什麼這很重要?

  5. 請解釋 delegateevent 的差異,並提供範例。

  6. 在 C# 中如何處理多執行緒安全問題?試舉例說明。

  7. 什麼是垃圾回收 (Garbage Collection)?如何釋放非受控資源?

  8. 如何使用泛型 (Generics) 實現型別安全?請提供範例。

  9. 解釋 lockMonitor 的區別,什麼時候用?

  10. 請描述 C# 中的 refout 關鍵字的區別與用途。

  11. 什麼是記憶體洩漏 (Memory Leak)?C# 如何避免?

  12. 請說明如何實作一個深層複製 (Deep Copy) 的方法。

  13. 解釋 C# 中的模式匹配 (Pattern Matching) 和使用範例。

  14. 如何使用依賴注入 (Dependency Injection) 提升程式設計的可測試性?

  15. 請說明 sealedabstract 關鍵字的用途。

  16. C# 9.0 中的新功能有哪些?請說明 Record 的用途。

  17. 請說明 StringBuilder 與普通字串的效能差異。

  18. 如何實現非同步的事件處理?

  19. 解釋 Task Parallel Library (TPL) 的作用及實現方式。

  20. 如何設計高效能的事件觸發機制?


2. .NET 架構

  1. 解釋 .NET Core 與 .NET Framework 的主要差異。

  2. 什麼是 .NET 6 的單一運行時 (Unified Runtime)?

  3. ASP.NET Core 如何實現中介軟體 (Middleware) 的管線機制?

  4. 解釋什麼是 Dependency Injection,並說明如何在 ASP.NET Core 中實現。

  5. 請說明 .NET 的 Hosting 模型和其應用。

  6. 如何實現微服務架構?需要注意哪些點?

  7. 描述 ASP.NET Core 中的 MVC 模式運作方式。

  8. 什麼是 SignalR?如何應用於即時通訊?

  9. 在 .NET 中如何管理 Configuration?什麼時候會使用 IOptions?

  10. 請解釋什麼是 IdentityServer,如何用於授權與驗證?

  11. 如何利用 Entity Framework Core 實現 Code First 和 Database First?

  12. 請解釋 ASP.NET Core 的請求管道。

  13. ASP.NET Core 如何處理錯誤與例外?

  14. 如何優化 ASP.NET Core 應用程式的效能?

  15. 什麼是跨域資源共用 (CORS),在 ASP.NET Core 中如何配置?

  16. 請說明 Kestrel Web 伺服器的運作原理。

  17. .NET 中如何實現分散式快取?

  18. 如何使用 Health Checks API 監控服務健康狀態?

  19. 什麼是 Worker Service?有哪些實際應用場景?

  20. 如何實現 .NET 應用程式的橫向擴展?


3. MSSQL

  1. 請說明 SQL Server 的 Transaction Isolation Levels。

  2. 如何優化一個查詢語句的執行效能?

  3. 描述如何設計索引以及索引的使用情境。

  4. 什麼是儲存程序 (Stored Procedure)?如何設計高效能的儲存程序?

  5. 解釋 SQL Server 的鎖機制,如何避免死鎖?

  6. 請說明如何處理 SQL 中的 Null 值。

  7. 如何使用 CTE (Common Table Expression)?有什麼優勢?

  8. 描述 SQL Server 中的聚合索引與非聚合索引的差異。

  9. 請說明什麼是執行計畫 (Execution Plan),如何閱讀?

  10. 如何實現資料庫的水平分片 (Sharding)?

  11. 描述 SQL Server 的 Always On 功能。

  12. 如何實現儲存過程的參數化查詢,並避免 SQL Injection?

  13. 請解釋資料表分割 (Partitioning) 的作用及其設計方式。

  14. SQL Server 的 TempDB 是什麼?如何最佳化其效能?

  15. 如何有效管理資料庫中的大資料表?

  16. 解釋 SQL Server 的觸發器 (Trigger) 及其應用。

  17. 什麼是資料行儲存索引 (Columnstore Index)?

  18. 如何進行資料庫備份與還原?

  19. SQL Server 的動態管理檢視 (DMV) 是什麼?如何使用?

  20. 如何監控與診斷 SQL Server 的效能瓶頸?


4. CI/CD

  1. 什麼是 CI/CD?為什麼對開發流程很重要?

  2. 請說明 GitLab CI/CD 的 Pipeline 基本結構。

  3. 如何使用 YAML 定義 CI/CD 工作流程?

  4. 描述自動化測試在 CI/CD 中的重要性。

  5. 如何實現 CI/CD 的滾動部署 (Rolling Deployment)?

  6. 如何處理 CI/CD 中的環境變數?

  7. 請說明 Canary Deployment 的流程與用途。

  8. 什麼是 Artifact?如何在 CI/CD 中管理?

  9. 如何設計 CI/CD 流程以支援多分支 (Branch) 開發?

  10. 描述如何實現基於標籤的自動化部署。

  11. 如何在 CI/CD 中進行資料庫遷移 (Migration)?

  12. 請解釋基於 Docker 的 CI/CD 流程。

  13. 如何整合 SonarQube 進行程式碼品質檢測?

  14. 如何實現 CI/CD 的失敗自動回滾 (Rollback)?

  15. 請說明如何設計多環境 (例如 Dev、Test、Prod) 的 CI/CD 管理。

  16. 如何優化 CI/CD 流程中的併行工作執行?

  17. 什麼是 Pipeline Trigger?如何應用於多專案的 CI/CD?

  18. 描述 Blue/Green Deployment 的運作方式。

  19. 如何在 GitLab CI/CD 中使用 Cache 提升構建效能?

  20. 如何設計安全的 CI/CD,避免敏感資料洩漏?

Last updated