資料庫技術練習題 (Practice - Database Tech)


Part 1:Database 總覽與選型

Q1(Recall):理解資料庫的兩個正交維度是什麼?


Q2(Recall):NoSQL 的五種資料模型各自的代表與擅長場景?


Q3(Recall):Cassandra 是 OLTP 還是 OLAP 系統?為什麼?


Q4(Application):面試官問你選資料庫,你不該怎麼做?正確的思路是什麼?


Q5(Application):什麼時候需要複雜的資料庫?


Part 2:PostgreSQL

Q6(Recall):PostgreSQL 的進階索引各解決什麼問題、各可能省掉哪個專用系統?


Q7(Recall):PostgreSQL 一筆寫入的路徑是什麼?瓶頸通常在哪?


Q8(Application):拍賣系統,預設隔離等級下兩個用戶同時出價可能接受較低的價。怎麼解?


Q9(Analysis):PostgreSQL 的 Repeatable Read 和 SQL 標準有什麼不同?這代表什麼實務意義?


Q10(Analysis):什麼情況該偏離 PostgreSQL?「需要擴展」是好理由嗎?


Part 3:DynamoDB

Q11(Recall):DynamoDB 的 Partition Key 和 Sort Key 各扮演什麼角色?底層怎麼運作?


Q12(Recall / Analysis):GSI 與 LSI 的關鍵差異?(至少四點)


Q13(Application):要在 DynamoDB 存 YouTube 觀看數,每秒 1,000 萬次寫入。大約需要多少分區?這帶出什麼架構考量?


Q14(Analysis):DynamoDB 的一致性怎麼設定?強一致讀取有什麼限制?


Part 4:OLTP vs OLAP

Q15(Recall):為什麼 column-oriented 儲存對分析查詢更快?(三個原因)


Q16(Recall):連接 OLTP 與 OLAP 的三種管線各有什麼取捨?


Q17(Application):設計 Uber 的分析系統,行程資料怎麼流動?哪些指標不該走 OLAP?


Q18(Analysis):什麼時候該用 HTAP 而不是分開建 OLTP + OLAP?代價是什麼?