首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 開發人員面試必考題深度解析:從基礎物件到並發控制

     編輯:關於SqlServer

前言

「SQL 開發容易入門,難在精通。」 — 資深 DBA 諺語

本文整理面試資深 SQL Server 開發人員的標準技術題庫,按難度遞增,助你精準篩選人才。

題目 1:SQL Server 2000 常見資料庫物件有哪些?

標準答案

  • 核心物件:**資料表 (Tables)、檢視表 (Views)、預存程序 (Stored Procedures)、使用者定義函數 (UDF)**
  • 進階物件:**觸發器 (Triggers)、規則、預設值、使用者定義資料類型**

考核點

無法答出核心四大物件者,基礎不足,直接淘汰。

題目 2:什麼是索引?SQL Server 2000 有哪些索引類型?

標準答案

索引 是加速資料存取的資料結構,類似書本目錄。

SQL Server 2000 兩大類:

類型葉層儲存內容每表數量特性
叢集索引**實際資料列****僅 1 個**資料依索引鍵物理排序;範圍查詢極快
非叢集索引**列定位器** (RID 或叢集鍵)最多 249 個邏輯順序與物理順序分離;需書籤查找取回資料

加分點

  • 說明叢集索引鍵選擇原則:窄、唯一、遞增、常用於範圍查詢
  • 提及覆蓋索引、INCLUDE 欄位 (2005+)、索引碎片整理

題目 3:NULL 代表什麼意思?比較陷阱有哪些?

核心觀念

NULL = **UNKNOWN (未知)**,不等於空字串 ''、不等於零、不等於任何值 (包括 NULL 本身)

關鍵行為 (ANSI_NULLS ON 時)

  • 任何與 NULL 比較 (=, <>, <, >, <=, >=) 結果皆為 **UNKNOWN** (非 TRUE/FALSE)
  • WHERE col = NULL 永遠傳回 0 列
  • **必須使用** IS NULL / IS NOT NULL
  • NULL = NULL → UNKNOWN;NULL <> NULL → UNKNOWN
  • 聚合函數 (SUM, AVG, COUNT) **忽略** NULL 值,COUNT(*) 計算列數包含 NULL

實務陷阱


-- 錯誤:WHERE discount = 0 OR discount IS NULL
-- 正確:WHERE ISNULL(discount, 0) = 0  或  WHERE COALESCE(discount, 0) = 0

-- NOT IN 子查詢若包含 NULL 會傳回空結果
WHERE id NOT IN (SELECT nullable_col FROM table)  -- 危險!
-- 改用 NOT EXISTS 或 LEFT JOIN ... WHERE right.id IS NULL

題目 4 (進階):主鍵 vs 外鍵深度差異

標準答案要點

  • 主鍵 (PK):唯一識別實體、不可為 NULL、每表一個、自動建立唯一叢集索引 (可改非叢集)
  • 外鍵 (FK):建立參考完整性、可為 NULL (代表無關聯)、可多欄位、參考目標必須有唯一索引 (PK/Unique)
  • 級聯動作:ON DELETE/UPDATE { CASCADE | SET NULL | SET DEFAULT | NO ACTION }
  • 效能影響:FK 驗證需鎖定父表鍵範圍,大量批次插入時可考慮 NOCHECK 或暫時停用

題目 5 (專家級):SQL Server 2005 並發控制機制與隔離等級

必須掌握

隔離等級髒讀不可重複讀幻讀鎖定行為
Read UncommittedYYY不發出共享鎖
Read Committed (預設)NYY讀取時短暫共享鎖
Repeatable ReadNNY讀取期間保持共享鎖
SerializableNNN範圍鎖 (Key-Range Lock)
Snapshot (2005+)NNN**列版本控制**,讀不阻寫、寫不阻讀

加分關鍵字

  • Row Versioning、tempdb 壓力、ALLOW_SNAPSHOT_ISOLATION、READ_COMMITTED_SNAPSHOT
  • 死鎖偵測 (Lock Monitor)、死鎖受害者選擇 (DEADLOCK_PRIORITY)、sp_lock/sys.dm_tran_locks 診斷

面試官評分建議

等級題目範圍及格門檻
初級1-2 題核心物件、索引類型、NULL 基本行為
中級3-4 題PK/FK 深度、隔離等級、基本鎖觀念
高級5 題 + 情境題Snapshot 隔離原理、死鎖分析、參數嗅探、計畫指南
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved