[Daily Questions Challenge 00]
2026 軟體後端面試題目準備與回顧
2026-05-26
![[Daily Questions Challenge 00] 2026 軟體後端面試題目準備與回顧](/daily-questions-challenge.png)
⬆
前言
在 2026 年 4 月底離開前職後,我從 5 月開始陸續進行了幾場面試。經過幾輪面試,我開始意識到自己對面試題目的準備不夠充分。
回顧面試中遇到的問題,有些題目本身能理解,但回答不夠完整;有些則是我對問題涉及的知識本來就不夠熟悉。
總結來說,以下三個方向是我在準備中沒能夠做好的:
- 針對面試公司產品本身的功課做得不夠(比如說:如果是一個線上課程平台,應該如何設計架構?)
- 對產品功能所使用的技術沒有足夠了解
- 技術基礎不足,無法完整回答白板題
有鑑於此,我決定在自己的 Blog 中,進行一個 Daily Questions Challenge 日更挑戰:每天整理一個過去遇到的面試問題,並將它整理成一篇文章。
而這篇起頭的主文章將會作為置頂文章,除了整理題目連結,也會依照題目類型在這裡分類。
題目
演算法
Backend
- 說明 JWT token
- 使用 Redis 分布式鎖避免 Race Condition
- 淺談 WebRTC
- 解釋 Laravel Eloquent Polymorphic Model
- 如何設計 Rate Limiting(速率限制)
- 微服務資料一致性:2PC、Saga Pattern 與 Outbox Pattern
- Circuit Breaker Pattern:微服務故障隔離的設計模式
Message Queue
- 使用 Message Queue 處理高併發下的排隊機制
- Dead Letter Queue(DLQ):訊息處理失敗後的機制設計
- MQ 水平擴展機制與避免重複消費的設計
- RabbitMQ vs Kafka:如何選擇適合的訊息佇列?
- Kafka 擴充 Partition 的雷點
- Kafka 如何保證訊息不遺失
- 訊息傳遞語義總覽:At-most-once、At-least-once、Exactly-once
- Consumer Lag 監控與 Backpressure:消費速度跟不上生產速度時怎麼辦?
- Event-Driven Architecture:Choreography 與 Orchestration 的設計取捨
Caching
Database
- 資料庫層級避免 Race Condition 的方法 (Atomic Update、Lock、欄位型別防禦)
- 資料庫的 Transaction Isolation Level
- 資料庫讀寫分離:Primary、Replica 與一致性取捨
- 資料庫 ACID 是什麼?
- Index 是如何加速查詢?
- 資料庫正規化(Database Normalization)
- Slow Query 排查的方法
- Sharding 與 Partitioning 策略
API 設計
Network
System Design
- 雲端部署基礎架構:VPC、Subnet、Security Group 與 Load Balancer 各自解決什麼問題?
- 部署邊界與責任:從三條線看懂 API / Worker / MQ / DB 的切分
- 雲端運算選型:從管理責任光譜看懂 EC2、ECS 與 Lambda
軟體工程
測試
AI Engineering
- 什麼是 Harness Engineering ?
- 如何設計LLM Prompt
- LLM API 串接與處理
- RAG (Retrieval-Augmented Generation) 架構設計
- Vector Database 原理與選型
- Prompt Engineering vs RAG vs Fine-tuning:如何選擇 LLM 應用策略