第十章. 计算机科学(约翰·霍普克罗夫特班)— 面试备考指南

相关学校:上海交通大学

第十章. 计算机科学(约翰·霍普克罗夫特班)— 面试备考指南

10.1 方向概况:Hopcroft 班与致远荣誉计划

上海交通大学"约翰·霍普克罗夫特班"(John Hopcroft Class,学生常称"John 班"或"Hopcroft 班")依托致远学院与计算机科学与工程系,由1986 年图灵奖得主 John Hopcroft 教授自 2011 年起长期在交大推动办学而逐步成型,是致远荣誉计划中面向理论计算机科学与人工智能交叉的拔尖班。

Hopcroft 教授因在算法与数据结构设计方面的奠基性贡献(与 Robert Tarjan 共获图灵奖)享誉世界,晚年将大量精力投入中国计算机基础教育。他在交大创立的John Hopcroft 计算机科学中心(IJCC)成为理论研究与全英文教学的重要平台。Hopcroft 班延续其理念:以扎实的理论根基 + 国际化的学术视野,培养能面向"下一个十年"的计算机科学家。

核心培养特色

  • 理论导向:强调算法理论、计算理论、随机/近似算法、组合优化,而非纯工程编码
  • 全英文教学环境:核心课程以英文授课、英文教材、英文讨论,国际化程度为全校之最
  • AI 交叉:与机器学习、人工智能前沿紧密结合,鼓励理论服务于数据驱动科学
  • 科研早进实验室:依托 IJCC 与各实验室,本科生即可参与前沿科研(论文/项目)
  • 全球网络:Hopcroft 教授的国际学术资源带来海外研修、联合培养与顶尖学者讲座

10.2 面试定位与 SJTU 特色

Hopcroft 班面试与 ACM 班气质不同:ACM 班考"你能否当场写出最优算法",Hopcroft 班更考"你能否像研究者一样思考"——对问题的建模、对随机性/近似/权衡的理解、对理论边界的感知,以及英文表达与学术 Curiosity。面试官常含外籍教授或海归学者,英文问答比例很高。

知识板块一:理论计算机科学

自动机与形式语言、可计算性、复杂性理论(P/NP/PSPACE)、图灵机、归约与 NP 完全性。

知识板块二:算法(偏理论)

随机算法(Monte Carlo / Las Vegas)、近似算法、组合优化、线性规划与对偶。

知识板块三:图论与组合优化

图着色、匹配、TSP、网络流、拟阵、极值组合,以及它们在调度/路由中的应用。

知识板块四:ML/AI 交叉与系统

监督/无监督学习、过拟合与正则化、梯度方法;系统与网络的 CAP、一致性、分布式基础。

10.3 核心知识体系速览

类别必会概念典型问题
计算理论图灵机 / Church–Turing 论题 / 可判定性停机问题、P vs NP
复杂性P / NP / NPC / 归约Cook–Levin、SAT 归约
随机算法Monte Carlo / Las Vegas / 蒙特卡洛方法随机快排、素数测试 Miller–Rabin
近似算法近似比 / PTAS / 贪心近似顶点覆盖 2-近似、TSP 近似
组合优化线性规划 / 对偶 / 网络流最大流、匹配、调度
图论着色 / 平面图 / 匹配 / 谱图论四色定理、二部图匹配
ML/AI 基础过拟合 / 正则化 / 监督无监督偏差-方差权衡、聚类
系统与网络CAP / 一致性 / 共识Paxos/Raft、最终一致
第十章. 计算机科学(约翰·霍普克罗夫特班)— 面试备考指南

自我介绍模板(3个版本)

Hopcroft 班以全英文教学著称,英文面试占比极高。三个模板中,模板三为全英文版(含研究导向),建议所有申请者都能流利表达;模板一偏学术理论,模板二偏综合素质/转方向。

模板一:学术导向型(适合有理论/科研兴趣的同学)

各位老师好!我是 XXX,来自 XX,现被上海交通大学 XX 专业录取。很荣幸申请致远荣誉计划计算机科学(霍普克罗夫特班)方向。

我对计算机科学的兴趣,始于一个"看似简单却想不通"的问题:为什么有些问题计算机能秒解,有些却至今没有高效算法?这引导我读了计算理论——图灵机模型、P vs NP、归约与 NP 完全性,让我意识到"什么是可高效计算的"本身就是一门深刻的学科。

高中期间,我参加过 XX 数学/信息学活动,系统学习了离散数学、图论与基础算法,也在 Coursera 上完成了 Princeton 的"Algorithms"与 Andrew Ng 的"Machine Learning"课程。我尤其着迷于随机算法与近似算法——在无法求最优时,如何用随机性或近似比换取可行解,这种"权衡思维"深深吸引我。

我选择 Hopcroft 班,是因为它把理论根基与 AI 前沿结合,又有全英文的国际化环境。我的目标是未来在理论计算机或机器学习理论方向深造,而 John Hopcroft 教授推动的这个班,正是理想土壤。

谢谢各位老师!

适用:有理论兴趣、自学过算法/ML 公开课、想走科研路线的同学。重点用"问题驱动"体现学术好奇心。

模板二:跨专业转方向型(适合从其他专业/方向转入计算机的同学)

老师好!我是 XXX,高考被上海交通大学 XX 专业(非计算机)录取。今天我申请 Hopcroft 班,是一次"回归初心"的选择。

我原专业是 XX,但大一的自学让我确认:真正让我兴奋的是计算本身。我用课余啃完了《算法导论》的前十几章,在 LeetCode 刷了 150+ 题,也旁听了学院的离散数学与数据结构课。更关键的是,我读 Sipser 的《计算理论导引》时第一次理解了"停机问题不可判定"——那种"原来存在计算机永远算不出答案的问题"的震撼,让我决定转轨。

我清楚跨专业的短板:系统编程经验少、数学深度待补。但我的优势是跨学科视角——原专业的 XX 训练(如数学建模/统计思维)能让我在 AI 与理论交叉处看到不同问题。Hopcroft 班的全英文、重理论的氛围,恰好适合我这种"想从根基重建知识体系"的人。

我已和导师沟通过渡方案,并补修了先修课。若能入选,我会用加倍努力把差距补上。

谢谢!

适用:非计算机科班、跨专业申请的同学。坦诚短板 + 展示已做的弥补行动 + 强调跨学科价值,比掩饰更可信。

模板三:英文版(Research-Oriented,全英文自我介绍)

Good morning, professors. My name is XXX, a freshman admitted to Shanghai Jiao Tong University. It is a great privilege to interview for the Zhiyuan Honor Program, specifically the John Hopcroft Class in Computer Science.

My passion for computer science began with a deceptively simple question: why can some problems be solved in milliseconds, while others — like certain optimization tasks — remain intractable despite decades of effort? That curiosity led me to theoretical computer science: the Turing machine model, the P versus NP question, and the idea of reductions. I found it fascinating that "what is efficiently computable" is itself a deep subject.

On my own, I studied discrete mathematics, graph theory, and the basics of algorithms, and completed Princeton's "Algorithms" and Andrew Ng's "Machine Learning" on Coursera. I am especially drawn to randomized and approximation algorithms — the art of trading optimality for feasibility through randomness or provable approximation ratios.

I chose the Hopcroft Class because it combines rigorous theory with the AI frontier, in a fully English-speaking, internationally minded environment. Professor Hopcroft's vision of cultivating foundational researchers resonates strongly with my goal of pursuing graduate study in theoretical CS or the theory of machine learning. Thank you for your time.

适用:所有申请 Hopcroft 班的同学必须准备全英文自我介绍。面试官极可能全程英文,建议背诵并练到自然,重点展示 research curiosity 与理论兴趣。

自我介绍要点总结

  • 时长 1.5–2 分钟(英文约 180–220 词);Hopcroft 班建议优先练英文版
  • 结构:我是谁 → 理论/科研兴趣(用具体问题钩子,如 P vs NP / 近似算法) → 为什么是 Hopcroft 班 → 未来规划 → 致谢
  • 多抛"研究型钩子",引导面试官就你擅长的话题深入,而非被工程编码问题考倒
  • 英文表达重在清晰与学术词汇(reduction / approximation ratio / tractable),不要求口音完美
第十章. 计算机科学(霍普克罗夫特班)— 面试真题 20 题

面试真题 20 题(第1–10题)

1 理论计算机科学研究什么?它和我们日常写程序(软件工程)有什么关系?学术思维
【核心逻辑】

考察对"理论 CS"的定位是否清晰,以及能否把抽象理论与工程实践联系起来。这是 Hopcroft 班最看重的"研究品味"题。

【参考回答】

理论计算机科学研究"计算的本质与边界",大致分三层:① 计算理论/可计算性——什么问题原则上能被计算(图灵机、停机问题);② 复杂性理论——什么问题能被高效计算(P/NP、空间/时间层级);③ 算法与数据结构设计——在可高效计算的范畴内如何做得更好(随机/近似/组合优化)。

与日常软件工程的关系——理论是工程的"地基与指南":

  • 复杂度意识:工程师选 HashMap 还是 TreeMap,本质是理论给出的 O(1) vs O(log n) 权衡。
  • 不可行性警示:知道某问题是 NP 难,工程上就别傻等精确解,转而用启发式/近似——这是理论对实践的"止损"价值。
  • 算法即生产力:编译器优化、数据库查询计划、分布式一致性协议,背后都是理论算法。
  • 随机与近似的工程化:现代大数据/ML 系统大量用随机算法(如 HyperLogLog 估算基数、SGD 训练),理论给它们正确性/收敛性保证。

简言之:软件工程是"把能算的算好",理论计算机是"先问能不能算、怎么算才最优"。Hopcroft 班要培养的是既懂前者、更能驾驭后者的人。

备考提示:避免把理论说成"没用的数学"。最佳回答是"理论划定边界、指导工程取舍",并举 1–2 个具体例子(如 NP 难→用近似、复杂度→选对数据结构)。
2 请解释图着色问题(Graph Coloring),并谈谈它在现实中有哪些应用。专业基础
【参考回答】

图着色问题:给定无向图 G=(V,E),用最少的颜色给每个顶点染色,使任意相邻两顶点颜色不同。这个最小颜色数称为色数 χ(G)。判定"能否用 k 种颜色着色"是经典的 NP 完全问题。

为什么难:即使 k=3(3-着色)也已 NP 完全;只有二部图(无奇环)可 2-着色、平面图可由四色定理保证 4-着色。一般图求 χ(G) 没有已知多项式算法。

现实应用:

  • 课程排课 / 考试安排:把"互不冲突(无公共学生)"的考试放进同一时段 → 顶点是考试,边表示有共同学生,最少颜色=最少时段。
  • 寄存器分配:编译器把"生命周期不重叠"的变量放进同一寄存器,经典的图着色应用(Chaitin 算法)。
  • 频率分配:无线基站/蓝牙设备若互相干扰(相邻)就不能同频,频率即颜色。
  • 地图着色 / 调度:任务依赖图、带宽分配等。

工程上常用贪心着色(按度降序 Welsh–Powell)或 DSATUR 求可行解,配合回溯求精确解;这是"NP 难→用启发式"的典型范例,正契合 Hopcroft 班重视的近似/权衡思维。

备考提示:务必点出"图着色是 NP 完全",并至少举一个应用(排课/寄存器分配最经典)。能提四色定理与二部图特例会体现功底。
3 Explain the P vs NP problem and why it is considered one of the most important open questions in computer science.英文
【中文翻译】

解释 P vs NP 问题,以及为什么它被认为是计算机科学最重要的开放问题之一。

【Reference Answer】

P is the class of decision problems solvable in polynomial time on a deterministic Turing machine — problems we can both find a solution to and verify it efficiently (e.g., shortest path, sorting).

NP (nondeterministic polynomial) is the class where a proposed solution can be verified in polynomial time, even if finding it may be hard (e.g., Boolean satisfiability SAT). Importantly, P ⊆ NP, because any problem we can solve quickly we can also verify quickly.

The question "P = NP?" asks whether every problem whose solution is easy to check is also easy to solve. Most theorists believe P ≠ NP, but no proof exists.

Why it matters so much:

  • Foundational: it sits at the heart of computational complexity, distinguishing "search/solve" from "verify".
  • Practical stakes: if P = NP, countless hard problems (optimization, scheduling, cryptography) would become efficiently solvable, revolutionizing medicine, logistics, and AI — but it would also break most modern cryptography, which relies on certain problems being hard.
  • Millennium Prize: it is one of the seven Clay Mathematics Institute Millennium Problems, carrying a US$1,000,000 prize.
  • NP-completeness: Cook–Levin showed SAT is NP-complete, meaning if any NPC problem is in P, then P = NP. This gives a concrete battleground for the question.

In short, P vs NP probes the very limits of what computation can achieve — which is exactly the kind of question theoretical computer science, and this class, cares about.

备考提示:英文要准确区分 P(求解易)与 NP(验证易),强调 P⊆NP,并指出若 P=NP 将颠覆密码学。能提 Cook–Levin 与 Millennium Prize 显深度。
4 旅行商问题(TSP)为什么难解?有哪些近似算法或启发式方法可以应对大规模实例?学术思维
【参考回答】

TSP:给定 n 个城市与两两距离,求访问每个城市恰好一次并回到起点的最短回路。它是经典的 NP 难问题(其决策版本属于 NP 完全)——暴力枚举 (n−1)!/2 条回路在 n 稍大时即不可行。

为什么难:解空间随 n 阶乘增长,且局部最优≠全局最优("贪心走最近城市"极易陷入坏解)。它属于 强 NP 难,除非 P=NP,否则不存在多项式时间的精确算法能保证最优。

应对大规模实例的方法:

  • 近似算法(有理论保证):对满足三角不等式的度量 TSP,最小生成树 2-近似(走 MST 的 DFS 前序,再 shortcut)保证解 ≤ 2×最优;更好的 Christofides 算法可达 1.5-近似(MST + 奇度点最小完美匹配)。注意一般 TSP 不存在常数近似(除非 P=NP)。
  • 启发式 / 元启发式:2-opt / 3-opt 局部搜索、模拟退火、遗传算法、蚁群优化——不求最优但实践中效果好。
  • 精确法(中小规模):分支定界、整数线性规划(ILP)求解器。

TSP 完美体现了 Hopcroft 班重视的"当精确不可得,如何用近似比/启发式换取可行"的权衡哲学。

备考提示:必须点出"NP 难 + 度量 TSP 有 2-近似/1.5-近似(Christofides)"。能区分"近似算法(有界)"与"启发式(无界)"是理论素养的体现。
5 图灵机的基本模型是什么?什么是 Church–Turing 论题?它为何重要?专业基础
【参考回答】

图灵机(Turing Machine, TM):一种抽象计算模型,由以下几部分组成:一条无限长的纸带(分格,每格写一个符号)、一个读写头(可读/写当前格并左右移动)、一个有限状态控制器(含状态转移规则 δ)。转移规则形如"在状态 q、读到符号 a 时,写 b、移动方向(L/R)、进入状态 q'"。从初始状态、纸带含输入开始运行,停机时输出结果。

Church–Turing 论题:一个函数"可有效计算"(算法可解)当且仅当它能被某个图灵机计算。换言之,所有合理的"算法"概念(λ演算、递归函数、 postnatal 机等)在计算能力上都与图灵机等价。注意这是一个论题(thesis)而非定理——无法严格证明,因为"有效计算"本身是非形式概念,但至今所有被提出的计算模型都未超越 TM 的能力。

为什么重要:① 它定义了"算法"的黄金标准,使"可计算性"成为严谨学科;② 由此推出存在不可判定问题——图灵机无法判定的事(如停机问题),任何等价模型也都无法判定;③ 它是现代计算机体系结构的理论原型(冯·诺依曼架构即 TM 的物理实现)。

备考提示:强调 Church–Turing 是"论题非定理",并能由此引出"不可判定性"。能提停机问题(Halting Problem)会自然衔接到下一层次的可计算性边界。
6 随机算法有什么价值?请举例说明随机化如何简化问题(如随机化快速排序、蒙特卡洛方法)。学术思维
【参考回答】

随机算法在算法中引入随机源,用"概率上的大概率正确/高效"换取确定算法难以达到的简洁或突破最坏情况。

例一:随机化快速排序。普通快排最坏 O(n²)(坏 pivot)。随机选 pivot 后,期望复杂度 O(n log n),且对任意输入分布都成立——无需对数据做任何假设。这是"用随机性消除最坏情况"的典范。

例二:蒙特卡洛算法(Monte Carlo)。以一定概率给出正确解,错误概率可通过重复降到任意小。典型:

  • 素数测试 Miller–Rabin:确定性测试大数极慢,Miller–Rabin 用随机数做费马式检验,错误概率每轮减半,重复 k 轮后错误率 < 2⁻ᵏ,密码学广泛用。
  • 用随机采样估计大规模图的性质(如连通性、三角形计数):不遍历全图,抽样近似。

例三:拉斯维加斯算法(Las Vegas)。与蒙特卡洛互补——总是给出正确解,但运行时间随机。如随机化快速排序(结果必对,时间随机)、随机化最小割 Karger 算法。

价值总结:随机化常能把"最坏情况不可控"变成"期望可控",或把"指数精确"变成"多项式高概率"。现代密码学、机器学习(SGD 随机梯度)、大数据 sketching 都建立在随机算法之上。

备考提示:务必分清 Monte Carlo(结果可能错、时间确定)与 Las Vegas(结果必对、时间随机)。能举 Miller–Rabin 或 Karger 最小割会很出彩。
7 算法分析中,"平均情况复杂度"与"最坏情况复杂度"有何区别?什么时候我们更关心哪一个?专业基础
【参考回答】

最坏情况复杂度(Worst-case):对所有长度为 n 的输入,算法运行时间的上界。如快排最坏 O(n²)、归并最坏 O(n log n)。它给出绝对保证——无论什么输入都不会更差。

平均情况复杂度(Average-case):在某种输入分布假设下,运行时间的期望值。如随机化快排平均 O(n log n)。它反映"典型表现",但依赖分布假设。

何时关心哪个:

  • 最坏情况优先:实时系统、安全/密码学、生命关键系统——必须保证"再坏也不会崩"。也用于复杂度下界证明。
  • 平均情况优先:搜索引擎、推荐系统、通用库——典型输入占绝大多数,平均性能决定真实体验(如哈希表平均 O(1) 虽最坏 O(n) 仍被广泛使用)。
  • 均摊分析(Amortized)介于二者:不单看一次,而看"一系列操作的总时间 ÷ 次数",如动态数组扩容、并查集 O(α(n)) 均摊——很多情况下比最坏更有意义。

理论研究中最常用最坏情况(因为它不依赖分布假设、最稳健);工程中常结合平均与均摊来选算法。

备考提示:能补一句"均摊分析"会显得体系完整。举哈希表(平均 O(1) / 最坏 O(n) 仍常用)是说明"工程看平均"的好例子。
8 What is an approximation algorithm? Give a classic example and state its approximation ratio.英文
【中文翻译】

什么是近似算法?给出一个经典例子并说明其近似比。

【Reference Answer】

An approximation algorithm is a polynomial-time algorithm for an NP-hard optimization problem that guarantees a solution within a bounded factor of the optimal. The approximation ratio ρ is the worst-case ratio between the algorithm's cost and the optimal cost: ALG / OPT ≤ ρ (for minimization). Unlike plain heuristics, approximation algorithms come with a provable performance guarantee.

Classic example — Vertex Cover 2-approximation: given a graph, find the smallest set of vertices touching every edge. Vertex Cover is NP-hard. The greedy approximation:

  • Repeatedly pick an arbitrary edge, add both its endpoints to the cover, and remove all edges incident to them.
  • The edges picked are disjoint, so the optimal cover must contain at least one endpoint of each → OPT ≥ k where k is the number of picked edges.
  • Our cover has size 2k ≤ 2·OPT. Hence the algorithm is a 2-approximation (ratio ≤ 2).

Another famous one: Metric TSP (satisfying triangle inequality) has Christofides' 1.5-approximation, and a simple MST-based tour gives a 2-approximation. These ratios are exactly what theoretical CS studies — how close to optimal we can stay when exact optimum is infeasible.

备考提示:英文要区分 approximation algorithm(有界保证)与 heuristic(无保证)。Vertex Cover 2-近似与 Metric TSP 1.5-近似(Christofides)是最常被问的范例。
9 在工程实践中,哈希表与平衡树(如红黑树)该如何取舍?各适合什么场景?专业基础
【参考回答】

两者都支持高效的插入/删除/查找,但语义与性能特征不同:

哈希表:平均 O(1) 查找/插入,依赖好的哈希函数与负载因子。优势是极快的点查询;劣势是不支持有序遍历、最坏 O(n)(冲突退化)、需要重哈希。

平衡树(红黑树/AVL):保证 O(log n),且天然有序——支持范围查询、前驱/后继、按序遍历。劣势是常数略大、实现复杂。

取舍原则:

  • 只需要"按键取数"、不需要顺序 → 哈希表(如缓存、字典、对象存储的索引)。
  • 需要有序性 / 范围查询 / 最近邻 → 平衡树(如 std::map、数据库索引的 B+ 树、定时器管理、优先级调度)。
  • 对最坏延迟敏感(不能接受哈希退化 O(n))→ 平衡树或带良好哈希的实现。
  • 现代融合:C++ 无序容器用哈希、有序容器用红黑树;一些语言(如 Go)map 用哈希开放寻址;Redis 用哈希表 + 跳表(zset)兼顾点查与有序。

本质上:哈希表换"有序性"换取"点查速度";平衡树用"稍慢的 log n"换取"有序与稳定最坏情况"。这是理论复杂度向工程权衡落地的典型案例。

备考提示:强调"有序性需求"是选平衡树的决定性理由。能举 std::map(红黑树)与 std::unordered_map(哈希)的对比最贴近工程。
10 如何证明一个问题是 NP 完全的?请说明"多项式时间归约"的作用,并举一例。学术思维
【参考回答】

证明问题 L 是 NP 完全,需两步:

第一步:证明 L ∈ NP。即给一个候选解,能在多项式时间验证其正确性(写验证器)。

第二步:证明 NP-hardness——找一个已知 NPC 问题 R,构造多项式时间归约 R ≤ₚ L。即:设计一个多项式时间的变换 f,把 R 的任意实例 x 映射成 L 的实例 f(x),使得 x ∈ R ⟺ f(x) ∈ L。若 L 有多项式算法,则 R 也有(先变换再解 L),与 R 是 NPC 矛盾——故 L 也 NP 难。

归约的作用:它是"难度传递"的工具。Cook–Levin 定理已证明 SAT 是第一个 NPC;之后所有 NPC 问题都通过"从 SAT(或另一个 NPC)归约"链式证明。归约方向很关键:必须是从已知难问题归约到待证问题,表示"待证问题至少和已知难问题一样难"。

例子——证明 3-SAT 是 NPC:Cook–Levin 证明 SAT∈NPC;再把任意 SAT 公式变换为等价的 3-CNF(每个子句恰 3 字面)形式,多项式时间内完成且可满足性不变,即得 3-SAT ≤ₚ SAT 的反向链,证明 3-SAT 也是 NPC。另一个经典:把 3-SAT 归约到图着色(3-着色)、到团问题(Clique)、到顶点覆盖,从而证明它们皆 NPC。

备考提示:牢记"两步法 + 归约方向 R≤ₚL(从难到待测)"。能完整讲一遍 3-SAT 或 顶点覆盖的归约思路,是 Hopcroft 班面试的高分信号。
第十章. 计算机科学(霍普克罗夫特班)— 面试真题 20 题

面试真题 20 题(第11–20题)

11 机器学习中"过拟合"是什么?正则化(Regularization)如何缓解它?谈谈偏差-方差权衡。学术思维
【参考回答】

过拟合(Overfitting):模型在训练集上误差很小,但在未见过的测试集上误差大——它"记住了噪声"而非学到规律。本质是用过高复杂度去拟合有限数据。

正则化:在损失函数中加入惩罚项,限制模型复杂度。

  • L2 正则(Ridge):加 λ·‖w‖²,使权重整体变小、平滑,抑制某些特征被过度放大。
  • L1 正则(Lasso):加 λ·‖w‖₁,倾向产生稀疏权重(特征选择)。
  • Dropout / 早停(Early Stopping)/ 数据增强:神经网络中常用,防止记住训练样本。

正则化项前的超参 λ 控制"拟合数据"与"控制复杂度"的权衡。

偏差-方差权衡(Bias–Variance Tradeoff):总期望误差 ≈ 偏差² + 方差 + 不可约噪声。

  • 高偏差 = 模型太简单/欠拟合(如用直线拟合曲线),训练测试都差。
  • 高方差 = 模型太复杂/过拟合,对训练数据扰动敏感。

增加模型复杂度降偏差但升方差;正则化通过牺牲一点偏差、显著降低方差,使测试误差整体下降。这是 ML 理论的核心直觉,也体现了 Hopcroft 班倡导的"理论指导实践"。

备考提示:能写出"误差 = 偏差² + 方差 + 噪声"这一分解式,并说明 λ 的调节作用,会显得你有 ML 理论功底而非只会调包。
12 Explain the difference between supervised and unsupervised learning, with concrete examples of each.英文
【中文翻译】

解释监督学习与无监督学习的区别,并各举具体例子。

【Reference Answer】

The key difference is whether the training data carries labels.

Supervised learning learns a mapping from inputs x to outputs y using labeled examples {(xᵢ, yᵢ)}. It is split into:

  • Classification (discrete y): e.g., email spam detection (spam / not spam), image recognition (cat vs dog), medical diagnosis.
  • Regression (continuous y): e.g., predicting house prices from size and location, or temperature forecasting.

Unsupervised learning finds structure in unlabeled data — no target output is given. Common tasks:

  • Clustering: e.g., customer segmentation (K-means grouping buyers by behavior), document grouping.
  • Dimensionality reduction: PCA or t-SNE to compress high-dimensional data for visualization or denoising.
  • Density estimation / anomaly detection: flagging unusual transactions in fraud detection.

Why it matters: supervised learning needs costly labels but targets a known goal; unsupervised learning explores hidden patterns when labels are absent. There is also a middle ground — semi-supervised and self-supervised learning (e.g., large language models pretraining on unlabeled text), which are central to modern AI. For a theoretical CS student, the fascinating questions are the sample complexity and generalization bounds behind both paradigms.

备考提示:英文要举出 classification/regression(监督)与 clustering/dimensionality reduction(无监督)的具体例子。能补一句 self-supervised / sample complexity 会贴合 Hopcroft 班的研究取向。
13 谈谈你对分布式系统"CAP 定理"的理解。一致性和可用性为什么难以兼得?专业基础
【参考回答】

CAP 定理(Brewer 提出,Gilbert–Lynch 形式化):一个分布式数据系统在网络分区(P, Partition tolerance)不可避免的前提下,无法同时保证一致性(C, Consistency)与可用性(A, Availability)——最多只能保其二。

  • 一致性(这里指线性一致/强一致):所有节点同一时刻看到相同的数据(如每次读都拿到最新写)。
  • 可用性:每个非故障节点对请求都返回(非错误)响应。
  • 分区容忍:网络割裂时系统仍能继续工作(实际分布式系统必须接受,因为网络故障必然发生)。

为什么 C 与 A 难兼得:当发生网络分区(一部分节点与另一部分失联),若要保证一致性,分区一侧必须拒绝写入(否则两侧数据分歧),于是牺牲可用性;若要保证可用性,两侧各自继续服务读写,数据必然分歧,牺牲一致性。所以现实是 CP 系统(如 ZooKeeper、etcd,强一致但分区时拒绝写)与 AP 系统(如 Cassandra、DynamoDB,高可用但仅最终一致)的取舍。

进阶:现代系统多用最终一致性(Eventual Consistency) + 共识算法(Paxos / Raft)在可用基础上逐步收敛;PACELC 定理进一步补完"无分区时延迟 vs 一致性"的权衡。CAP 不是"三选二开关",而是分区下的权衡框架。

备考提示:强调"P 不可避免,所以实质是 C vs A 的取舍",并区分强一致与最终一致。能提 Raft/Paxos 或 PACELC 显深度。
14 自动机与形式语言:正则语言与上下文无关语言(CFL)有什么区别?各由什么模型识别?专业基础
【参考回答】

这是乔姆斯基谱系(Chomsky Hierarchy)中相邻的两层,能力递增:

正则语言(Regular):由正则文法生成,能被有限自动机(DFA/NFA)识别,也等价于正则表达式描述的语言。能力有限:只能识别"无嵌套/无计数"的模式。

  • 例子:(a|b)*abb、所有含偶数个 0 的串。
  • 不能识别:aⁿbⁿ(需要"记住"a 的个数与 b 匹配)、配对括号——这些需要记忆,而有限状态机没有栈。

上下文无关语言(CFL):由上下文无关文法(CFG)生成,能被下推自动机(PDA,带一个栈)识别。栈提供了"嵌套/配对"的记忆能力。

  • 例子:{aⁿbⁿ | n≥0}、配对括号串、大部分编程语言的语法(表达式嵌套)。
  • 对应编译器前端:词法分析用正则(DFA),语法分析用 CFG(PDA/LL/LR 分析器)。

核心区别:正则语言无栈(有限记忆),CFL 有栈(可处理一层嵌套)。但 CFL 也不能识别 aⁿbⁿcⁿ(需要两个计数/两个栈),那属于上下文有关语言——进一步体现自动机"存储结构决定表达能力"。

备考提示:用"栈的有无"概括正则 vs CFL 最清晰,并联系编译器(词法=DFA、语法=PDA)。能提 aⁿbⁿ 可识别而 aⁿbⁿcⁿ 不可识别,体现对表达能力的理解。
15 Describe the role of randomness in algorithms. Distinguish Monte Carlo from Las Vegas algorithms, with one example each.英文
【中文翻译】

描述随机性在算法中的作用。区分 Monte Carlo 与 Las Vegas 算法,并各举一例。

【Reference Answer】

Randomness lets an algorithm trade a small probability of error (or randomness in runtime) for dramatically simpler code or better worst-case behavior. It is a powerful tool when deterministic optimum is too costly.

Monte Carlo algorithm: runs in bounded time and always terminates, but its answer may be wrong with probability ≤ ε. We reduce error by independent repetition. Example: Miller–Rabin primality test — it may falsely call a composite "probably prime" with probability < 1/4 per round; repeating k rounds drives error below 4⁻ᵏ. Cryptography relies on it.

Las Vegas algorithm: always returns a correct answer, but its running time is random (expected polynomial). Example: randomized Quicksort — the output is always a correct sorted array, yet the pivot choices make the runtime a random variable with expected O(n log n). Another: Karger's minimum cut, which repeats random edge contractions until success probability is boosted.

Why randomness matters: it removes adversarial worst cases (no input can force failure), yields simple algorithms for hard problems, and underlies modern fields from cryptography to stochastic gradient descent in machine learning. Theoretically, the class BPP captures problems solvable by efficient Monte Carlo algorithms — and a major open question is whether BPP = P.

备考提示:英文要明确"Monte Carlo = 时间确定、结果可能错;Las Vegas = 结果必对、时间随机"。能提 BPP 类与 BPP=?P 这一开放问题,会非常贴合 Hopcroft 班的理论气质。
16 线性规划(LP)与"对偶"是什么关系?单纯形法与内点法有何不同?学术思维
【参考回答】

线性规划:在线性约束下优化线性目标函数,标准形式 maximize cᵀx s.t. Ax ≤ b, x ≥ 0。它是组合优化的"母问题",很多 NP 难问题(如最大流、最小费用流、匹配)的松弛都落在 LP 框架。

对偶(Duality):每个 LP(原问题 P)都有对应的对偶问题(D):原问题的约束 ↔ 对偶的变量,原问题的变量 ↔ 对偶的约束,目标方向相反(max↔min)。关键结论:在最优解处,强对偶性成立——原问题与对偶的目标值相等(弱对偶则保证原≤对偶)。对偶不仅是数学美感,更是证明近似比与下界的利器(如用对偶证 LP 松弛的界、用对偶变量解释"影子价格")。

单纯形法(Simplex)vs 内点法(Interior Point):

  • 单纯形法:沿多面体顶点在可行域边界上走,每步移到更优邻点。实践中极快,但最坏情况是指数级(有构造的坏例子)。
  • 内点法(如 Karmarkar):从可行域内部穿过多面体向最优解推进,多项式时间保证(约 O(n³·L))。适合超大规模 LP,现代商用求解器常混合使用。

LP 与对偶是"用连续优化逼近离散组合问题"的桥梁,也是算法博弈论(如用对偶做市场设计)的基础工具。

备考提示:讲清"强对偶 = 原/对偶目标值相等",并说明对偶用于证明下界/近似比。Simplex 最坏指数、内点法多项式,这一对比是面试加分点。
17 博弈论中的"纳什均衡"是什么?它和计算机科学(如机制设计、算法博弈论)有何联系?学术思维
【参考回答】

纳什均衡(Nash Equilibrium):在一个多人策略博弈中,若每个参与者的策略都是在"他人策略固定"时的最优反应,则这组策略构成纳什均衡——任何一方单方面改变策略都不会获益。它不一定是全局最优(经典"囚徒困境"的均衡是双输),但它是预测"理性个体稳定行为"的核心概念。纳什证明了有限博弈至少存在一个混合策略纳什均衡。

与计算机科学的联系(算法博弈论 / Algorithmic Game Theory):

  • 机制设计(逆向博弈论):不是分析给定博弈,而是设计规则使个体理性行为导出社会期望结果。如拍卖设计(VCG 机制)、网络资源分配、区块链激励。Hopcroft 班也强调这种"理论+交叉"。
  • 路由与网络:用户自私选最短路径会导致 Braess 悖论(加一条路反而更堵)——需用博弈论理解并设计算法引导。
  • 计算复杂性:求纳什均衡本身的计算难度是前沿问题——两人博弈的均衡计算被证明位于 PPAD 类,是否为 P 仍开放。这把博弈论与复杂性理论直接相连。
  • 机器学习:生成对抗网络(GAN)可视为生成器与判别器的极小极大博弈,均衡对应最优生成。

简言之,纳什均衡把"多个自利智能体的交互"形式化,而 AGT 关心"如何用算法高效计算、设计、利用这种均衡"——这是理论 CS 极活跃的交叉方向。

备考提示:能点出"机制设计是逆向博弈论"与"均衡计算属 PPAD 类"会非常亮眼,直接呼应 Hopcroft 班的理论+交叉定位。
18 Who is John Hopcroft, and what is his connection to Shanghai Jiao Tong University? Why is his teaching philosophy relevant to this class?英文
【中文翻译】

John Hopcroft 是谁?他与上海交通大学有何渊源?他的教学理念为何与本班相关?

【Reference Answer】

John Hopcroft is an American computer scientist who, together with Robert Tarjan, received the 1986 ACM Turing Award for fundamental achievements in the design and analysis of algorithms and data structures — including the Hopcroft–Karp algorithm for bipartite matching and the Hopcroft minimization algorithm for finite automata.

His connection to SJTU: Since around 2011, Professor Hopcroft has devoted significant effort to improving computer science education in China. At Shanghai Jiao Tong University he helped establish the John Hopcroft Center for Computer Science (IJCC) and was a driving force behind the John Hopcroft Class (Hopcroft Ban) within the Zhiyuan Honor Program. He regularly teaches and mentors here, bringing global faculty, English-taught courses, and a research-first culture.

Why his philosophy matters to this class: Hopcroft advocates that top undergraduates should build a deep theoretical foundation before specializing, and should learn in an international, English-medium environment that mirrors top global programs. He emphasizes fundamentals over tricks, and curiosity over credentials — exactly the spirit of this class, which blends theoretical computer science with AI and cultivates researchers ready for the next decade.

For me, studying in a class he inspired is not about a label; it is about learning to think like a scientist who asks "what is computable, and how well" — the questions that will still matter in twenty years.

备考提示:英文必须准确说出"1986 Turing Award with Tarjan"与"Hopcroft–Karp / 自动机最小化"等贡献,并点出 IJCC 与全英文/理论导向的培养理念。这是 Hopcroft 班面试的"必考题"。
19 如果面试官告诉你:"你提出的这个科研想法根本 work 不了,你有没有想过为什么?"你会如何回应?(压力测试)压力测试
【核心逻辑】

Hopcroft 班重科研潜质,压力题考察的是:面对权威否定时的学术诚实、批判性自省与抗压,而非"捍卫面子"。

【参考回答】

(不急于反驳,先倾听)

首先,我非常感谢老师直接指出这一点——比客套更有价值。我确实认真想过它的可行性,但显然有我忽略的漏洞。能不能请您点一下,您觉得它不 work 的关键在哪一步?是假设不成立、还是技术上不可行?

如果是假设问题:我承认,最初我为了简化把 XX 条件理想化了,可能在实际数据分布下不成立。这恰恰是我接下来要补充实验验证的部分。

如果是技术瓶颈:比如复杂度或样本复杂度过高,那我会重新评估——也许这个想法不该追求精确解,而转向一个随机/近似的版本(这正是我们班强调的权衡)。

我想说:提出这个想法时我就预期它大概率会改。科研里"想法被推翻"是常态,重要的是它能引出更准确的问题。如果今天能和老师确认它为什么不行,对我反而是一次加速——我宁可早一点知道错误,也不愿在错误方向上耗几个月。

退一步,即使这个具体想法被否定,我对"用理论工具解决 XX 问题"的兴趣没有变,只是路径需要调整。我很乐意课后按老师的建议重新调研。

备考提示:展现"倾听→自省→分情形回应→表达韧性",切忌当场争辩或情绪化。Hopcroft 班要的是"可被培养的研究者",诚实与可塑性远胜"嘴硬"。
20 同样是计算机方向,你为什么选择全英文教学的 Hopcroft 班,而不是更"竞赛实战"的 ACM 班,或其他计算机班?综合素质
【参考回答】

我坦诚地说,ACM 班非常优秀,竞赛实战能力是它的最大优势,我也敬佩那种"白板写最优算法"的硬功夫。但我最终选 Hopcroft 班,是基于对自己志趣的清醒判断。

第一,我的兴趣在"理论根基 + 科研",而非竞赛夺牌。让我兴奋的是"什么是可计算的""如何用近似/随机在难问题里求可行解"这类问题,而非限时刷题。Hopcroft 班的理论导向与全英文科研环境,更契合我的长期目标——未来走学术/研究路线。

第二,全英文环境是我主动要的。计算机科学的顶尖文献、顶会(STOC/FOCS/NeurIPS)都是英文,Hopcroft 班的英文授课与英文讨论,能让我提前适应国际学术语境,也方便未来海外深造或参与 IJCC 的国际合作。

第三,交叉视野。Hopcroft 班强调理论计算机与 AI 的交叉,这正对应我想做的方向(如机器学习理论/算法博弈)。它不排斥应用,而是用理论去支撑应用——这正是我想要的"底座 + 前沿"。

当然,我也会保持算法训练(ACM 班的精神值得学),但作为个人能力而非班级归属。选择 Hopcroft 班,是因为它最像"我想成为的那种研究者的孵化器"。

备考提示:同样不要贬低 ACM 班。最佳策略是"认可其价值 + 明确自己志趣在理论/科研/国际化",展现忠诚与自知之明。Hopcroft 班尤其看重学术动机的纯粹度。
第十章. 计算机科学(霍普克罗夫特班)— 背景知识与备考

专业背景知识梳理

Hopcroft 班面试更偏"研究者视角"。下面按板块梳理高频考点,建议作为冲刺复习清单,并与英文术语对应记忆。

计算理论

图灵机、Church–Turing 论题、可判定性、停机问题、P/NP/PSPACE、归约与 NP 完全(Cook–Levin、SAT/3-SAT)。

算法(理论向)

随机算法(Monte Carlo / Las Vegas / BPP)、近似算法(近似比、Vertex Cover 2-近似、Christofides 1.5-近似)、组合优化、对偶。

图论与组合优化

图着色(NP 完全)、匹配(Hopcroft–Karp)、TSP、网络流、线性规划与对偶、最小割。

ML / AI 基础

监督/无监督、过拟合与正则化(L1/L2)、偏差-方差权衡、梯度方法、样本复杂度与泛化。

系统与网络

CAP 定理、一致性(强一致/最终一致)、共识(Paxos/Raft)、分布式基础。

形式语言与博弈

正则/上下文无关语言、自动机(DFA/NFA/PDA)、纳什均衡、机制设计、PPAD 类。

备考策略与资源

现在 — 报名前
核心任务:理论体系搭建 + 学术英语
· 精读 Sipser《计算理论导引》前几章(自动机/P/NP)
· 复习图论与组合优化(着色/TSP/匹配/网络流)
· 过一遍 ML 基础(过拟合/正则化/偏差-方差)
· 每天朗读英文术语与概念 15 分钟,准备英文自我介绍
材料筛选期(面试前 1–2 周)
核心任务:研究型表达 + 全英文模拟
· 把本资料 20 题每道能用"研究者口吻"讲清思路与边界
· 准备 1–2 个"研究想法"(哪怕初步),练习被追问/被否定
· 找外教/海归同学做全英文模拟面试(含 P vs NP、近似算法等)
· 熟记 Hopcroft 教授贡献与 IJCC 背景(英文版 Q18)
面试前 1–3 天
核心任务:全真英文模拟 + 心态
· 至少一次全程英文模拟(含压力追问)
· 准备"被问到不会"的应对:承认 + 从已知推理 + 提相关开放问题
· 早睡,规划路线,提前 30 分钟到场,着装整洁

推荐学习资源

类别资源名称用途
理论《计算理论导引》(Sipser, Introduction to the Theory of Computation)自动机、可计算性、P vs NP 的权威教材,Hopcroft 班必读
算法《算法导论》(CLRS)随机/近似/图论/网络流的理论底座
近似算法《The Design of Approximation Algorithms》(Williamson & Shmoys)近似比与规约的进阶教材
随机算法《Randomized Algorithms》(Motwani & Raghavan)Monte Carlo / Las Vegas 的系统讲解
ML 理论《The Elements of Statistical Learning》/ 吴恩达 ML(Coursera)过拟合、正则化、偏差-方差的直觉与公式
公开课MIT 6.046(Design and Analysis of Algorithms)英文算法理论课,练学术英语
系统《Designing Data-Intensive Applications》(Kleppmann)CAP、一致性、分布式系统的现代视角
官网John Hopcroft Center (IJCC) / 致远学院官网获取 Hopcroft 班最新培养方案与选拔通知

面试当天 Do's & Don'ts

  • Do:用英文时先准确说关键词(reduction / approximation ratio / tractable / consistency),再展开;被追问理论边界时要敢于说"这是一个开放问题"。
  • Do:展现 research curiosity——多问"为什么""边界在哪",像研究者而非考生。
  • Don't:把理论说成"无用数学";Hopcroft 班最忌"只会写代码、不关心为什么"。
  • Don't:英文卡壳就慌——可以用简单词解释复杂概念,清晰胜过华丽。
返回二次选拔

本站为独立信息整理平台,并非学校招生官网,未获学校招生代理授权。招生要求与时间以学校官方最新通知为准。

RELATED

相关文章

同一栏目下的其他内容

山东大学 · 泰山学堂二次选拔

山东大学 · 泰山学堂

泰山 计算机科学取向 · 新生入学二次选拔 · 面试备考指南 面试形式与核心考察点 · 30 道专业面试真题(含参考回答) 专业背景知识 · 自我介绍模板 · 备考技巧 · 附录 基础学科拔尖学生培养试验计划(珠峰计划)

阅读全文 →