杭州电子科技大学 · 03_智能计算与数据科学

相关学校:杭州电子科技大学

杭州电子科技大学 · 03_智能计算与数据科学
方向 03 / DIRECTION 03

智能计算与数据科学(计算机科学与技术)

Intelligent Computing and Data Science (Computer Science and Technology)

A. 方向画像与考察重点

智能计算与数据科学是杭州电子科技大学卓越学院"智能计算与数据科学"实验班(依托计算机科学与技术国家级一流本科专业建设点)二次选拔的核心方向之一,也是连接经典计算机科学与现代数据智能的桥梁。该方向重点考察学生对"计算 + 数据"双重素养的理解深度:既要有扎实的算法、数据结构、编程与系统基础,又要具备用数据建模、挖掘价值的思维。面试官通常通过概念辨析、基础算法设计与复杂度分析,判断考生是否具备可塑性强的工程数理底子。

从学校战略看,卓越学院以"一制三化"(导师制、小班化、个性化、国际化)为培养特色,计算机科学与技术专业是学校的优势学科,计算机科学学科已进入 ESI 全球前 1%。因此面试中常将基础问题与工程落地、大数据与 AI 趋势结合,例如"哈希表为何能 O(1) 查找""MapReduce 如何做分布式排序"。导师库涵盖算法设计、数据挖掘、大数据系统、机器学习等方向,跨方向关联性极强。

本方向常见的考察角度包括:算法复杂度与排序、数组/链表/树/图等数据结构、哈希与索引、递归与动态规划、数据库与 SQL、大数据技术栈(Hadoop/Spark)、机器学习与数据挖掘基础、概率统计与线性代数,以及项目经历中的工程实践。建议考生在背诵核心结论的同时,能用一两个例子(如排行榜、推荐系统、日志分析)说明概念。

关键词 智能计算与数据科学 · 面试常考维度
  • 算法与复杂度:大 O 分析、排序、查找、递归与动态规划
  • 数据结构:数组、链表、栈队列、树与二叉树、图、哈希表
  • 编程基础:语言特性、面向对象、进程与线程
  • 机器学习基础:监督/无监督、过拟合、回归与分类
  • 数据挖掘:关联规则、聚类、特征与评估
  • 数据库:SQL、范式、索引、事务
  • 大数据技术:Hadoop/MapReduce、Spark、分布式思想
  • 数学支撑:概率统计、线性代数、离散数学

B. 核心概念速查

速查表 8 条关键概念(一句话解释)
  • 时间复杂度(Time Complexity):用大 O 记号刻画算法运行时间随输入规模 n 的增长阶,如 O(1)、O(log n)、O(n)、O(n log n)、O(n²),是评价算法效率的核心指标。
  • 哈希表(Hash Table):通过哈希函数将键映射到桶地址,理想情况下查找/插入/删除均摊 O(1),冲突用链地址法或开放寻址处理。
  • 二叉树与 BST:每个节点最多两个子节点;二叉搜索树(BST)满足左子树键值小于根、右子树大于根,中序遍历有序,平均查找 O(log n)。
  • 动态规划(DP):将问题拆为重叠子问题,用表存储子问题解以避免重复计算,核心为"状态定义 + 转移方程 + 边界",如背包、最长公共子序列。
  • SQL 与索引:用 SELECT/JOIN/GROUP BY 操作关系表;B+ 树索引加速查找,以空间换时间,但会降低写入速度。
  • MapReduce:分布式计算范式,分 Map(映射)与 Reduce(归约)两阶段,通过数据分片与洗牌在多机并行处理海量数据。
  • 过拟合(Overfitting):模型死记训练样本、泛化差;可用更多数据、正则化、交叉验证等手段缓解。
  • 关联规则(Apriori):从交易数据中挖掘"买 A 也买 B"的频繁项集与置信度,是数据挖掘的经典任务。

C. 面试真题(Q1–Q20)

Q1请解释时间复杂度与空间复杂度的含义,并举例说明 O(n) 与 O(n²) 的区别。专业重点
EN: Explain time and space complexity, and contrast O(n) with O(n²) by example.
参考回答(中文)
时间复杂度描述算法运行时间随输入规模 n 的增长趋势,空间复杂度描述额外内存随 n 的增长趋势,二者都用大 O 记号表示渐进上界。O(n) 表示耗时与 n 成正比,例如一趟遍历数组求和,n 翻倍耗时约翻倍。O(n²) 表示耗时为 n 的平方量级,例如双重循环的比较排序(冒泡、插入),n 从 1000 增至 2000,耗时约增至 4 倍。实际工程中当 n 很大时,O(n²) 会远慢于 O(n log n) 的算法(如快排、归并),因此复杂度分析是选型与优化的重要依据。空间上同样要权衡,例如用哈希表以 O(n) 空间换 O(1) 查找。
Reference Answer (EN)
Time complexity = growth of runtime with input size n; space complexity = growth of extra memory. O(n) scales linearly (e.g. one array pass); O(n²) scales quadratically (e.g. bubble sort double loop). At large n, O(n²) is far slower than O(n log n). Complexity guides algorithm choice and optimization.
备考提示:必背题。答题要讲清"渐进、上界、随 n 增长",并能用具体算法(遍历 vs 双重循环)举例,体现工程直觉。
Q2数组与链表在内存结构与操作效率上有何区别?各自适合什么场景?专业重点
EN: Differences between array and linked list in memory layout and operation efficiency?
参考回答(中文)
数组在内存中连续存放,支持随机访问(按下标 O(1) 取值),但插入/删除中间元素需移动后续元素,为 O(n);且容量固定或需整体扩容。链表由节点通过指针串联,内存不连续,随机访问需从头遍历 O(n),但在已知节点处插入/删除只需改指针 O(1),且动态扩容方便。因此:随机访问频繁、读多写少时用数组(如排行榜查询);频繁增删、大小不定时用链表(如实现队列、LRU 缓存的节点管理)。工程上常用动态数组(如 C++ vector、Java ArrayList)兼顾二者优点。这道题常引出"如何用链表/数组实现栈与队列"的追问。
Reference Answer (EN)
Array: contiguous memory, O(1) random access, O(n) insert/delete in middle, fixed/resizable capacity. Linked list: nodes via pointers, non-contiguous, O(n) access, O(1) insert/delete at known node, dynamic size. Use arrays for read-heavy random access; lists for frequent insert/delete. Dynamic arrays blend both.
备考提示:"连续 vs 指针、随机访问 O(1) vs 增删 O(1)"是核心对比点;可主动延伸到栈/队列的数组实现。
Q3快速排序的基本思想是什么?其平均与最坏时间复杂度分别是多少?专业重点
EN: What is quicksort's idea? Its average and worst-case time complexity?
参考回答(中文)
快速排序采用分治思想:选一个基准(pivot),将数组划分成"小于基准"和"大于基准"的两部分,再对两部分递归排序。平均情况下每次划分较均衡,递归深度约 log n、每层 O(n),故平均复杂度 O(n log n);若每次划分极不平衡(如已有序且总选两端作 pivot),递归退化为 n 层,最坏复杂度 O(n²)。工程上通过随机选 pivot 或三数取中缓解最坏情况,且快排原地排序、空间 O(log n)(递归栈),缓存友好,因此常作为标准库默认排序。与归并排序(稳定、O(n log n)、需额外空间)相比,快排通常更快但不稳定。
Reference Answer (EN)
Quicksort: divide-and-conquer, pick a pivot, partition into pivot, recurse. Average O(n log n); worst O(n²) on skewed partitions (e.g. sorted input, bad pivot). Randomized/ median-of-three pivot avoids worst case. In-place, O(log n) stack, cache-friendly, usually faster but unstable vs stable merge sort.
备考提示:"分治 + pivot + 划分"是骨架;务必能解释最坏 O(n²) 的成因,并对比归并排序的稳定性与空间开销。
Q4什么是二叉搜索树(BST)?它的查找、插入、删除复杂度为何是 O(log n)?
EN: What is a BST? Why are search/insert/delete O(log n)?
参考回答(中文)
二叉搜索树规定:左子树所有键值小于根,右子树所有键值大于根,且左右子树也分别是 BST。查找时从根出发,比根小走左、比根大走右,每一步排除一半候选;插入沿查找路径落到空位;删除分叶子、单孩子、双孩子(用中序前驱/后继替换)三种情况。在"树近似平衡"时,高度约 log n,故三类操作均为 O(log n)。但若插入有序数据导致退化成链表,高度变 n,复杂度退化为 O(n)。因此工程上用自平衡树(AVL、红黑树)保持高度平衡,数据库索引常用的 B+ 树也是平衡思想的扩展。
Reference Answer (EN)
BST: left subtree < root < right subtree. Search/insert/delete walk one path, halving candidates each step → O(log n) when balanced. On sorted insertion the tree degenerates to a linked list → O(n). Self-balancing trees (AVL, red-black) and B+ trees fix this.
备考提示:答完 BST 顺带提"退化成链表"与自平衡树,能自然过渡到数据库索引(见 Q13),体现知识连贯。
Q5哈希表是如何实现 O(1) 查找的?什么是哈希冲突,有哪些解决方法?专业重点
EN: How does a hash table achieve O(1) lookup? What is collision and how to resolve it?
参考回答(中文)
哈希表通过哈希函数 h(key) 把键映射到桶数组的下标,理想情况下直接计算地址完成存取,平均 O(1)。但不同键可能映射到同一桶,称为哈希冲突。常见解决方法:链地址法(每个桶挂一条链表/红黑树存放同桶元素,如 Java HashMap)、开放寻址法(冲突后按探测序列找下一个空位,如线性探测、二次探测),以及再哈希、扩容重散列(负载因子过高时扩容并重新映射以降低冲突率)。好的哈希函数应分布均匀、计算快。哈希表是缓存、字典、数据库索引、集合判重等场景的基石。
Reference Answer (EN)
Hash table maps key→bucket via hash function h(key) for direct O(1) access. Collisions (two keys same bucket) are resolved by chaining (linked list/red-black tree per bucket) or open addressing (linear/quadratic probing), plus rehashing on high load factor. Uniform, fast hash functions are key. Foundation of caches, dicts, indexes.
备考提示:"O(1) 是均摊、依赖低冲突"这点要诚实说明;能说出链地址法与开放寻址两类解法即过关。
Q6深度优先搜索(DFS)与广度优先搜索(BFS)有何区别?分别用什么数据结构实现?专业重点
EN: Differences between DFS and BFS, and what data structures implement them?
参考回答(中文)
DFS 沿一条分支走到尽头再回溯,用栈(递归调用栈或显式栈)实现,适合找路径、连通分量、拓扑排序、迷宫类问题;BFS 按层逐层扩展,用队列实现,适合求无权图的最短路径、社交网络一度二度关系。空间上,最坏情况 DFS 栈深为图深,BFS 队列宽为图宽。复杂度通常都是 O(V+E)(V 顶点、E 边)。二者是图论与搜索算法的基石,许多问题(如连通性、环检测)二者皆可,但"最短路径"优先 BFS,"全路径/回溯"优先 DFS。在大数据场景下还可扩展为分布式图计算框架(如 GraphX)。
Reference Answer (EN)
DFS goes deep then backtracks, using a stack (recursion or explicit); good for paths, connectivity, topological sort. BFS expands level by level using a queue; good for unweighted shortest path, social degrees. Both O(V+E). BFS for shortest path, DFS for backtracking/all-paths.
备考提示:"DFS=栈、BFS=队列"是必记对应;能举最短路径用 BFS、回溯用 DFS 的具体例子最稳。
Q7递归与迭代有什么区别?递归可能带来什么问题,如何优化?
EN: Recursive vs iterative? Problems of recursion and how to optimize?
参考回答(中文)
递归是函数调用自身解决问题,代码直观、契合分治/树形结构;迭代用循环变量重复执行。二者常可相互改写。递归的代价:每层的函数调用要在调用栈压入栈帧,深度过大(如未优化的斐波那契、深层树)会栈溢出;且重复子问题会重复计算。优化手段有:尾递归优化(若语言支持,复用栈帧)、用显式栈改写成迭代、记忆化/动态规划(缓存子问题解,如带备忘录的斐波那契从 O(2ⁿ) 降到 O(n))。面试中常要求把递归改写成 DP 或迭代,以体现对空间与效率的考量。
Reference Answer (EN)
Recursion calls itself (intuitive for divide-and-conquer/trees); iteration uses loops. Recursion costs stack frames → stack overflow at depth, and recomputation of subproblems. Optimize via tail-call optimization, explicit-stack iteration, or memoization/DP (cache subproblems, e.g. Fibonacci O(2ⁿ)→O(n)).
备考提示:"递归改 DP/迭代"是高频实操题;务必能讲清记忆化如何降复杂度,并点出栈溢出风险。
Q8什么是动态规划?它与分治、贪心有何区别?专业重点
EN: What is dynamic programming? How does it differ from divide-and-conquer and greedy?
参考回答(中文)
动态规划用于求解具"最优子结构"且"子问题重叠"的问题:把大问题拆成子问题,用表(dp 数组)存子问题解避免重复计算,再通过状态转移方程由小推大。与分治的区别:分治子问题相互独立(如归并排序),DP 子问题重叠需共享;与贪心的区别:贪心每步取局部最优、不回溯、不保证全局最优(如贪心不一定能解 0-1 背包),DP 则穷举子问题保证全局最优但代价更高。典型题:背包、最长公共子序列(LCS)、最长递增子序列(LIS)、最短路径(Floyd)。实操步骤:定义状态 → 写转移方程 → 定边界 → 确定遍历顺序。
Reference Answer (EN)
DP solves problems with optimal substructure + overlapping subproblems, storing subproblem results in a table and building up via transition equations. vs divide-and-conquer: subproblems overlap (shared), not independent. vs greedy: greedy takes local optimum without backtracking and may fail globally; DP guarantees optimum. Examples: knapsack, LCS, LIS.
备考提示:"最优子结构 + 重叠子问题"是 DP 的两大前提;答清与贪心的本质区别(是否保证全局最优)即可。
Q9请说明监督学习与无监督学习的核心区别,并各举一个数据科学中的例子。
EN: Core difference between supervised and unsupervised learning, with data-science examples.
参考回答(中文)
区别在于"训练数据是否带标签"。监督学习使用带标注的 (x, y) 学习输入到输出的映射,如用已标注"正常/异常"的网络日志训练入侵检测分类器。无监督学习面对无标注数据,目标是发现内在结构,如用 K-means 对客户消费行为聚类分群、做用户画像。还有半监督、强化学习等中间形态。在数据科学项目中,常先无监督探索数据分布(聚类、降维),再用监督模型做预测。简单说:监督"有标准答案",无监督"自己找规律"。
Reference Answer (EN)
Supervised learns from labeled (x,y) data, e.g. training an intrusion detector on labeled logs. Unsupervised finds structure in unlabeled data, e.g. K-means clustering customers for user profiling. Often explore with unsupervised (clustering/dim-reduction) before supervised prediction. Supervised = labeled answers; unsupervised = discover patterns.
备考提示:数据科学方向必考;用"日志分类 vs 客户聚类"这类贴近专业的例子,比泛泛而谈更出彩。
Q10什么是过拟合?在数据分析项目中你如何发现并缓解它?专业重点
EN: What is overfitting? How do you detect and mitigate it in a data project?
参考回答(中文)
过拟合指模型在训练集上表现好、但在测试/新数据上泛化差,本质学到了噪声与样本巧合,常因模型过复杂或数据不足。发现手段:划分训练/验证/测试集,观察训练误差低而验证误差高(U 形分化曲线);或用交叉验证看稳定性。缓解:增加数据与数据增强、简化模型、正则化(L1/L2)、早停、Dropout、集成(随机森林/Bagging 降方差)。在数据科学流程中,还应做特征筛选、避免特征泄漏(用训练集统计量拟合再作用于测试集)。诊断曲线 + 对症处理是标准套路。
Reference Answer (EN)
Overfitting: low train error, poor generalization, from too-complex model or too little data. Detect via train/validation split and cross-validation (train error low, val error high). Mitigate: more data, simpler model, L1/L2 regularization, early stopping, dropout, ensembles. Also avoid leakage (fit stats on train only).
备考提示:"训练低、验证高 = 过拟合"的判断逻辑必说;主动提交叉验证与特征泄漏,体现规范数据科学流程。
Q11数据挖掘中的关联规则(Apriori)是怎么工作的?支持度与置信度是什么?
EN: How does the Apriori association-rule algorithm work? What are support and confidence?
参考回答(中文)
关联规则从交易数据(如购物篮)中挖掘"X→Y"的隐含关系。支持度(Support)表示 X 与 Y 同时出现的概率,衡量规则普遍性;置信度(Confidence)= 支持度(X∪Y)/支持度(X),表示买 X 的人中买 Y 的比例,衡量可靠性。Apriori 核心是"先验性质":频繁项集的子集必频繁,故逐层生成候选——先找频繁 1-项集,再两两组合得候选 2-项集并剪枝非频繁子集,迭代至无更长频繁集。其缺点是需多次扫描数据库、候选膨胀;后续 FP-Growth 用频繁模式树避免候选生成。电商"啤酒与尿布"即经典案例。
Reference Answer (EN)
Association rules mine X→Y from transactions. Support = P(X∪Y) (popularity); Confidence = Support(X∪Y)/Support(X) (reliability). Apriori uses the apriori property (subsets of frequent itemsets are frequent) to generate candidates level by level, pruning non-frequent subsets. Cost: multiple scans, candidate explosion; FP-Growth improves it.
备考提示:"支持度看普遍、置信度看可靠"一句话区分;能说清 Apriori 先验性质与逐层剪枝即可。
Q12SQL 中 INNER JOIN 与 LEFT JOIN 的区别是什么?请举一例。专业重点
EN: Difference between INNER JOIN and LEFT JOIN in SQL, with an example.
参考回答(中文)
INNER JOIN 只返回两表中"连接键匹配"的行,不匹配的将被丢弃;LEFT JOIN(左外连接)返回左表的全部行,右表无匹配时对应列填 NULL。例如:学生表 LEFT JOIN 选课表,可列出所有学生及其选课(没选课的也显示,选课列为空);若用 INNER JOIN 则只显示有选课记录的学生。实际分析中,LEFT JOIN 常用于"保留主表全集做缺失值分析",INNER JOIN 用于"只分析有交集的记录"。多表关联还可能涉及 RIGHT JOIN、FULL JOIN,以及用 GROUP BY + 聚合做统计。
Reference Answer (EN)
INNER JOIN returns only matching rows from both tables; LEFT JOIN returns all left-table rows, with NULLs for unmatched right-table columns. Example: Students LEFT JOIN Enrollments lists every student and their courses (including those with none); INNER JOIN would list only enrolled students. LEFT JOIN keeps the full master set; INNER JOIN keeps only intersections.
备考提示:用"左表全保留、右表补 NULL"记忆 LEFT JOIN;能举学生-选课例很贴切,体现数据库实战意识。
Q13数据库索引为什么能加速查询?B+ 树索引相比哈希索引有何优势?专业重点
EN: Why do indexes speed up queries? Advantages of B+ tree index over hash index?
参考回答(中文)
索引是额外维护的数据结构,以空间换时间,避免全表扫描。B+ 树索引把数据按 key 有序组织成多叉平衡树,查找、范围查询(如 WHERE age BETWEEN 20 AND 30)、排序、前缀匹配都很高效,树高很低(百万级数据仅 3–4 层),且叶子节点用链表串成有序序列,非常适合范围扫描。哈希索引虽点查 O(1),但不支持范围查询与排序,仅适合等值匹配。因此关系型数据库(如 MySQL InnoDB)默认用 B+ 树作聚簇/二级索引。注意索引会降低写入速度并占空间,需权衡建立。
Reference Answer (EN)
Index is an extra structure trading space for time, avoiding full scans. B+ tree keeps keys ordered in a shallow balanced multi-way tree: efficient point lookup, range queries, ORDER BY, prefix matches; leaf nodes linked for sequential scans. Hash index is O(1) point lookup but no range/sort. So RDBMS (e.g. InnoDB) default to B+ trees. Indexes slow writes and cost space—trade-off needed.
备考提示:"B+ 树支持范围、哈希只支持等值"是关键对比;能联系 Q4 的平衡树思想,知识更成体系。
Q14请解释 MapReduce 的工作原理,它如何实现分布式数据处理?专业重点
EN: Explain MapReduce's working principle and how it enables distributed processing.
参考回答(中文)
MapReduce 是 Hadoop 的分布式计算范式,分两阶段:Map 阶段把输入分片,多台机器并行执行 map 函数,输出 (key, value) 中间对;Shuffle 阶段按 key 分区排序、把同 key 的数据汇集到同一 reduce 节点;Reduce 阶段对同 key 的值做归约(如求和、计数)得到最终结果。其优势是将"计算向数据靠拢"(数据本地化),通过横向扩展机器处理 PB 级数据,并对失败任务自动重试,屏蔽分布式复杂性。缺点是落地磁盘、迭代任务慢。因此它适合批处理(日志分析、ETL),而 Spark 用内存计算弥补其速度短板。
Reference Answer (EN)
MapReduce (Hadoop): Map phase runs map() in parallel on split inputs emitting (key,value); Shuffle partitions/sorts by key to reducers; Reduce aggregates per key. It moves compute to data (locality), scales horizontally to PB data, retries failed tasks. Downside: disk-based, slow for iteration. Great for batch ETL; Spark adds in-memory speed.
备考提示:"Map → Shuffle → Reduce"三步走必背;点出"数据本地化"与"适合批处理",并与 Spark 对比显视野。
Q15Spark 与 Hadoop MapReduce 相比有什么优势?什么是 RDD?
EN: Advantages of Spark over Hadoop MapReduce? What is an RDD?
参考回答(中文)
Spark 相比 MapReduce 的核心优势是内存计算:MapReduce 每步落磁盘,迭代/交互式任务极慢;Spark 把中间结果缓存在内存,速度常快一个数量级,并提供丰富的 API(Spark SQL、DataFrame、MLlib、Streaming)。RDD(弹性分布式数据集)是 Spark 的核心抽象:不可变、分区、可并行计算的分布式集合,具备血缘(lineage)机制——某分区丢失时可凭依赖关系重算,无需持久化副本,从而实现容错。Spark 既兼容 HDFS 等存储,又弥补了 MapReduce 在迭代机器学习、流式处理上的不足,是当下大数据处理主流引擎。
Reference Answer (EN)
Spark's edge: in-memory computing vs MapReduce's disk-per-step, so iteration/interactive jobs are far faster, with rich APIs (SQL, MLlib, Streaming). RDD (Resilient Distributed Dataset) is Spark's core abstraction: immutable, partitioned, parallel collection with lineage-based fault tolerance (recompute lost partitions). Spark keeps HDFS compatibility while excelling at iterative ML and streaming.
备考提示:"内存 vs 磁盘"是第一差异;RDD 的"不可变 + 血缘容错"是加分点,能讲清即显功底。
Q16贝叶斯定理是什么?它在分类(如朴素贝叶斯)中有何应用?
EN: What is Bayes' theorem? Its application in classification (e.g. Naive Bayes)?
参考回答(中文)
贝叶斯定理:P(A|B) = P(B|A)·P(A) / P(B),即由先验 P(A) 与似然 P(B|A) 更新为后验 P(A|B)。朴素贝叶斯分类器假设特征在给定类别下条件独立,于是把后验写成 P(类别|特征) ∝ P(类别)·Π P(特征_i|类别),取使该值最大的类别作预测。它训练极快、只需统计频率,适合文本分类(垃圾邮件识别)、高维稀疏场景,但对"特征独立"假设敏感、实际未必成立。其思想体现了"用数据更新信念"的概率建模观,也是理解生成式模型与最大后验(MAP)推断的入口。
Reference Answer (EN)
Bayes: P(A|B)=P(B|A)P(A)/P(B), updating prior P(A) with likelihood to posterior. Naive Bayes assumes conditional independence of features given class, so P(class|features) ∝ P(class)·Π P(feature_i|class), pick max. Fast, good for text/spam, but sensitive to the independence assumption. It embodies "update belief by data" and introduces generative models/MAP.
备考提示:能写出贝叶斯公式并解释"先验→后验"即可;点出"朴素"指特征独立假设,常是追问点。
Q17线性代数中的矩阵乘法在数据与机器学习中有什么作用?
EN: What is the role of matrix multiplication in data science and ML?
参考回答(中文)
在数据处理中,常把样本按行、特征按列排成矩阵 X(n×d),一次矩阵运算即可批量完成对所有样本的转换,比逐条循环高效得多(且便于 BLAS 加速)。在机器学习里,全连接层输出 Z = X·W + b、神经网络的前向传播、PCA 降维(协方差矩阵特征分解)、图卷积等本质都是矩阵/张量运算。矩阵乘法还对应线性变换的复合。理解其维度匹配(如 (n×d)·(d×k) → n×k)与性质(一般不可交换、结合律成立),是阅读算法公式、做向量化编程的基础,也是大数据与深度学习依靠 GPU 并行加速的数学前提。
Reference Answer (EN)
Data is stacked as matrix X (n×d, samples×features); one matrix op transforms all samples at once, far faster than loops and BLAS-friendly. In ML, dense layers Z=XW+b, forward passes, PCA (eigendecomposition of covariance), GCNs are all matrix/tensor ops. Matrix multiply = composition of linear maps. Knowing shape matching and properties (non-commutative, associative) underpins vectorized code and GPU acceleration.
备考提示:"数据表即矩阵、批量运算即矩阵乘"是数据科学的数学视角;能联系 PCA/神经网络最显功底。
Q18线性回归与逻辑回归分别解决什么任务?为何逻辑回归用交叉熵而非均方误差?
EN: What tasks do linear and logistic regression solve? Why cross-entropy not MSE for logistic?
参考回答(中文)
线性回归 y = wᵀx + b 解决连续值预测(回归),用均方误差 MSE 作损失,可解析(正规方程)或梯度下降求解。逻辑回归在线性组合后套 Sigmoid 把输出压到 (0,1) 作概率,解决二分类;其损失用对数似然(交叉熵)。若对 Sigmoid 输出用 MSE,损失曲面非凸且梯度在饱和区极平坦(梯度消失式),难优化;交叉熵配合 Sigmoid 时梯度为 (预测−标签),简洁友好、凸且收敛快。逻辑回归虽名称带"回归",实质是分类器,也是神经网络输出层的雏形。
Reference Answer (EN)
Linear regression y=wᵀx+b predicts continuous values via MSE (closed-form or GD). Logistic regression adds sigmoid for probability, solving binary classification with cross-entropy loss. MSE on sigmoid is non-convex with vanishing gradients in saturating regions; cross-entropy gives clean gradient (pred−label), convex and fast. Despite the name, logistic regression is a classifier.
备考提示:"逻辑回归是分类不是回归"是经典陷阱;MSE 在 Sigmoid 下梯度平坦的原因要能讲清。
Q19面试官问"请介绍你做过的项目"时,如何用数据科学的结构讲清楚?专业重点
EN: When asked to introduce a project, how to present it in a data-science structure?
参考回答(中文)
推荐用"问题 → 数据 → 方法 → 结果 → 反思"五段式:①问题:要解决什么(如预测学生成绩、分析电商评论情感);②数据:来源、规模、字段、做了哪些清洗与特征工程;③方法:用了什么模型/算法(如随机森林、聚类),为何选它;④结果:用哪些指标衡量(准确率/F1/RMSE),取得了什么效果,是否做了对比实验;⑤反思:不足与可改进点(如数据量小、未做交叉验证)。这样比泛泛说"我做了个分析"更有说服力,也便于导师追问技术细节。准备 1–2 个项目、能答清每行代码的来由,是面试高分的保证。
Reference Answer (EN)
Use a five-part structure: Problem → Data → Method → Results → Reflection. State the goal, data source/scale/cleaning/features, model choice and why, metrics (accuracy/F1/RMSE) with baseline comparison, and honest limitations/improvements. This beats vague "I did an analysis" and invites technical follow-ups. Prepare 1–2 projects you can defend line by line.
备考提示:项目讲述务必落到"数据→方法→指标"的硬细节;能承认不足并提改进,比一味自夸更得导师青睐。
Q20进程与线程的区别是什么?多线程编程中要注意什么?专业重点
EN: Differences between process and thread? What to watch in multithreading?
参考回答(中文)
进程是资源分配的基本单位,拥有独立内存空间,彼此隔离、通信需 IPC(管道、共享内存等);线程是 CPU 调度的基本单位,同一进程内的线程共享内存与资源,切换开销小、通信方便但需同步。多线程能提升并发(如 Web 服务器同时处理请求、数据处理并行加速),但共享内存带来竞态条件,需用锁(互斥量)、信号量保证临界区互斥,避免死锁(如两线程互相等待对方持有的锁)。在 Python 中受 GIL 限制,CPU 密集任务用多进程更优,I/O 密集可用多线程/协程。理解并发模型是大数据与系统编程的基本功。
Reference Answer (EN)
Process = resource unit with isolated memory (IPC needed); thread = scheduling unit sharing memory within a process, cheaper to switch, easier to communicate but needs sync. Multithreading boosts concurrency (servers, parallel ETL) yet shared memory causes races—use mutexes/semaphores and avoid deadlocks. Python's GIL makes multiprocessing better for CPU-bound, threads/asyncio for I/O-bound. Concurrency is core systems skill.
备考提示:"进程隔离、线程共享"是第一句;能提到锁/死锁与 Python GIL,直接体现系统编程素养。

D. 自我介绍模板(3 版 · 中英)

版本一(算法与编程导向)

中文:老师好,我是来自××中学的×××。我对计算机科学的兴趣始于信息学竞赛,曾用 C++ 实现过线段树与动态规划解题,认识到"高效算法"是智能时代的基础设施。在自学中我系统掌握了数组、链表、树、图等数据结构与时间复杂度分析,也用 Python 做过小规模数据清洗与可视化。我希望进入卓越学院智能计算与数据科学实验班,在导师制下把扎实的算法功底延伸到数据挖掘与大数据方向,未来参与实际科研项目。

EN: Hello professors, I'm ××× from ×× High School. My interest in CS began with competitive programming, where I implemented segment trees and DP in C++, realizing efficient algorithms are the infrastructure of the intelligent era. I've systematically learned arrays, linked lists, trees, graphs and complexity analysis, and used Python for small-scale data cleaning and visualization. I hope to join the Intelligent Computing and Data Science program, extending my algorithmic foundation into data mining and big data under the mentorship system, and participate in real research.

版本二(数据科学 / 机器学习导向)

中文:老师好,我是×××。我对数"据中找规律"着迷:曾用公开数据集做过房价预测(线性回归)与用户分群(K-means),完整走通了"数据清洗→特征工程→建模→评估"的流程,并理解了过拟合与交叉验证的重要性。我也了解 Hadoop/Spark 等大数据技术的基本概念。贵院"一制三化"的导师制与项目制培养,正契合我想"做中学"的期待,我希望在实验班深耕机器学习与数据挖掘,并争取早期进入导师课题。

EN: Hello, I'm ×××. I'm fascinated by finding patterns in data: I built a house-price predictor (linear regression) and customer segmentation (K-means) on public datasets, going through cleaning→features→modeling→evaluation, and learned the importance of overfitting and cross-validation. I also know the basics of Hadoop/Spark. The mentorship and project-based "one-system-three-modernizations" training fits my learn-by-doing goal; I hope to deepen ML and data mining in the program and join a advisor's project early.

版本三(交叉创新 / 综合素养导向)

中文:老师好,我是×××。我把计算机视为"用计算解决真实问题"的工具:既喜欢写代码(获过编程类奖项),也喜欢用数学建模看待世界。我曾把校园一卡通消费数据做聚类分析,给同学提消费建议,体会到"计算 + 数据"能创造实际价值。杭电计算机学科进入 ESI 全球前 1%,智能计算与数据科学实验班强调算法、系统与数据交叉,与我的志趣高度吻合。我期待在导师制与国际化培养中,成长为兼具工程能力与数据思维的复合型人才。

EN: Hello, I'm ×××. I see CS as using computation to solve real problems: I enjoy coding (won programming awards) and mathematical modeling. I once clustered campus card spending to give peers budgeting advice, experiencing how "computing + data" creates real value. HDU's CS is in ESI top 1%, and the Intelligent Computing and Data Science program's algorithm-system-data crossover matches my interest. I look forward to growing into a versatile talent with both engineering and data thinking under mentorship and international training.

E. 专业背景知识补充

实验班版本
智能计算与数据科学实验班(依托计算机科学与技术国家级一流本科专业建设点)是卓越学院面向数据驱动时代的拔尖创新人才培养特区。
The Intelligent Computing and Data Science program (built on the National First-Class CS major) is an elite talent zone of the Honors College for the data-driven era.

杭州电子科技大学卓越学院"智能计算与数据科学"实验班,依托学校计算机科学与技术国家级一流本科专业建设点设立,是面向数据驱动时代的拔尖创新人才培养特区。该方向以"厚基础、强交叉、重实践"为理念,将经典计算机科学(算法、数据结构、计算机系统)与数据科学、人工智能深度融合,培养既懂底层原理又能驾驭大数据的复合型人才。

在培养模式上,实验班全面贯彻卓越学院"一制三化"特色:导师制(为每位学生配备学术导师,从低年级即进入科研课题)、小班化(精编班级、研讨式教学)、个性化(灵活选课与项目制学习路径)、国际化(海外交流、全英课程与联合培养)。计算机科学与技术专业是学校的优势学科,计算机科学学科已进入 ESI 全球前 1%,在算法设计、嵌入式系统、网络空间安全等方向积淀深厚,为实验班提供坚实的学科支撑。

"智能计算与数据科学"方向的独特之处在于"计算 + 数据"的双重训练:一方面夯实编程语言、离散数学、算法分析与数据结构、操作系统、数据库等计算机核心课程;另一方面开设机器学习、数据挖掘、大数据技术(Hadoop/Spark)、数据可视化等数据科学课程,并通过导师制科研项目将两者贯通。面试与后续培养均看重学生的数理基础、代码能力与用数据解决问题的思维——既能手写高效算法,也能在分布式环境下处理真实数据,正是本方向选拔与培养的核心逻辑。对考生而言,提前了解这一"一制三化 + 计算机一流专业 + 数据科学交叉"的定位,并在自我介绍与问答中主动对齐,将显著提升面试表现。

本方向强调"计算与数据并重":备考时既要刷透算法与数据结构(手撕代码、复杂度分析),也要建立数据科学的整体认知(ML/挖掘/大数据栈),并准备一个能讲清"数据→方法→指标"的实战项目。结合杭电卓越学院"一制三化"与计算机一流学科背景作答,最能体现你对该方向的匹配度。
返回二次选拔

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

RELATED

相关文章

同一栏目下的其他内容

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

山东大学 · 泰山学堂

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

阅读全文 →