当前位置:   article > 正文

2019年保研夏令营复试经验分享(浙大软件/南大软件/南航计算机)_南大机试时间

南大机试时间

写这篇博客的原因很简单,一是想记录下自己在过去几个月中经历的种种,二是觉得或许未来的学弟学妹能从中收获些许帮助,因为在这段时间我也收藏了大量经验贴,确实获益匪浅,非常感谢,所以希望能将这样的分享传递下去。

个人情况

学校/专业:某211大学交叉型信管专业,由于交叉型属性,因此我们专业的课程非常的杂,涉及很多领域,每个领域的课程学习的都不是很深入。但是耐不住自己感兴趣,所以在计算机方面花的心思比较多,也坚定了保研转向更专业院校的心。
成绩:前三年2/123,保研第1
项目:两届大创,一届负责人,项目已上线运营
获奖:稍微拿的出手的可能也就是,大学生计算机设计大赛省赛三等奖、国赛二等奖了。其他就是些校级比赛以及一些奖学金和荣誉称号(很惭愧,大佬们口中那些竞赛,我根本都没听过,学校也几乎没有计算机类的竞赛团队,毕竟我们专业是学校唯一一个跟计算机沾边的小透明专业)
科研:几乎没有,大部分的时间都花在开发型的项目上。后面自学了吴恩达老师的机器学习课程,自己也做过几个BP的小模型。



夏令营

首先说明,我==江苏人+恋家情节+父母巨宠的独生女,因此完全没考虑江浙沪以外的学校,但事实上北方也有很多计算机类的好学校非常值得尝试。另外,我们专业实际上算半跨专业了,很多计算机专业的硬课都没学过,我也没那么多时间补,所以我都报的基本上都是软件学院。夏令营报了南大、浙大、上交、复旦,但是最后只有南大入营了,大概是我太菜了吧……but,夏令营期间我的目标其实就只有南大,可能是江苏人都有一个南大梦吧kkk。

南大软件

面试和机试都在同一天,白天面试、晚上机试。其他时间除了固定讲座,都可以自由安排,基本上就是去找私下联络的导师面谈。
南大夏令营要求必须确认一位联络导师,最后需要填写汇总,貌似联络导师的意见也会占最终成绩的一部分。

面试

面试会持续一整天,具体顺序看随机排序的结果。面试时长不固定,但一般不会超过20分钟。特别是顺序靠后的话,老师都很疲惫了,10分钟内也是很正常的,我当时排在上午最后一组,就是如此。
一个面试房间有4位老师,需要准备好简历,每位老师一份。首先是英文面试,一般要求英文自我介绍,是否要英文回答问题看各个老师。接着,会根据你的简历进行提问。
我的面试题

英文:自我介绍
中文:

  1. 介绍一下你投入的比较多的项目
  2. 你在其中参与了什么
  3. 这个平台是你们学校的学生在用吗(就是上面说的项目)
  4. 这个“软件设计师”资格证是国家人力资源工信部颁发的那个吗
机试

我准备机试的方式基本上就是去bilibili上看一些数据结构或者算法的课,然后每天会在LeetCode上刷两三道题,总共刷了70道左右。另外,建议先按标签分类,每种标签都刷几题,最后再随机刷,这样可以确保知识点覆盖的全面一些。
内容:一道算法、一道面向对象,一共三个小时。
语言:Java或C++。但是建议使用Java,南大的机试对C++非常不友好,原因在下面。
环境:需要使用南大自己的慕测平台,因此在夏令营开始前,老师会在QQ群里发机试说明,以及一套模拟题,也是一道算法、一道面向对象,一定要做!Java的IDE是安装了慕测插件的eclipse,自己做模拟题时需要下载说明文件里给定的eclipse,自己的装了插件用不了。做完直接在eclipse里提交,会看到测试用例通过情况。
评分:按测试用例通过比例评分。eclipse中会明确给出Junit的几个测试数据,你可以用它来调试。实际评分的测试用例不止这些,也看不到具体的数据,提交后能在eclipse中看到通过数(防止有人投机取巧)。这就是为什么说对C++不友好了,因为……C++的IDE里没有插件,看不到评分的测试用例通过情况!
我的机试题

  1. 算法:多叉树剪枝
  2. 面向对象:一个小型商店管理系统,包括商品模块、进出货模块等等

讲道理这次机试挺难的,第一道算法题目就巨长,而且不是很容易理解,小坑多(题目我有存,需要的可以私我)。我在弄清题意、觉得没有很好的思路后,就果断先做面向对象了。因为算法题首先需要有思路,其次就算有了思路也不一定写的出来,而面向对象的题只要理清对象间的关系,以及每个方法的调用逻辑,基本上就能写出来。但是,没想到面向对象的题量这么大!我基本上手都不带停的敲了有一个半小时,然后调试一些细枝末节的东西又花了不少时间。到后面,我已经很清楚,没时间写完算法了,所以就干脆专心把面向对象完全调试通。第二天,收到导师面谈的邮件,去的同学里也没有把算法做出来的,而且还有很多在算法上花费了太多时间,导致面向对象做不完的。所以,我的建议就是——如果算法题第一时间没有好的思路,就果断先做面向对象,起码保证完整的做完一题,你就有可能已经超过了相当一部分同学了。
夏令营结果:南大夏令营结果分三个级别——优秀、良好、合格。评分标准由面试、机试、联络导师意见三部分组成。夏令营结束后一周左右会邮件通知,很幸运最终我拿到了优秀营员。但是,南大的优营只是优先录取,并不是明确给offer的,我的联络导师告诉我,为了确保生源,一般优营会多给一些,因为会有人鸽,so只要你不鸽,大概率都没问题。

———————————夏令营结束分割线—————————————

转折——跨专业考试

因为我本身目标就是南大,再加上拿了优营,基本上就没再考虑其他学校。然鹅,当我12号考完本校推免考试,以为一切都稳了的时候——南大突然通知只要一级学科不属于计算机和软件的都要参加17号下午的跨专业考试,并且不能通过就会失去资格。加考科目为软件工程+数据结构,而软件工程我并没有学过,并且我之前也没听说过会有跨专业考试,所以毫无准备。面临失去唯一心仪的学校,这4天真的是学到吐,高考都没这么拼过……而且事实上也没有4天,因为南航16号下午报到、17号上午面试,深刻体会什么叫祸不单行……
考试内容重点

数据结构:

  1. 十道左右选择题:各种经典的数据结构相关的应用,链表、堆栈、队列、树、图、散列等等。
  2. 一道编程题:两个用链表表示的集合A、B,求(A∪B)-(A∩B)。(我是用的类似归并排序扫描做的)

软件工程:

  1. 好几道概念题:
    - 黑白测试的区别
    - 敏捷开发和瀑布模型的区别
    - 配置管理包括哪些活动
    - 持续集成及其特性
    - 不记得了……
  2. 几道设计模式的大题:
    - 华为、小米、联想这些3C制造商都会生产手机、电脑、电子产品,问①画出UML图②写出代码实现。(第一反应就是工厂模式)
    - 给了一段代码,问①有什么缺点②如何改进。(大概就是不符合信息隐藏、破坏高内聚低耦合,给的代码很像南大书上单例模式的例题)
    - 不记得了……

虽然说我觉得自己应该没什么大问题,但是毕竟一个星期才能出结果,我不可能就这么坐以待毙,因此开始报别的学校的预推免。最终在我QQ私戳、邮件询问、3条短信都不回,23号打了第2个电话才问到招生老师跨考通过了,然鹅这时候我已经在浙大复试了(微笑)。
反思:事后我也有再反思出现这段波折的原因,首先我自己肯定是有错误的,事实上官网对跨考的说明在9月3号就出了,但是我觉得夏令营结束了,后续消息官方QQ群里老师会通知,于是没在意。不过还是想吐槽一下,这么重要的消息为什么放在了第二波复试招生的说明文件里,而不是单独列出,并且还在刚开头就用醒目的红字标出 "参加过夏令营的同学不要再报此次复试 ",让我一度觉得雨我无瓜、只是粗略看了一下;招生群里一直处于禁言状态;临考前4天才通知;第一次夏令营期间完全没有跨考一说(好像也没咋反思自己哈哈哈)。总之建议:官网通知一定要留意,哪怕官方群里有老师通知消息,哪怕你觉得可能雨女无瓜,只要是推免相关,都要仔细看!



预推免

曾经一度觉得自己不需要参加这个阶段了,真的是计划赶不上变化。

南航计算机

南航预推免其实是在南大夏令营结果没出来之前报的,本来不打算去了,而且又在跨考那两天,但是还是担心万一跨考凉了不就没学上了kkk,所以就硬着头皮去了。

报到

16号下午报到,需要按照要求上交材料,具体材料以官网为准,因为复试通知里让准备的材料并不全,导致现场很多人少带了材料(包括我- -),少带的材料后面还要补寄。

面试

17号上午到了之后,先交手机……没错就是交手机,据说是防作弊?然后会现场抽签面试的顺序。也不知道为什么那段时间运气差到爆,抽签之前一直祈祷早一点,因为下午要去南大考试,结果还是抽到了倒数第二个o(╥﹏╥)o。但是可能一组人不多,最后还是在中午面到了。
一间面试教室有五位老师,面试分两个环节,首先在桌上两个文件袋里抽三个题目纸条回答,允许更换一次题目;然后老师再提问一些问题。面试时间每人20分钟,到时间老师就会停止。
我的面试题

抽到的题目:

  1. 数据库的三个完整性约束
  2. 计算机组成原理相关的题(没学过换了题)
  3. 网络的七层协议
  4. 进程和线程的区别

老师提问:

  1. 你是什么学院的(我是理学院的,大概是因为我说没学过计组换了题)
  2. 你学过哪些专业课(其实我学过不少啊啊啊,C++、Java、数据结构、操作系统、计算机网络、Matlab)
  3. 你认为编译型语言和解释型语言有什么区别
  4. 你做过什么项目
  5. 解释一下MVC模型,已经SSM和MVC的关系(上面的项目里提到了)
  6. 说一个你开发的类
  7. 你觉得数据结构的算法和机器学习的算法有什么区别
  8. 思考一下排序算法背后的数学模型

总的来说面试表现的一般,毕竟我心思全花在南大跨考上了,面试完立马赶去参加南大考试了。


浙大软件

18号收到通知,进入浙大复试。说实话,去参加浙大复试冒了很大风险,因为前一天17号刚面完南航、考完南大,都没出结果,处于零offer的状态,期间还能报的江浙沪的学校都报了,然鹅全部撞车!all!全部在25号!能想象我的绝望吗……而浙大是其中最好也是竞争最激烈的,软工招85个,进了将近400人,还包括优营_(:з」∠)_。但是,不去又不甘心,最后还是决定拼一把。

机试

机试在23号晚上,南大夏令营机试之后一直在准备各种考试,没有再集中精力刷题,所以我大概也只有4天时间调整状态。浙大通知机试跟甲级PAT内容是完全一样的,可以在PTA上练习。非常尴尬的是,这是我第一次听说PAT,着实井底之蛙了……而且我也是第一次知道浙大机试是可以用一年内的PAT成绩代替的,大概有50个大佬直接代替了。因此,建议如果有意向上浙大,去考PAT绝对不吃亏。在4天时间里,我先从PTA甲级题库第一题开始刷,以适应PAT的考试内容,考前模拟了两套真题,按一次3小时模拟,尽可能熟悉考试流程。
内容:同甲级PAT,一共4道算法题,分值分别为:20、25、25、30,考纲范围见PAT。时长为3小时。
语言:C++、Java(实际上是不限的,因为代码最终要拷贝到PAT上提交,提交时会选择语言,python、js什么的都有,但是机房环境只有这两个)。建议使用C++,因为PAT里卡运行时间的题,用Java基本都超时。然鹅,因为南大机试对Java更友好,所以我之前一直用的Java刷题,时间太紧只能搜集了一些Java刷PAT不超时的小技巧,后面有时间可能也会整理一下。
环境:Java的IDE有eclipse、IDEA,C++不记得了,可以看PAT官网说明。
评分:按通过的测试用例比列给分。这一点要特别说明,跟南大的不一样,浙大是不给具体的测试数据的,评分的测试用例数量也很少,但姥姥的测试用例绝对是少而精。如果跑不通某个测试用例,你只能自己编测试数据去调试。这一点也是我比较难适应的,因为LeetCode上是会明确告诉你跑不过的测试数据是什么,这样就很容易通过调试找到bug。
我的机试题:姥姥说已经上传到PTA的教育超市 里了

  1. 快乐数:将一个数的每一位平方后再求和,得到一个新数。重复上述过程,直到这个数变成1,那它就是快乐数;如果不能变成1,也就是出现循环,就不是快乐数。(你快乐吗?我很快乐……)
  2. Z型排序:给定一组乱序数,按照固定宽度(一行输出几个数)输出排序后的数,并且按照Z型输出,也就是一行升序一行降序这样交替。
  3. AVL树:给定树的前序遍历序列,判断是否是一颗AVL树。
  4. 朋友圈:给定人(顶点)和朋友关系(边),构成朋友圈(图)。再给定几组人,判断每组人里,在这组人组成的朋友圈中,朋友数最多的人。

总结:总体来说,题目不算很难,但是可能会卡一些关键的数据,所以考虑不够周到的话可能没法通过所有测试点。要说最难的应该是最后一题,倒也不是题目难,是这一题空间限制严格,而姥姥估计给了两个巨大的测试数据。我第一版用邻接矩阵存图超时了,再加上为了代码效率用了一些额外的空间,然后我把所有的额外的空间都抛弃了,还是超时。只能大改成邻接表,但是还是超时,而且只剩5分钟左右。我又咬牙,把邻接表里无向图多存的重复边去掉了,终于在最后一分钟通过了全部测试点。真实的不到最后一秒都不放弃,刺激刺激。但是再次说明我是用Java写的,至于用C++会不会好一点我不知道。还有就是,中途软件出了点问题,姥姥过来处理了一下,之前只是在bilibili上看过她的课、关注了她的微博,这次居然见到 活的 真人了啊啊啊。
成绩:当然是满分啦~软工好像一共18个AK。
经验:前面刷算法一直用的LeetCode,所以一开始很不适应用PTA刷题,总结经验如下:

  1. 甲级PAT是全英文题目,因此读题要更仔细,很多小的限制条件可能会在末尾。
  2. 建议边读题边在草稿纸上写下中文题目概要,挑重点简写即可。毕竟中文比英文更容易理解,后续做题免不了再读题,中文可以让你快速定位条件。
  3. 尽量使用C++,熟练使用库函数。
  4. 学会写高质量代码,注意时间和空间的限制。
  5. 学会自己编一些高质量的测试数据,特别是刷题跑不通某个测试点时,一定要学着自己测出bug,实在不行再去牛客网跑,牛客上会给出跑不通的数据。
面试

面试在25号,和机试中间隔了一整天,所以我计划利用这一整天准备面试。准备过程大概是,上午在各大网站搜集浙大软工的面试帖,以及少量其他学校保研面试帖,整理出曾经涉及过的面试问题,并根据简历整理一些可能的问题。下午及晚上,文字写出整理的面试问题的回答,并口头模拟回答。
面试地点在曹光彪大楼,但是学校里不止一个曹光彪楼,跑了三栋才找到……到了之后按顺序候场,一个人大约20分钟。面试的办公室里有5位老师,我给每位老师准备了一份材料。首先是英文面试,然后中文。
我的面试题

英文:(居然没让自我介绍)

  1. 介绍一下你的学校
  2. 介绍一下你做过的项目或研究
  3. 你有什么兴趣爱好

中文:

  1. 我看你好像不是我们专业的,你本科学过什么计算机的专业课吗(同南航提问,信管tcl…)
  2. 你做过什么项目
  3. 你在这个项目里承担的职责
  4. 我看简历里提到Mybatis,你对Mybatis框架的理解是什么样的
  5. 你觉得你专业课里学的最好的一门是什么
    答:C++、Java、数据结构这类编程科目。
  6. 你对C++的STL库熟悉吗
    答:不太熟悉,我刷算法一般用Java
  7. 你昨天机考成绩怎么样
    答:恩…满分。(然后老师突然兴奋?就考了我下面几个问题)
  8. 堆结构应用(比较复杂,用对话形式说明)
    老师:如果要随机动态存取最大的数用什么数据结构
    答:大顶堆
    老师:那存取最小的数呢?
    答:小顶堆
    老师:那么问题来了,存取中位数呢?
    答:(emmmm…思考了一会儿,老师又暗示了一下,反应过来)用两个堆,一个大顶堆、一个小顶堆
    老师:各自存什么内容
    答:(思考…)大顶堆里应该存小的那一半数据,小顶堆里应该存大的那一半
    老师:中位数应该在哪儿呢?
    答:在堆顶元素中。(老师提示了一下,跟数量是有关的)如果两个堆数量相等,就是两个堆顶元素的平均值,如果一边大比另一边大1个,就是大的那个堆的堆顶元素。
    老师:如果这时候有一个新数来了,应该存在哪边?
    答:与大顶堆堆顶元素相比,比它大就存在小顶堆,比它小或者相等就存在大顶堆
    老师:什么时候都要这样比吗,跟数量有没有关系
    答:哦是的,两个堆数量相等的时候这样比,如果不等,比如说大顶堆比小顶堆大1个,就跟大顶堆的堆顶元素比,如果比他大,就放进小顶堆里,如果比他小就放进大顶堆里,并且把大顶堆的堆顶元素取出并放进小顶堆里。
  9. 怎样在一个链表里判断是否有环,最多只能使用线性复杂度(答:使用快慢指针,每次快指针比慢指针多走一步,直到快指针又追到慢指针,说明存在环。回答完这个问题后,老师满意的笑了,顺带夸了一嘴,内心疯狂感激)
  10. 以后想做什么方向
  11. 你刚刚说的项目组有几个人,分工如何
    答:三个后端、两个前端
  12. 你们开发是如何协调的
    答:前后端定义好开发文档的接口等等
  13. 我个人情况相关的提问:
    老师:有没有选导师
    答:暂时还没有,因为浙大竞争太激烈了,我并不确定自己能不能通过。
    老师:除了浙大,你还通过了哪些学校
    答:南航明确给了offer、南大通过了夏令营但是没有明确给offer。
    老师:如果南大和浙大同时录取你,你选哪个
    答:这个问题我还没有想过,但是两个学校都非常不错,如果真的出现这样的情况,我可能会慎重考虑一下再做决定。
    老师:你家是哪边的
    答:江苏泰州。
    老师:(笑)那离南京挺近的哦
    答:确实是,但是距离只是其中一个考虑因素,浙大的机会还是很难得的。
  14. 好了,最后一个问题,你是否支持falungong
    答:反对。(我之前看经验贴都说这是浙大的经典问题,面试的时候一直暗戳戳期待,果然问了hhh)

面试完一定要记得签字,然后会要求交一份材料。考我算法的老师留了一份我的简历,当时觉得还挺开心的hhh。因为我这次抽签运气比较好,在上午组的中间,所以面完就去车站准备回去了。中午到了车站,突然接到老师的电话,询问是否愿意进实验室,并且给出不错的条件,让我的心开始有点动摇。
不得不夸,浙大的效率实在是太高了!25号面试完,当晚就出结果了,并且是明确给offer的(而且浙大的招生老师全程都在群里回答同学的问题,真的好感度UPUPUP)。



总结

结果就是24号收到南航通知,25号同时收到南大和浙大的通知。最终,我还是选择了浙大。原因有很多方面,比如浙大出色的招生工作、欣赏我的老师、不错的发展空间等等。所以说,计划赶不上变化,决定了就不要后悔,相信一切都是最好的安排。同时,最大的感受就是——努力一定会有回报的!最后这段时间压力真的很大,感谢身边所有给我支持和帮助的人,也希望这篇博客能给看到的人带来一点帮助ღ( ´・ᴗ・` )比心~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/718879
推荐阅读
相关标签
  

闽ICP备14008679号