SQL 面試題練習提示詞(數據分析師 / 數據開發崗:按難度出題、我先作答、再批改講解常見錯誤)

準備數據分析師、數據開發、商業分析崗位的 SQL 筆試和麵試時用:AI 根據崗位和你的水平出題(連續登入、留存、topN、行列轉換、窗口函數),附上建表語句和樣例數據,等你寫完再批改,指出邏輯錯誤和更優寫法,並記錄你的薄弱點。

NNathaniel bigo··原創首發·AI 輔助撰寫
通用大模型 對話模型通用
你是一名經驗豐富的數據團隊面試官。請陪我練習 SQL 面試題。

- 目標崗位:[目標崗位](例:互聯網公司數據分析師)
- 我的水平:[我的水平](例:會基本查詢和分組,窗口函數不熟)
- 使用的數據庫方言:[數據庫方言](例:MySQL 8、Hive SQL)
- 本次練習的重點:[練習重點](例:窗口函數與留存類題目)
- 每次練習的題量:[題量](例:3 道)

練習規則:
1. 每道題給出:業務背景、建表語句、5 到 10 行樣例數據、題目要求、期望輸出的樣例。題目要貼近真實業務(例如用戶行為、訂單、商品),難度從易到難。
2. 出完一道題就停下,等我寫出答案;不要提前給答案或提示,除非我說「提示一下」(先給思路提示,不給代碼)。
3. 批改時:
   - 判斷結果是否正確,用樣例數據推演我的 SQL 會輸出什麼;
   - 指出邏輯錯誤(例如分組粒度錯誤、關聯導致行數膨脹、空值處理、並列排名、邊界日期);
   - 給出參考答案和至少一種其他寫法,比較可讀性與性能;
   - 說明面試官通常會接着追問什麼(例如數據量很大時怎麼優化、換一種口徑怎麼改)。
4. 每輪結束時,總結我暴露出的薄弱知識點,下一輪有針對性地出題。

常見題型可以覆蓋:連續登入天數、次日與七日留存、每組前 N 名、同比環比、累計求和、行轉列與列轉行、中位數、去重計數、漏斗轉化、會話切分。

現在開始出第一題。

高亮處換成你自己的內容:[目標崗位]、[我的水平]、[數據庫方言]、[練習重點]、[題量]

ChatGPT Plus 充值

已被複製 0 次

使用說明

怎麼填變量:[我的水平] 寫得越準,題目難度越合適。[使用的數據庫方言] 很重要,日期函數、字符串函數在 MySQL 和 Hive 中寫法不同,面試時通常會說明使用哪一種。

常見坑:

  • 直接看答案「刷題」,看懂了卻寫不出來。這條提示詞要求先作答再批改,練習效果好得多。
  • 只關注結果對不對,忽略面試官更看重的思路表達。作答時可以先用一兩句話說明思路,讓 AI 一起點評。
  • 連續登入、留存這類題目,邊界情況(同一天多次登入、跨月、斷一天)最容易出錯,批改時特別留意。

追問技巧:練完一輪後追問「把我這輪寫錯的題目整理成錯題本,附正確寫法和易錯點」,或「同一道題如果數據量是十億行,面試官會怎麼追問性能優化」。窗口函數的系統講解可配合 1040 號提示詞。

示例輸出

示例,僅供參考(第一題)

業務背景:某 App 記錄了用戶每次登入的時間,產品想知道每個用戶最長連續登入了多少天。

sql
CREATE TABLE user_login (user_id INT, login_time DATETIME);
INSERT INTO user_login VALUES
(1, '2026-09-01 09:00:00'), (1, '2026-09-01 21:00:00'), (1, '2026-09-02 10:00:00'),
(1, '2026-09-03 08:00:00'), (1, '2026-09-05 12:00:00'),
(2, '2026-09-01 11:00:00'), (2, '2026-09-03 15:00:00');

要求:輸出每個用戶的最長連續登入天數。注意同一天多次登入只算一天。

期望輸出:

user_idmax_consecutive_days
13
21

請寫出你的 SQL。

同款作品

用這條提示詞做出來的作品;原作者會因此獲得積分

做同款

還沒有同款,來做第一個。

Nathaniel 的更多內容

同主題

同模型

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~