>

Prompts

要在 NotebookLM 中生成「高資訊密度、專家導向」的簡報內容,你需要極端地設定「角色」與「受眾」,並明確禁止簡化。NotebookLM 預設傾向於將內容「科普化」,你必須反向操作。 以下是針對你需求的提示詞架構與範例: 核心策略:反向提示 (Inverse Prompting) 不要告訴它「要做什麼」,要強調「不准做什麼」(不准解釋術語、不准寫背景介紹、不准迎合大眾)。 推薦 Prompt 模板 (可直接複製微調) 請將以下這段文字貼入 NotebookLM 的對話框: 指令:生成一份針對「領域內資深專家/首席工程師」的技術簡報大綱。 1. 角色設定: 你是一位在這個領域鑽研 20 年的頂尖研究員,正在向同級別的專家進行閉門會議。 2. 嚴格規範(必須遵守): 禁止科普: 預設聽眾已精通所有基礎知識與專有名詞,絕對不要解釋定義(Definitions)。 極高資訊密度: 刪除所有過場話、形容詞與情緒鋪陳。每一點都必須是具體的數據、獨到的洞察或反直覺的結論。 聚焦深層邏輯: 不要只講「是什麼」,要講「為什麼是這樣設計」、「取捨(Trade-off)是什麼」、「邊緣案例(Edge cases)有哪些」。 保留技術黑話: 直接使用原文或源文檔中最晦澀的專業術語,不要試圖轉譯成通俗語言。 風格: 冷靜、客觀、極度精簡。如果內容 90% 的人看懂了,那就是失敗的生成。 3. 輸出重點: 請根據來源文檔,挖掘出最核心、最違反直覺、或最具爭議性的技術細節。忽略所有通識性的概論。 為什麼這樣寫有效? 設定「閉門會議」場景: 讓 AI 認為這是內部高層對話,而非公開演講,它會自動切換成「行話模式」。 明確「預設聽眾已知」: 這是避免 AI 浪費篇幅解釋 “What is X” 的關鍵。 強調「Trade-off」與「Edge cases」: 這是區分「大眾科普」與「專業內容」的分水嶺。大眾看大方向,專家看邊界條件與代價。 負面約束 (Negative Constraint): 明確指出「如果大眾看懂就是失敗」,這是強烈的訊號,迫使模型保留複雜度。 下一步 您可以提供您目前要分析的文件類型(例如:學術論文、財報、系統架構圖),我能為您客製化更精準的「關鍵字」來替換模板中的通用詞彙。

November 26, 2025

Interview

這是一篇從 FAANG(現多指 MANGA:Meta, Amazon, Netflix, Google, Apple)資深面試官視角出發,針對 Entry Level (L3/E3) 軟體工程師的面試評分指南。 我們在評估初階工程師時,並非期待全知全能,而是尋找**「可塑性高、基礎扎實、溝通順暢」**的合作夥伴。 面試官評分四大維度 (The 4 Pillars) 1. Data Structures & Algorithms (DSA) 這是核心門檻,評估候選人是否具備將抽象問題轉化為邏輯解法的能力。 Poor (不及格): 無法理解題目或將問題建模。 只能提出暴力解 (Brute Force),完全不考慮複雜度。 對基本資料結構(如 Map, Set, Stack)使用時機錯誤。 Borderline (邊緣): 能夠給出最佳解 (Optimal Solution),但在分析時間/空間複雜度時猶豫或出錯。 需要面試官給予大量提示 (Heavy hinting) 才能得出正確演算法。 Solid (合格): 能獨立提出最佳解,例如將 $O(N^2)$ 優化至 $O(N \log N)$ 或 $O(N)$。 準確分析複雜度,並能解釋 Trade-off(例如:以空間換取時間)。 Outstanding (優秀): 除了最佳解,還能探討不同解法的優劣。 能迅速處理 Follow-up 問題(例如:資料量過大無法放入記憶體時怎麼辦)。 展現出對底層原理的深刻理解(例如:Hash Collision 的處理機制)。 2. Coding (程式實作能力) 有了演算法,候選人能否將想法轉換為「乾淨、可執行、無 Bug」的程式碼。 Poor: 語法錯誤頻發,連標準庫都不熟悉。 邏輯混亂,變數命名無意義(如 a, temp1)。 無法處理指標或遞迴邏輯,導致 Crash 或無窮迴圈。 Borderline: 程式碼可執行,但風格髒亂(Spaghetti Code),缺乏模組化。 有明顯的 Off-by-one error 或邊界條件處理遺漏。 Python 寫得像 C,沒有善用語言特性(Unidiomatic)。 Solid: 程式碼結構清晰,命名規範(Google Style Guide),縮排正確。 實作速度快,能將複雜邏輯拆解為 Helper Functions。 熟練使用標準庫(如 C++ STL 或 Python collections)。 Outstanding: Production Ready Code:考慮到擴展性、異常處理 (Error Handling)。 程式碼極其精簡優雅,閱讀起來像讀文章。 一次寫對 (One-shot pass),幾乎不需要修改語法錯誤。 3. Efficacy / Verification (解決問題效能與驗證) 這點常被候選人忽略。這不只是「解出來」,而是「如何確保解法正確」以及「解決問題的節奏」。 ...

November 25, 2025

Invariant

這是一篇關於二分搜尋法(Binary Search)變體、Python 實作與正確性證明的技術文章。 二分搜尋法 (Binary Search):區間定義與正確性證明 二分搜尋法的核心難點在於邊界處理(Off-by-one error)。解決此問題的最佳理論工具是 迴圈不變量 (Loop Invariant)。 本文將針對三種場景:尋找特定值、尋找左側邊界 (bisect_left)、尋找右側邊界 (bisect_right),分別展示 左閉右閉 [L, R] 與 左閉右開 [L, R) 的實作,並證明其正確性。 1. 核心理論:迴圈不變量 (Loop Invariant) 在二分搜尋中,我們維護一個「搜尋區間」,並保證目標值(若存在)或目標插入點永遠位於該區間內。 初始化 (Initialization): 迴圈開始前,不變量成立。 維持 (Maintenance): 每次迭代縮小區間後,不變量依然成立。 終止 (Termination): 迴圈結束時,區間縮小至空或一點,此時的狀態即為答案。 時間複雜度證明 (Master Theorem): 遞迴關係式:$T(n) = T(n/2) + O(1)$ 根據主定理 (Master Theorem) Case 2 ($a=1, b=2, d=0$),複雜度為 $\Theta(\log n)$。 2. 尋找特定目標值 (Find Exact Target) 目標:若 nums 中存在 target,返回索引;否則返回 -1。 2.1 左閉右閉區間 [left, right] 定義: 搜尋區間為 $nums[left \dots right]$。 不變量: 若 $target$ 存在,則 $target \in nums[left \dots right]$。 終止條件: left > right (區間為空)。 def search_closed(nums: list[int], target: int) -> int: """Finds target in a sorted list using [L, R].""" left, right = 0, len(nums) - 1 while left <= right: mid = left + (right - left) // 2 # Prevent overflow if nums[mid] == target: return mid elif nums[mid] < target: left = mid + 1 # [mid+1, right] else: right = mid - 1 # [left, mid-1] return -1 2.2 左閉右開區間 [left, right) 定義: 搜尋區間為 $nums[left \dots right-1]$。 不變量: 若 $target$ 存在,則 $target \in nums[left \dots right-1]$。 終止條件: left == right (區間為空)。 def search_open(nums: list[int], target: int) -> int: """Finds target in a sorted list using [L, R).""" left, right = 0, len(nums) while left < right: mid = left + (right - left) // 2 if nums[mid] == target: return mid elif nums[mid] < target: left = mid + 1 # [mid+1, right) else: right = mid # [left, mid) return -1 3. 尋找左側邊界 (bisect_left) 目標:尋找第一個滿足 $nums[k] \ge target$ 的索引 $k$。等同於 C++ std::lower_bound。 ...

November 25, 2025

書單

Reading List 理論基礎 Nand To Tetris CSAPP Computation Theory 程式語言 工具 Haskell Python C++ Git Unicorn 心法 Mythical Man Month SWE Book The Pragmatic Programmer 論文 Attention SAIS Others 心理學 UVM Prompts 生成工程師面向的簡報,不需生成普羅大眾的通識簡報,越技術越好,可以盡量的曲高和寡。 需要包含前言,分章節細節,總結。 分章節細節要有盡量多的技術細節。 生成工程師面向圖卡,不需生成普羅大眾的通識,越技術越好,可以盡量的曲高和寡。 需要包含前言,分章節細節,總結。 分章節細節要有盡量多的技術細節。

November 23, 2025