#001. 如何使用这本量化面试题解手册
数学工具起步:先看懂一次计算,再去读题
不需要先学完整本概率论才能开始。以下把题目里反复出现的符号翻成具体动作;遇到忘记的工具,可先回到对应小例,再读后面的完整题解。公式中的字母只是给一个数、一个结果或一个状态取名字,不表示额外的神秘步骤。
加总、连乘与“有几种”:\(\Sigma \)、\(\Pi \)、阶乘和组合数
\(\sum_{i=1}^{3}x_i\) 是“让 i 依次取 1、2、3,把对应的 x 加起来”;若 \(x_1=2,x_2=4,x_3=6\),结果就是 \(2+4+6=12\)。\(\prod_{i=1}^{3}x_i\) 则把这三个数相乘,结果 \(2\times4\times6=48\)。\(n!\) 是从 1 连乘到 n,例如 \(4!=24\),约定 \(0!=1\)。从 5 个不同的人中选 2 人、不计先后,有 \(\binom52=5\times4/(2\times1)=10\) 对;若区分谁第一、谁第二,则为 20 种。读到组合公式时,先问“选择对象是什么、先后算不算不同”。
概率与条件概率:先定哪些结果等可能
公平骰子六面等可能,偶数事件是 \(\{2,4,6\}\),概率为 \(3/6=1/2\)。如果已经知道结果大于 3,样本范围只剩 \(\{4,5,6\}\),其中偶数有两种,所以 \(P(\text{偶数}\mid\text{大于3})=2/3\);竖线表示“已知右边条件成立”。一般写成 \(P(A\mid B)=P(A\cap B)/P(B)\),其中交集 \(A\cap B\) 指两件事同时发生,且分母必须大于 0。不能一边缩小分子、一边仍拿原来的六种结果作分母。
随机变量、期望与方差:平均拿多少,围着平均波动多大
令 X 表示一次游戏净收益:公平币正面得 2 元,反面得 0 元,则 \(E[X]=\tfrac12\times2+\tfrac12\times0=1\) 元;E 读作期望,是概率加权平均,不表示每次真的拿 1 元。离均值的偏差分别为 1 和 \(-1\),平方后都为 1,因此 \(\operatorname{Var}(X)=E[(X-E[X])^2]=1\) 平方元,标准差为其平方根 1 元。写成 \(E[X^2]-E[X]^2\) 也得 \((4+0)/2-1=1\),注意“平方后平均”与“平均后平方”不同。
独立、协方差与指示变量:哪些乘法需要额外假设
两次独立公平抛币同时正面的概率是 \(1/2\times1/2=1/4\);若第二次被规定复制第一次,则各自仍有一半正面,却同时正面的概率为 \(1/2\)。独立是“知道前者不会改变后者分布”,不能仅由边际概率相同推出。协方差 \(\operatorname{Cov}(X,Y)=E[(X-E[X])(Y-E[Y])]\) 看两个偏差是否同向:上例若另给 \(Y=2X\),偏差乘积两种都为 2,所以协方差 2。指示变量 \(I_A\) 只记录 A 是否发生:发生为 1,否则为 0,故 \(E[I_A]=P(A)\)。数人数、次数时,把总数拆成这些 \(0/1\) 小记录即可。
函数、导数和积分:从局部变化到总面积
函数只是输入到输出的规则,例如 \(f(x)=x^2\) 把 3 变成 9。导数问输入多一点时输出变化有多快:从 3 增加 h,平方增加 \(6h+h^2\),除以 h 得 \(6+h\);h 越接近 0,这个变化率越接近 6,所以 \(f'(3)=6\)。积分可先理解为把许多细条面积加起来:\(\int_0^1 2x\,dx\) 是高为 2x 的直线下、0 到 1 间面积,这里是底 1、高 2 的三角形,面积 1。连续概率用密度曲线下的面积;某一点的密度高度不等于该点概率,连续变量恰取一个指定值通常概率为 0。
分布、似然、先验和后验:数据固定后,比较谁更能解释它
分布说明一个随机量各结果有多可能,例如公平骰子每点概率 \(1/6\)。看到一次正面时,公平币模型给该数据概率 \(1/2\),双头币模型给 1;把数据固定、把模型当候选来比较,这两个数就叫似然。若两种币事先等可能(先验各 \(1/2\)),看见正面后的未归一化权重为 \(1/2\times1/2=1/4\) 与 \(1/2\times1=1/2\),除以总和 \(3/4\),后验分别为 \(1/3\)、\(2/3\)。“数据在模型下多可能”与“模型在数据后多可能”不可倒着当同一个概率。
递推、状态和停止时间:把未来缩成足够的信息
递推是用后续或更小问题的答案写当前答案。等第一个正面,令 e 表示从现在还需抛几次的平均:先抛必花 1 次,若反面就回到相同状态,因此 \(e=1+e/2\),移项得 \(e=2\)。状态只保留能决定未来的信息;等连续 HH 时必须区分“末尾已有 H”和“还没有 H”,不能只记已抛次数。停止时间 T 是看到结果后首次触发条件的轮数,例如 TH 在第 2 次停、TTH 在第 3 次停;求 \(E[T]\) 才是对这些随机轮数取平均,而非先指定一个固定结束时刻。
向量、矩阵与半正定:怎样一次检查很多变量的风险
向量可先看成有序数字表,如两资产权重 \(w=(0.6,0.4)\);矩阵是按行列排成的数表。协方差矩阵 \(\Sigma \) 的对角线放各自方差,非对角线放协方差;组合方差 \(w^\mathsf T\Sigma w\) 展开就是所有自项和交叉项。半正定(PSD)指对任意 w 这个二次式都非负,因为方差不能为负。例 \(\Sigma=\begin{pmatrix}1&0.5\\0.5&1\end{pmatrix}\),等权 \(w=(1/2,1/2)\) 得方差 \(1/4+1/4+2\times(1/2)(1/2)(1/2)=3/4\)。后面相关矩阵题就在问“给出的相关数字能否共同组成合法风险”。
建议先用 014 章的首次成功练概率递推,再用 026 章的最小二乘练平方误差;算法题从 002 章和 031 章的小数组开始。每次先说清变量代表什么,再代一个小例、检查一步变化,最后才记通式。
#这本手册解决什么问题
量化面试的准备材料通常有两种:一种是纯题库,按公司或按年份罗列题目,答案零散;一种是教科书,体系完整但离面试题很远。这本手册试图站在中间:以《General Practice Questions》的265个编号练习条目为底稿(含重复问法,不把它们都认证为公司真题),把题目按知识点而不是按出现顺序重组,每一章先把这个知识点讲透,再把落在它上面的原题逐道解完。
这样组织的理由很直接:同一个方法可用于多种题面,但题库未提供原题重考频率或知识点出现率的统计依据。掷硬币等第一个正面、等 HH、等 HHHH 表面上是三道题,实际是同一个「序列等待」工具的三个难度档;最大子数组、最大子数组和等于 K、最短含 K 个唯一值子数组是同一个「窗口/前缀和」思想的三种问法。会一道题只能应付一道题,会一个工具就能应付一个家族。
读完这本手册的检验标准只有一条:拿到没见过的题,你能先说出「这是哪类题、用什么工具」,再开始算。目录里每个板块的第一章都有一张知识地图,建议每轮复习开始前重看一遍,确认工具箱在心里是完整的。
每个板块先讲清楚工具箱里有什么:期望递推、贝叶斯更新、指示变量、Kadane、滑动窗口……以及每个工具的适用信号。
每道例题都有建模、关键步骤和数值结果,不止给答案;重点是「为什么下一步这么走」。
每章末尾的误区与追问小节,模拟面试官的 follow-up:换个条件、换个问法,你的结论哪里要变。
#题库的七大板块与重组方式
编号题分为六类,另有数据结构与算法提纲,合起来构成七个学习板块,题量分布很不均匀:概率一个板块就占了约三分之一,编程占近三成。手册保留了板块边界,但按知识点密度重新切章——概率拆成十章,博弈合并为两章,数据结构与算法的复习提纲扩写成九章并配上 C++ 实现。下表是板块级映射;题面缺条件时,正文保留条件边界,不把板块齐全等同于每题都有无条件唯一答案,你可以直接把它当目录索引用。
| 板块 | 源题量 | 对应章节 | 重组逻辑 |
|---|---|---|---|
| 数据结构与算法 | 8项结构+20项算法 | 002–010 | 提纲逐项讲透,每项配手写例题与复杂度 |
| 脑筋急转弯 | 10 道 | 011–013 | 按「信息约束、估算数论、编码博弈」三类拆题框架重组 |
| 概率 | 88 道 | 014–023 | 按工具分十类:递推、序列等待、骰子、硬币、贝叶斯、检验、对称、指示变量、过程、杂题 |
| 博弈论 | 11 道 | 024–025 | 单局估值与逆向归纳一章,破产与下注尺度一章;其中柯西估计一题实为统计题,收录在 028 章 |
| 统计与数学 | 46 道 | 026–030 | 回归两章、估计一章、高斯与相关一章、杂题费米一章 |
| 编程 | 75 道 | 031–036 | 按模板收敛:DP 两章、窗口、字符串栈、二分数学、设计 |
| 金融直觉 | 35 道 | 037–040 | 夏普、期权、微观结构、组合与回测各一章 |
每个板块的开头一章都有一张知识地图(SVG 导图),先看图再读正文,能更快建立定位感。章节之间有交叉引用:比如 025 章「掷硬币猜涨跌」算完期望与方差后,「两年后亏钱概率」的口径在037 章夏普比率处还会再出现一次,025 章有链接直达。
推荐阅读如何进入这一本教材
这份教材以量化笔试面试的独立解题能力为目标。先掌握方法,再做不同题面的练习;书单用于发现缺口和提供进一步阅读,推荐一本书、主题与本书重合、逐页读完该书,是三种不同状态。原先“已覆盖大多数一轮面试”的说法没有可靠频次依据,现改为下列可检查的复习路径。
概率与期望、计数和递推 → 统计估计与回归 → 模型验证和算法实现,是通用主线。随机微积分、复杂衍生品、严格学习理论和系统专题放到岗位相关的第二轮。完成主线后,用混合题检验工具选择,而不是背书内题号。
分册的读法:本章给路线与补读练习;接着是概率统计和机器学习的基础讲解;之后保留量化手册的方法题、Hot100和两套专项题。相同方法在练习部分保留不同题面,不要求从第一页连续刷到最后。日常学习按主题选择数学起步、回归、统计、概率、机器学习和专项题册。全量合编仅保留归档,不再作为默认入口;这些自编讲解不等于推荐商业书的全文。
书目与实际取得内容:逐项记录
| 读物 | 本次实际资料 | 教材接入与未覆盖部分 |
|---|---|---|
| 绿皮书 · Xinfeng Zhou | 作者相关站公开目录PDF;未取得原书全文。2008与2020版本应分别核对。 | 概率、递推、统计与算法主题已在014—036章独立讲解;不称全书逐题完成。现补目录识别出的马尔可夫矩阵、模拟误差等方法练习。 |
| Heard on the Street · Timothy Falcon Crack | 作者官网、旧版章纲与勘误。官网列27版;章纲页面为旧页且明示不提供样章;未取得整书。 | 作为逻辑、概率、金融与统计的补充练习推荐。现有题目与其书内题号、页码没有逐一核对,不能称“来自该书”或“该书已经导入”。 |
| ESL二版 · Hastie/Tibshirani/Friedman | 作者页公开全文入口、目录与勘误;本次全文下载受连接限制,未完成全书读取。 | 主干模型见机器学习教材;补读增加高斯判别和模型选择例子。高级理论与全部习题未整合。 |
| ISL/ISLP · 作者统计学习教材 | 作者公开教材入口;已取得ISLR初版 Corrected 7th Printing 完整PDF(431页,版权页2013),核对了目录及选定主题;另读取新版作者实验Notebook。ISLR二版和ISLP全文入口本次连接失败;不同版不能混称。 | 补FDR与模型选择练习,并给重采样实验入口。不是全书章节或实验的完整中文替代。初版第3章回归、第4章分类、第5章重采样、第6章正则化、第8章树与第10章无监督学习,可与本册机器学习对应方法对读;未称全部习题已逐题核对。 |
| All of Statistics · Larry Wasserman | 作者页提供勘误、粗略R代码及数据;没有从该页取得书籍全文。 | 估计与检验基础见概率统计教材;补非线性估计的Delta方法例子。不据未取得的正文宣称逐章整理。 |
| Cracking the Coding Interview · Gayle Laakmann McDowell | 官方目录及官方第6版解答代码仓库。公开代码不等于取得书本全文。 | 算法主干见002—010、031—036及Hot100;不认定Hot100是该书189题。语言、数据库、并发与设计专题按开发岗位另学。 |
| Quantitative Financial Economics;Statistical Arbitrage | 已核验Cuthbertson/Nitzsche的Wiley书目;原书单未写Statistical Arbitrage作者,Andrew Pole版只作候选核验,不冒充已确定版本。 | 风险、回测与交易基础见037—040;这些书的完整正文尚未整合,列岗位选读。 |
| Trading and Exchanges: Market Microstructure for Practitioners · Larry Harris | PDF书单原有此项。作者书目页列Oxford University Press 2003;出版社书目列2002年10月出版。这里只核对书目信息,未取得并逐章整合原书全文。 | 交易机制、订单、做市和成本主题对应039章;对应主题不代表覆盖整书章节与案例。 |
| Complete guide to capital markets(原书单缩写) | PDF将其与Quantitative Financial Economics用斜杠并列,未列作者、版本或ISBN,不能据缩写确定具体书籍。本册保留此推荐项及未确定状态。 | 资本市场背景可按岗位补读;本册不声称已经取得或整合该未知版本。 |
这些来源状态按实际访问结果记录,不能由目录、勘误或其他人的题目摘要推定“全书已读”。后续若取得合法书本,应先核对版本和页码,再逐项更新已覆盖范围;不会把缺失部分标成完成。
补读:四个统计学习概念的原创手算练习
这些练习围绕量化研究面试中的分类、筛选与不确定性编写,补足本教材的几个基础缺口。选题可对照ISL作者官网及ESL公开目录继续学习;它们不是原书例题、逐章摘要或完整替代。All of Statistics的作者页提供勘误和数据资源,本处不声称依据其未取得的全文逐章整理。
1 · LDA与QDA:先描述两类怎样生成数据,再画分界
第一步,给出模型:有普通类0与事件类1,先验比例分别为0.8与0.2。一个输入数值在类0服从均值0、方差1的正态,在类1服从均值2、方差1的正态。LDA,即线性判别分析,假设各类拥有相同的协方差;本例只有一维,相同协方差就是相同方差。
第二步,比较后验:贝叶斯公式告诉我们,后验比等于“先验比乘密度比”。取自然对数把相乘改成相加;共同的正态常数约掉:
第三步,解分界并核验:假设两种误判代价相同,选类1要求后验比大于1,即\(D(x)\gt0\)。移项得\(x\gt1+\log4/2\approx1.6931\)。输入\(x=2\)时,\(D=2-\log4\approx0.6137\),后验为\(e^D/(1+e^D)\approx0.6488\)。类1较稀少,分界从两均值中点1向右移动;不是只挑更近的均值。
边界:方差不同,两项\(x^2\)无法抵消,分界可为二次式,这叫QDA,即二次判别分析。实际均值与协方差需从训练数据估计,维数大样本少时协方差估计可能不稳定。两类高斯及共协方差是模型假设,不是金融数据天然性质。自测:先验改成各半,其余不变,分界是多少?核对:1。
2 · FDR:筛很多因子时,控制的是哪一种错误
第一步,区分目标:同时检验5个候选,得到已经排序的p值\(0.002,0.009,0.018,0.041,0.2\)。Bonferroni在整体水平0.05下给每项阈值\(0.05/5=0.01\),拒绝前两项。它控制“至少误拒一个”的概率,称家族错误率。
第二步,换成FDR目标:设最终拒绝数量为\(R\),其中实际无效却被拒绝的数量为\(V\)。错误发现比例为\(V/\max(R,1)\);分母这样定义保证没有发现时比例为0。FDR是这个比例的期望,不是“每个入选因子有5%概率无效”。
第三步,逐项执行BH:Benjamini–Hochberg方法在水平\(q=0.05\)下,给第\(k\)小p值比较线\(kq/5\),依次为0.01、0.02、0.03、0.04、0.05。找满足\(p_{(k)}\le kq/5\)的最大下标:本例第3项0.018小于0.03,第4、5项不满足,所以取\(k=3\),拒绝前3项。
数值解释与边界:本次选3项,不表示已知其中有\(3\times0.05=0.15\)项错误;真实真假并未观察到。BH的经典控制结论需要有效p值及独立或特定正依赖条件,任意相关结构不能直接保证。因子重用同一验证期、反复改定义,也可能使输入p值本身无效。自测:把第4项改成0.039,其余不变,最大下标是多少?核对:4,前4项一并拒绝。
3 · Delta方法:概率估计变成赔率后,误差尺度怎样传过去
第一步,先知道原估计的波动:100次独立伯努利观察,估计发生率\(\widehat p=0.6\)。样本比例方差为\(p(1-p)/n\),以\(\widehat p\)代替未知\(p\),得到\(0.6\times0.4/100=0.0024\)。这仍是模型下的估计,不是真方差已知。
第二步,用切线传递误差:想报告logit,即对数赔率\(g(p)=\log[p/(1-p)]\)。在真实\(p\)附近,一阶近似为\(g(\widehat p)-g(p)\approx g'(p)(\widehat p-p)\)。导数逐项为\(1/p+1/(1-p)=1/[p(1-p)]\)。随机误差乘常数后,方差乘该常数的平方,因此:
第三步,构造近似区间:中心\(g(0.6)=\log1.5\approx0.4055\),加减\(1.96\times0.2041\approx0.4001\),得对数赔率区间约\([0.0054,0.8055]\)。反变换为\(p=e^z/(1+e^z)\),两端约为\([0.5013,0.6912]\)。变换后不必围绕0.6对称。
边界:这是CLT配一阶近似,不是有限样本精确95%区间。\(p\)靠近0或1时导数极大,样本全0或全1时logit无定义,不能机械代入;应考虑适用的小样本区间或明确先验的后验方法。相关观察也不能直接用\(n=100\)。自测:若\(\widehat p\)仍0.6、独立样本数变400,近似标准误如何变化?核对:减半,约0.1021。
4 · 一个标准误规则:分数差一点时,怎样避免只追最低点
第一步,先分清训练与选择:模型参数在训练内拟合,复杂度在内层验证选择,最终能力由未参与选择的外层测试评价。只取所有尝试中最小验证误差,往往也挑中了验证噪声。一个标准误规则是倾向选择性能接近最优、但更简单的候选的启发式,不是保证简单模型永远更好的定理。
第二步,完整算比较线:教学设定把4份评价误差近似看作独立重复,复杂模型误差为1、1.2、1、1.2,均值1.1。离均值平方和为\(4\times0.1^2=0.04\),样本方差为\(0.04/3\),标准差约0.1155;均值标准误再除\(\sqrt4\),约0.0577。
第三步,选择更简单的可接受候选:比较线为最低均值加其一个标准误,即\(1.1+0.0577=1.1577\)。简单模型均误差1.14,低于这条线,于是按该规则选简单模型;若其误差为1.20则不满足。误差越小越好的约定不能与准确率越大越好混淆。
边界:普通K折共享训练数据,各折误差并非严格独立;时间窗口还可能相邻相关。上面的标准误计算用于看懂规则,不能冒充金融交叉验证的精确置信区间。使用成对比较、时间块不确定性或外层滚动评价时,须重新定义实验;外层测试不能继续调复杂度。自测:简单模型误差1.16时是否符合本例规则?核对:不符合,1.16大于1.1577。
补充一 · 吸收马尔可夫链:把“还要走几步”变成两条方程
概率/研究岗位重点拓展。过程有A、B、D三个状态。D表示已经完成,到了D便不再离开,称为吸收状态;A、B是尚未完成的状态。每一步只看当前状态决定下一步,不依赖更早历史。按A、B、D列出转移矩阵,行表示现在,列表示下一步:
每行都加到1。例如在A时,一半概率留A,四分之一到B,四分之一直接完成。输入是这张转移表和起点;输出是首次到D所需步数的期望。令 \(t_A,t_B\) 分别表示从A、B开始还需几步,\(t_D=0\)。先走一步已经花掉1,再按落点加剩余步数:
把未知量移到左边,两式乘4,得到 \(2t_A-t_B=4\) 和 \(-t_A+3t_B=4\)。第一式给 \(t_B=2t_A-4\),代入第二式:\(-t_A+6t_A-12=4\),故 \(t_A=16/5=3.2\),\(t_B=12/5=2.4\)。代回第一条原式,\(1+(1/2)(3.2)+(1/4)(2.4)=3.2\),核验正确。A直接完成概率较低,因此等待更久也符合直觉。
保留A、B之间的转移,得到矩阵 \(Q\)。它的行和不必为1,差额正是跳到D的概率。刚才的方程可合写为 \((I-Q)t=\mathbf1\),其中 \(I\) 是单位矩阵、\(\mathbf1\) 是全1列向量。这里真正算一次逆:
乘全1向量,就是分别把每行相加,仍得 \(t=(16/5,12/5)^T\)。这个逆矩阵还等于 \(I+Q+Q^2+\cdots\):从A起步,吸收前平均访问A共 \(12/5\) 次、B共 \(4/5\) 次,包含起点的那次访问;两者相加便是吸收前总步数。实现时应解线性方程,不必显式算逆。
边界与易错点:不能把完整P直接放进 \((I-P)^{-1}\),因为P包含吸收状态,会使该矩阵奇异。有限状态下须确认所有保留状态最终以概率1被吸收,才有这里的有限期望与几何级数;若A改成永远留A,从A出发的等待为无穷,不是把方程强行求出某个负数。
补充二 · 降低模拟方差:控制变量与对偶采样真的省多少?
研究岗位重点拓展。令 \(U\) 在0到1之间均匀抽样,用 \(Y=U^2\) 的样本平均估计积分。这个教学例子可用解析值 \(E[Y]=1/3\) 校验模拟;实际复杂定价中才可能没有解析答案。已知 \(E[U]=1/2\),于是 \(C=Y-b(U-1/2)\) 的期望仍为 \(1/3\):减掉的是期望为零的波动。
展开方差得 \(\operatorname{Var}(C)=\operatorname{Var}(Y)-2b\operatorname{Cov}(Y,U)+b^2\operatorname{Var}(U)\)。这是关于 \(b\) 的二次函数,导数置零得到 \(b=\operatorname{Cov}(Y,U)/\operatorname{Var}(U)\)。本例 \(\operatorname{Var}(U)=1/12\),协方差 \(E[U^3]-E[U^2]E[U]=1/4-1/6=1/12\),故 \(b=1\)。
原方差 \(1/5-1/9=4/45\),修正后方差 \(4/45-1/12=1/180\),减少到原来的十六分之一。每次仍只需一个 \(U\)。另一做法把 \(U\) 与 \(1-U\) 配成一组,组平均为 \([U^2+(1-U)^2]/2=U^2-U+1/2\),恰好等于本例的控制变量结果;但每组用了两次函数计算。按同样的函数调用预算比较,对偶法这里降方差八倍,不能说十六倍。
边界:控制量的真实均值必须已知;同批样本估计系数时有限样本无偏性需另查,可先用独立预试样本固定系数。对偶配对也并非总能降方差,关键是配对输出产生负协方差。
站内同专题材料:本手册与《小红书量化面试题库 3–54:52 道题的完整推导与面试方法》同属「量化面试」专题。那份题解按题目逐一独立推导、偏证明细节;本手册按知识点重组、偏体系与训练路径。建议先用本手册建立框架,再用那 52 道题做独立练习检验——两份材料的推导风格不同,互相对照能暴露理解上的盲点。
#三条学习路径
不同背景的人应该按不同顺序用这本手册。给自己选一条主线,避免从头到尾平推——统计背景的人不需要在数据结构上花与概率同样的时间,反之亦然。
顺读 002–040。适合准备周期超过一个月、基础平均的情况;每章读完立即做例题,不要只看解答。
先吃透 014–023 十章(88 道源题),再回头补 002–010 与 031–036;金融直觉放最后串联。适合两周内的面试冲刺。
只读每章的「误区与边界」和「检查清单」,配合 037–040 的金融问答热身;把 014、015、018 三章的例题重做一遍。
自测节奏建议:每天一个板块的一到两章,先遮住解答自己做例题,能独立完成超过七成才算过关;不过关的章记下来,三天后重做。面试前一晚只看记下来的章。
#例题详解长什么样
手册里所有例题都按统一格式呈现:题面(改写得更清晰)→ 建模 → 推导 → 结果 → 面试怎么讲。这里用一道最小的题演示这个格式,它同时也是概率主线的第一道例题的预告。
例题 0(格式演示):掷一枚公平硬币,平均要掷多少次才能得到第一个正面?
建模。设 \(E\) 为得到第一个正面所需的期望次数。每一次掷硬币有两种结局:以概率 \(\tfrac12\) 直接出现正面,用掉 1 次;以概率 \(\tfrac12\) 出现反面,同样用掉 1 次,但之后的过程与重新开始完全一样,期望仍为 \(E\)。
推导。按第一次的结果分解(first-step analysis):
解得 \(E=2\)。
检验。这与几何分布的通用结论一致:成功概率为 \(p\) 的试验,首次成功的期望等待次数是 \(\tfrac{1}{p}\);代入 \(p=\tfrac12\) 得 2。量级也合理——期望次数应该在 1 和「很多次」之间。
面试怎么讲。先说「这是几何分布,期望 \(\tfrac1p\)」,再当场把递推式写出来证明你理解推导,最后主动提一句:「如果题目改成等第一个 6,就是 \(p=\tfrac16\)、期望 6 次。」——主动给出变式是面试的加分习惯。
推导补全与自检。把“再等多久”与“已用多久”分开。令 T 包含成功的最后一掷,则 \(P(T=k)=2^{-k}\),\(E[T]=\sum _{k\ge 1}k/2^k=2\);另由尾和 \(E[T]=\sum _{j\ge 0}P(T>j)=\sum _{j\ge 0}2^{-j}=2\),相互核验。若问成功前失败次数,则答案为 1;同一题差 1 通常是计数起点不同。
这个「建模 → 推导 → 检验 → 面试怎么讲」的四段式会贯穿全手册。检验一步尤其不要省:概率题最容易在「结果超出 \([0,1]\)」「退化情形不对」「量级离谱」上翻车,花十秒钟自查能把大部分粗心错误拦住。
#面试答题的通用框架
不管哪个板块,口头答题都遵循同一个骨架。正确解法、可运行实现与解释过程都重要;这个骨架帮助你把推理展示出来,也让对方能定位你卡在哪一步。
第一步 · 复述与澄清:用自己的话把题目复述一遍,把歧义点问清(「随机」是指均匀吗?「最大期望」还是「最大概率」?)。这一步同时为自己争取思考时间。
第二步 · 识别题型:说出你认为这是哪类题、用什么工具。「这看起来是序列等待问题,我想用期望递推」——即使最后路线错了,结构化的开头也远好于沉默。
第三步 · 小情形试手:先算 \(n=1,2,3\) 的小情形找模式,再推广。编程题先讲暴力解,再优化。
第四步 · 求解并检验:给出结果后立刻自查:边界值、退化情形、量级;能数值验证的就报一个近似数。
第五步 · 主动延伸:指出题目的变式和假设的边界(「若硬币不公平则……」「若允许卖空则……」),把对话引向你熟悉的领域。
#各板块的复习优先级与出题形式
下表的优先级是本手册按基础依赖与迁移范围给出的学习安排,不是统计得到的出题频率。轮次只举可能场景,不同公司的研究、交易、开发岗位会调整内容;以实际职位和招聘方说明为准。
| 板块 | 可能的场景 | 出题形式 | 优先级 |
|---|---|---|---|
| 概率 | 电话面 + 现场首轮 | 连续口头推导,考官不断追问变式 | 最高 |
| 编程 | 电话面 / 现场上机 | LeetCode 中等难度,限时写出可运行代码 | 最高 |
| 统计 | 现场轮 | 概念辨析 + 小推导,考假设与边界 | 高 |
| 金融直觉 | Hiring manager / 终面 | 开放讨论,考思维框架而非标准答案 | 中 |
| 数据结构与算法 | 编程轮前置 | 概念问答、复杂度分析与代码实现 | 中 |
| 脑题与博弈 | 任意轮的开场或收尾 | 五分钟内给出结构化推理 | 中低 |
条件概率、期望与状态递推会被统计推断、博弈和金融建模反复复用,先掌握它们能减少后续重复学习。练习时既写出计算,也解释每一步依据;这是一种教学安排,不意味着每个岗位都把概率放在同一轮或给予最高权重。
#高频问题快答
「我没有金融背景,能过量化面试吗?」先看目标岗位明确列出的能力。部分岗位接受不同专业背景,但这不等于首轮一定不问金融。概率、统计与编程构成可迁移基础;金融直觉(037-040章)帮助你理解市场、执行与成本,具体深度取决于岗位。
「数学推导总是差最后一步怎么办?」先分清是基础概念不熟、中间推导跳步,还是缺少检验。概念不熟时先看本章前的数学工具起步;对已有推导,把 \(n=1\)、\(n=2\) 的情形代进去算一遍,错在哪一步会立刻暴露。每章的「检验」段落就是这套流程。
「编程题用 Python 还是 C++?」先确认岗位允许的语言及性能要求。Python便于表达算法,C++便于直接讨论对象生命周期和内存;理解复杂度并不依赖选哪门语言。本手册编程章节以C++为主,另有Hot 100的Python实现。
「题目做过了但面试还是卡?」因为你是「认出了题」而不是「重建了解法」。练习时遮住解答、从建模开始完整讲一遍,讲不下去的地方就是真实盲区。
「两个月的复习计划怎么排?」前四周概率十章 + 编程六章(每天各一章交替),中间两周数据结构与统计,最后一周金融直觉 + 全部检查清单二刷 + 错题重做。
「口头面试可以带草稿纸吗?」视公司而定,但不要依赖它:把「小情形试手」和「量级检验」练成心算习惯,推导主线始终口头同步讲出来——沉默三十秒在面试里的代价远大于说错一步。
「错了怎么办?」立即说「这里不对,让我退一步」,然后从上一个确定无误的状态重来。面试官考察的是纠错回路是否顺畅,一次干净的回退比硬着头皮错到底的印象好得多。
「这套题库够不够覆盖目标公司?」通用题库覆盖第一轮的技术面没问题;公司特有的风格题(如某些机构的心理测量、快速心算、市场开盘预测)需要另外找该公司面经补充,本手册负责的是可迁移的解题骨架。
#常见误区与自测清单
一是只看不练:读完解答产生的「会了」是错觉,遮住答案重做才是检验;二是背答案不认题型:面试官换个数字或换个场景就失效,务必把每道题归到工具上;三是忽视口头表达:默算出正确答案但讲不出推导过程,在面试里等于没答,练习时请出声讲。
- 我知道手册七大板块各自对应哪些章节,并为自己选了一条学习路径。
- 我了解每章的结构:学习目标、知识讲解、例题详解、误区边界、检查清单。
- 我能说出例题四段式:建模、推导、检验、面试怎么讲。
- 我会用几何分布期望 \(\tfrac1p\) 解决「等第一个成功」类问题,并当场写出递推式。
- 我给自己定了自测节奏:例题先遮住解答做,三天后重做不过关的章。
- 我知道答错时的正确动作:立即声明、退回上一个可靠状态、重推,而不是硬撑。
- 我了解本手册与站内小红书题库的分工:这里建框架,那边做独立练习。
证据边界与资料索引
底稿《General Practice Questions》共11页:脑题B1–B10、概率P1–P88、博弈GT1–GT11、统计数学S1–S46、编程C1–C75、金融F1–F35,共265个编号主项,包含重复题与显式子问。数据结构8项、算法20项及推荐读物另列,不计入265。手册按方法重组,同一例题可对应多个原题号。
原资料没有为所有题目提供完整条件或可靠答案。例如开方按截断、频率排序的文字与例子、花束编码、固定注额或最小单位、币型是否重抽、正系数是否为整数,都会影响结果;相应题解分别保留原文边界与明确的条件版本。推荐书目不等于已读取其全文,也不代表本册替代原书。原材料未附可公开核验的公司、日期和轮次,故不把通用练习认定为已认证真题。
原主题清单包括数学、统计、概率、数学金融、脑题、Python编程、交易直觉及研究/策略/经历。本文用C++17展示多数数据结构与算法,用Python3展示精确开方和正态采样;理解算法并不替代以实际面试语言独立实现。原文还推荐在HackerRank动态规划题目中进行限时编程练习。