2018清华软院推免经历

2018年9月28日,我接受了清华大学的待录取通知,两个多月的保研奔波也最终尘埃落定。保研的过程对我来说真的是一波三折,好在最后还是得到了一个满意的结果。

机试

清华推免机试语言统一使用C++,电脑环境为Windows,会预装 CLion 和 Visual Studio,并提前创建好了项目,考试时仅需在题目对应项目下的cpp文件中编写代码即可。

机试考试时间为3小时,试题一共3道,题目会打印在纸上发给大家,整个机试体验总体还是不错的。

日历转换

有一种不同的历法,它的一天和目前历法中一天的长度相同,每天有10个小时,每小时100分钟,每分钟100秒,同时一年有10个月,一个月有10个星期,一个星期有10天,现在需要把当前历法中的时间转换为这种历法中的时间。规定当前历法的开始时间为2000-1-1 0:0:0,对应新历法中的0-1-1 0:0:0,秒数向下取整,需要考虑闰年。
输入:当前历法的某时刻
输出:对应新历法的时刻

第一题送分,但是一开始没注意题目中一天的时间相同,所以一开始结果和给的用例一直对不上,导致浪费了不少时间。

麦森数

形如2p-1的素数被称为麦森数,这时p也一定是个素数,但反过来不一定,即如果p是个素数,2p-1不一定也是素数。到1998年底,人们已经找到了37个麦森数,最大的是p=3021377,它有909526位。
输入p (1000 < p < 3100000),计算2p-1的位数和最后500位数字。

快速幂+大数乘法,只用处理最后500位的乘法,数的位数为 [p*lg2] + 1。

打气球

LeetCode原题:312. Burst Balloons

考完才知道是LeetCode上的原题,动态规划,考试时时间不够没想到递推式,还是怪自己刷题不够多···

面试

面试安排在笔试后第二天上午,一共六十多人,分成了五个教室,我在的教室有五个老师和一个助教,助教会帮忙给老师发简历以及记录面试过程。

首先是自我介绍,同时老师会查看简历。老师会轮流问问题,主要是有关简历上的项目,以及一些基础知识(老师会看着成绩单和简历问问题)。问题包括:

  • 你的项目中用到了Hadoop,性能如何?
  • 项目名称中的“智能“体现在哪里?
  • 推荐系统是如何实现的?
  • 你们处理的数据量并不算大,为什么要用Hadoop?
  • 你说对网络比较感兴趣,网络包括几层,有哪些协议?
  • 解释编译原理中的自动机、上下文无关文法。
  • (英文)解释快速排序。
  • (英文)快速排序中基准如何选取?
  • 你的项目名中大多包含“智能”两个字,你对智能有什么看法?

面试过程中有老师根据简历上的链接访问了我的个人网站,看到我的微软面试经历就问了我在微软做了些什么,看了我的Github主页,让我介绍了几个pin的仓库。

总的来说面试的过程还算比较轻松,全程都处在一种聊天的氛围中。回答总的还算顺畅,除了被问到编译原理概念时有点记不清了,感觉问问题的老师有些不太满意···

总结

总结下来,机试题整体难度不算大,但也需要一定的刷题量,搞过ACM的同学机试应该很占优势,机试时也有大佬提前交卷,面试问的问题其实都很基础,老师会问你考的比较好的科目的问题,不会刻意为难你。

作者

Shawn Huang

发布于

2018-09-28

更新于

2021-07-27

许可协议

评论