
2019年9月28日晚上我盯着推免系统的页面看了很久。志愿填的是上海交大电院计算机方向直博接受待录取通知的按钮就在眼前。从大三寒假决定走直博路到那一刻大半年紧绷的状态总算落到了实处。我本科是一所普通985的计算机专业最后能保到上海交通大学电子信息与电气工程学院电院读直博回头看有运气成分也有大量前期准备。这几年陆陆续续有学弟学妹问我当年的经验问得最多的三件事是夏令营到底怎么准备、面试会问什么、直博和硕士应该怎么选。趁记忆还新鲜我把整段经历完整复盘一遍包括材料准备、联系导师、机试面试、系统填报以及很多只有实际走一遍才会知道的坑。如果你正在准备计算机保研尤其是想走直博这条路这篇记录应该能给你一个比较完整的参照。1. 保研时间线与整体规划1.1 先分清夏令营、预推免和九推保研有三条主要路径夏令营、预推免和九推。很多人到了大三下才搞明白三者的区别结果错过关键节点。简单说夏令营是各个学校在暑假组织的选拔活动相当于提前批名额最多、待遇最好预推免是九月份正式推免系统开放前的第二批选拔名额少一些但依然有价值九推是系统开放后各校补录的尾巴不确定性最大。2019年这届各大高校的夏令营报名基本集中在5月到6月入营通知7月初陆续发放夏令营活动一般在7月中下旬。我认识的不少同学等到暑假才开始联系导师问了一圈发现热门导师名额早就没了这就是典型的节奏失误。保研这件事准备期最好从大三上学期就开始至少也要在大三寒假启动。1.2 我当时的准备时间线时间节点主要任务大三上学期稳住成绩排名确定保研资格基本盘寒假明确直博目标搜集导师信息准备第一版简历3-4月撰写个人陈述联系导师打磨材料5-6月投递夏令营申请同步复习专业课7月参加夏令营机试、面试、参观实验室8月复盘夏令营情况准备预推免9月推免系统填报确认待录取这个节奏现在看来依然稳健。特别提醒一句成绩排名是入场券但到了面试环节老师们更在意你脑子清不清楚、对科研有没有感觉。排名决定了你能不能进面试面试表现决定了你能不能拿到offer。1.3 为什么选择直博而不是学硕或专硕我当时的目标很明确想继续做研究未来打算进高校或研究院。直博相比“硕士博士”的路径时间上能省一到两年而且从进组第一天就跟着导师做一个完整课题科研训练更连续。但如果只是想拿个硕士文凭找工作直博就是个大坑。五年起步的沉没成本、中途退出只能拿本科学位的退出机制、导师和方向不合适时的痛苦都是必须提前想清楚的代价。我在第七部分会详细展开直博的风险分析这里先不展开。2. 前期背景积累排名、科研、竞赛与英语2.1 成绩排名是硬门槛上交电院夏令营的入营筛选第一关看的就是学校层次、专业排名和英语六级。我当时排名是专业前百分之五左右这个成绩在普通985里算是比较稳妥的入场券。如果排名在百分之十以外又想冲上交这种层次的学校最好有特别能打的论文或者竞赛成绩来补。排名这东西没有捷径就是前五个学期一门课一门课攒出来的。但我也有个很实在的建议不要为了刷分全选水课面试时老师会看你的成绩单核心专业课数据结构、操作系统、计算机组成原理、计算机网络的成绩尤其被看重。几门硬课成绩好比一堆水课满绩更有说服力。2.2 科研训练和论文产出我大二下学期进了本院的实验室跟着研究生师兄做了差不多一年的项目。这个经历在整个保研过程中帮了大忙。虽然最后没能在夏令营前发出高水平论文但我在面试时能把自己的工作讲得明明白白——做了什么、解决了什么问题、用了什么方法、结果如何、还有哪些不足。这就比很多只列了个“参与项目”却一问三不知的同学强太多。我必须说实话如果你本科能发一篇CCF推荐会议或期刊的论文哪怕是共一作优势都会非常明显。但大多数本科生不具备这个条件所以退而求其次把参与的工作吃透能经受住面试官的连续追问同样能拿到offer。最怕的是简历上写了一大堆项目被问到细节时支支吾吾这在直博面试里几乎是致命的。2.3 竞赛与项目实践竞赛方面我拿过数学建模省奖和程序设计竞赛的区域赛奖项但都不是特别顶尖的成绩。说实话竞赛奖项在计算机保研里属于锦上添花含金量排序大致是CCPC/ICPC金牌 顶会论文 竞赛银牌/铜牌 数学建模国奖 其他杂奖。如果你有ICPC区域赛金牌很多学校可以免机试直接进面试。项目实践方面我在GitHub上维护过一个小的开源项目虽然star数不多但代码质量和文档都比较规范。这点在面试里也被老师问到过他们说能看到一个学生是否具备基本的工程素养。所以哪怕不是大项目把你做过的东西认真整理、写好README和技术文档都是有价值的。2.4 英语成绩的准备上交电院对英语六级的基本要求一般是425分以上但实际筛材料时500分以上才不太拖后腿。我当时六级考了530多分不算特别好但够用。如果六级分数不理想可以用托福或雅思成绩替代我当时认识的一个朋友就是六级没过500但托福考了100照样拿到了入营资格。英语口语要单独拿出来练。夏令营面试一般会包含英文自我介绍和简单的英文问答直博面试有时还会有英文文献朗读或翻译环节。别指望临场发挥面试前至少准备三分钟流利的自我介绍以及围绕你的研究兴趣、why PhD、未来规划这几个话题准备几段英文表达。3. 申请材料与联系导师3.1 个人陈述和简历怎么写个人陈述是直博申请里最重要的材料之一。我写的时候遵循一个核心逻辑“为什么读博”加“我凭什么能读博”。开篇就讲清楚自己对哪个研究方向感兴趣、为什么感兴趣中间用科研经历和项目经历证明自己已经有初步的研究能力结尾写清楚未来希望探索的具体问题。简历尽量控制在两页内最好一页。排版干净一点突出以下内容教育背景和排名、科研经历、论文发表、竞赛获奖、专业技能、英语能力。不要写无关的兴趣爱好更不要用花哨的模板。我见过很多简历把大量篇幅花在自我评价上真实情况是老师看简历的时间可能只有两分钟重点不前置就等于白写。推荐信方面我找了一位带过我项目的老师和一位专业课任课老师。推荐信的实质作用是背书具体内容老师自己写但你需要提前和老师沟通好你的情况和目标方向。3.2 怎么选导师选导师这个环节我花了整整一个寒假。我的方法是分三步走第一步在上交电院官网和导师主页上筛选研究方向匹配的老师重点是看他们近三年的论文产出、项目情况和学生毕业去向第二步去学术搜索网站上查这些老师近五年的论文了解他们是否还活跃在科研一线以及主要发在哪些会议和期刊上第三步通过师兄师姐或网络渠道了解老师的口碑比如毕业时长、指导风格、实验室氛围。事后证明这个功课做了和没做的差别非常大。我最后选的导师研究方向和我本科做的项目有交叉面试时聊得比较顺而且这位老师课题组的学生基本都能正常毕业这让我后来几年省了很多心。3.3 联系导师的邮件我在4月初给心仪导师发了第一封邮件。邮件结构大概是我是谁学校、专业、排名、我对你哪个研究方向感兴趣要具体提到老师某篇论文、我自己有什么基础科研经历、技能、为什么想加入你的课题组。附件里放了简历和成绩单正文篇幅控制在三百字以内。有一点要特别提醒邮件绝对不能群发。我当时准备了几个版本的邮件每个版本都会根据导师的研究方向做针对性调整。老师都是人精一眼就能看出来你是不是认真研究过他的工作。邮件发出后一两周没有回复很正常可以隔两周再礼貌地跟进一次如果还没有回复就不要死等考虑其他选择。3.4 联系导师和夏令营的关系不少同学担心“提前联系导师是不是没必要”拿我的实际经验来说提前联系非常有必要。2019年那会儿上交电院夏令营入营之后导师的推荐或者说口头offer对最终录取结果有很大影响。而且越是热门导师名额越早被锁定。我认识一个背景很不错的同学就是因为联系导师太晚目标导师名额已满最后只能调整方向。不过也要提醒一句导师的口头offer不等于正式录取最终还是要走夏令营面试和系统填报流程。导师的能力边界是推荐和背书不是直接录取。所以即使导师表达了积极意向该准备的机试和面试还是要全力准备。4. 夏令营与预推免全记录4.1 报名、入营和夏令营安排我5月底投了上交电院的夏令营提交的材料包括成绩单、排名证明、个人陈述、简历、获奖证书扫描件和导师联系情况说明。大概7月初收到了入营邮件当时心情很复杂高兴的是过了初筛紧张的是听说电院夏令营竞争很激烈优营率并不高。那年夏令营安排在7月中下旬总共几天时间内容包括开营仪式、实验室参观、导师面对面交流、机试和综合面试。其中机试和面试是决定能否拿到优秀营员的关键环节参观和交流更多是让双方互相了解。4.2 机试环节备考经验上交计算机方向的夏令营机试一般考察数据结构和算法题目难度大约在LeetCode中等偏上偶尔会出现困难题。我当时在准备阶段刷了大概两百道LeetCode题型主要集中在链表、二叉树、图、动态规划、字符串处理这几个高频考点上。机试一般是在线评测系统语言方面我用的是C这也是最稳妥的选择。建议提前在类似环境下多练几次熟悉输入输出和评测规则。有一点很容易被忽略机试的环境可能是Linux如果你习惯在Windows下写代码建议提前适应一下Linux下的编辑器或IDE省得到时候手忙脚乱。有个朋友当时临时发现虚拟机里的编译环境不顺手白白浪费了半小时调试配置这就很吃亏。4.3 综合面试全过程面试是重头戏。当时是几个老师对一个学生的多对一面试时长大概二十分钟到半小时。流程大致是英文自我介绍、专业知识提问、科研项目深挖、读博动机考察。英文自我介绍我在面试前练了不下二十遍确保语速平稳、表达自然。专业知识提问覆盖了数据结构、操作系统、计算机组成原理、计算机网络这些核心课程问得不算偏但要求基础扎实。比如我被问到过“进程和线程的区别”“TCP三次握手的细节”“虚拟内存的实现机制”等都是经典中的经典。科研项目深挖是整个面试中时间最长的一部分。老师会顺着我简历上写的项目不断追问细节比如“这个模块的时间复杂度是多少”“你为什么选择这个方法而不是另一个”“如果数据规模扩大一百倍系统瓶颈在哪里”。这个环节没有任何侥幸空间只能靠平时做实打实的工作。4.4 直博面试的独特问题直博面试和硕士面试最大的区别是老师特别关注你为什么要读博以及你是否有应对科研挫折的心理准备。我被问到的典型问题有“如果你的课题做了一年没有进展你会怎么办”“你未来五年的规划是什么”“你有没有考虑过高校教职竞争激烈的情况”这些问题没有标准答案但回答时要展现出你认真思考过。我当时坦诚地说我知道科研不会一帆风顺也了解直博是条长路但正是因为经历过解决未知问题的过程才觉得自己喜欢并适合这条路。老师看重的是你的动机理性和态度诚恳而不是你说得有多漂亮。5. 面试核心知识复盘5.1 数据结构与算法这部分我建议按“线性结构、树、图、排序与查找、动态规划”五个模块复习。线性结构重点掌握链表的各种操作、栈和队列的应用场景树要理解二叉树遍历的递归和非递归写法、BST和AVL的特性图的重点在DFS/BFS、最短路、最小生成树。排序要能把快排、堆排、归并排序的原理讲清楚能分析各自的时间复杂度和稳定性。很多同学复习时只刷题不重原理面试时被问到“快排最坏情况是什么为什么”就卡住了这很可惜。机试考的是你会不会写代码面试考的是你理不理解代码两者要结合起来准备。5.2 操作系统与计算机组成原理操作系统高频考点包括进程与线程、调度算法、死锁的产生条件和处理、虚拟内存与分页、文件系统。面试官喜欢从具体场景切入比如“CPU密集型和IO密集型任务在单核和多核下怎么调度更合理”。计算机组成原理主要考察存储层次、Cache映射、流水线、中断机制。这两个科目如果你在面试前能找到目标学校的课件或往年考点效率会高很多。我当时就是把核心课程的所有课后习题都过了一遍对一些经典问题形成了肌肉记忆。5.3 计算机网络与数据库计算机网络的重点是TCP/IP协议栈TCP的可靠传输机制、拥塞控制、HTTP协议发展史等。数据库则是索引结构、事务特性和隔离级别、B树和Hash索引的区别、SQL优化这些内容。这里有个容易被忽略的点不少学校面试会问“你简历上写过Web项目那请说说一个请求从浏览器输入URL到页面加载完成整个过程发生了什么”。这道题覆盖了网络、操作系统、计算机组成原理等多个科目的知识非常适合作为综合性考察题值得认真准备。5.4 科研项目问答的应对思路项目问答是区分度最大的环节。老师不一定指望本科生做出多高深的工作但一定希望看到一个能逻辑清晰讲述自己工作的人。我的应对方法是提前准备一个“项目故事线”背景问题是什么、我做了哪几件事、每件事的技术方案是什么、遇到了什么困难、怎么解决的、最后结果如何、还有什么不足和下一步计划。然后针对这条故事线预判所有可能的追问并提前准备答案。我大概在面试前一周每天花两小时推演项目问答事实证明这个准备非常值得。6. 直博选择与风险收益深度分析6.1 直博的优势直博最大的优势是时间效率。国内主流路径下硕士两到三年再加博士三到四年加起来至少六年。直博通常五年到六年毕业极限情况可以省下一年半到两年。从科研连续性来看直博也更合理。硕士毕业后再申请博士往往要重新适应新课题前面两年的积累可能只产出少量成果。直博从进组开始就围绕一个方向深耕课题的深度和连续性都有保证。另外直博期间一般不用交学费补助也相对稳定经济压力比“硕士博士”的路径更小。6.2 直博的风险直博的风险我接触过之后才真正理解有多现实。第一是退出机制。直博生如果中途不想读了申请转硕或退学通常只能拿本科学位。这意味着所有沉没成本都要自己扛下来。第二是导师匹配。直博生和导师之间的绑定非常强如果导师指导风格不合、方向变化很大或者师生关系变僵最难脱身的往往是学生。第三是时间成本。本科毕业后五六年就待在一个课题组里如果到头来发现自己不适合科研转行的压力非常大。我有个外校认识的同学直博第二年发现对研究方向完全提不起兴趣每天去实验室都很痛苦。想退出又觉得已经浪费了两年硬扛到第三年还是转了硕士。这样的案例不是个例。选直博之前一定要想清楚自己是不是真喜欢做研究而不是因为“直博听起来更高级”或者“免试压力小”。6.3 怎么判断自己适不适合直博我的判断标准很简单第一有没有过独立阅读论文并且能大致复现出结果的经历第二面对一个没有标准答案的未知问题是焦虑还是兴奋第三能不能接受连续几个月围绕一个具体问题死磕短期内看不到回报。如果三条都是肯定答案直博应该适合你如果都不确定建议优先考虑学硕。7. 系统填报与录取确认7.1 推免系统的关键操作拿到优秀营员之后还有最后一道流程要走在全国推荐免试攻读研究生信息公开管理服务系统简称推免系统上完成填报和确认。2019年9月28日系统正式开放志愿填报。我当时已经提前几天确定好了策略系统开放当天就填了上交电院的那一个志愿。推免系统允许填三个平行志愿但要注意志愿提交后会锁定一段时间锁定期间不能修改。如果你已经和导师、学校达成明确意向建议不要乱填其他志愿操作越简单越稳妥。7.2 待录取确认的流程和注意事项学校会在系统里发复试通知然后很快发待录取通知。关键操作就一个在规定时限内点击接受。我记得当时手机上收到一个电话导师那边明确告诉我当晚务必盯着系统收到待录取通知后马上确认超时未确认会自动失效。这里有一条铁律一旦在系统里确认了待录取这个结果就是最终结果不能再接受其他学校。所以点击确认之前一定要百分百确定这就是你想去的地方。我当时盯着页面看了一两分钟把从寒假准备以来的所有事情过了一遍然后点了确认。那份紧张感和高考查分有得一拼。7.3 拿到offer后的善后工作确认录取之后建议主动给导师和实验室师兄师姐发邮件说明自己已经完成系统确认请教一下后续需要提前学习什么内容、读哪些书籍和论文。这不仅是为了提前进入状态也是给导师留下一个上进的印象。我当时还被邀请在录取后去实验室实地待了一周提前接触课题组的氛围也熟悉了师兄师姐们的研究方向。这个安排后来帮我节省了很多适应时间正式开学后基本没有过渡期。8. 常见问题与避坑指南8.1 高频问题速查问题我的建议本科学校一般有机会进上交电院面试吗有机会但需要有比排名更亮眼的东西比如论文、竞赛、对口项目没有论文申请直博是不是没戏不是把项目讲透、基础知识扎实照样能拿到offer六级分数不高怎么办用托福雅思补充或者突出科研能力来对冲夏令营没拿到优营还能做什么立刻准备预推免很多人就是在预推免阶段上岸的直博面试被问“为什么读博”怎么答说真实想法结合自己的科研经历别背模板要不要海投夏令营可以海投但建议分梯度冲、稳、保各选几所8.2 我踩过的坑和独家心得第一个坑是前期太注重刷题忽略了基础概念的体系化复习。机试过了面试问基础概念时有几个点答得不够透。如果让我重来一次我会把数据结构和算法的复习和刷题并行推进而不是先刷完题再回头补概念。第二个坑是联系导师的邮件发得稍晚了一点。4月初发邮件虽然赶上了但很多热门导师的名额已经开始减少。如果你想冲特定导师建议大三上的寒假就做好功课三月初就可以发出第一封邮件。第三个坑是关于信息搜集的。当时我太依赖网上的经验帖但实际上每个学校每个学院的情况差别都很大。最有效的信息来源是直系师兄师姐尤其是目标学校毕业的或在读的。我当时通过学院老师牵线联系上一位在上交电院读博的直系学姐她给我讲了不少内部情况比如哪个课题组名额多、哪个老师今年不太招人、往年的机试难度和风格。这些信息比任何公开经验帖都值钱。8.3 给后来者的一句话建议如果只能给一条建议我会说尽早想清楚自己要不要读博以及为什么读博。这个问题想明白之后选学校、选导师、准备材料、面试表达所有的环节都会变得清晰很多。剩下的就是执行问题了。现在我在实验室带学弟学妹遇到准备保研的我常劝他们先别急着刷题和套模板。排名不是全部论文也不是全部真正决定你在这条路上走多远的是你面对一个未知问题时的态度。如果你能从这个角度认识自己、展现自己目标学校的门自然会为你打开。