【考研】2021年哈尔滨工业大学计算机考研「复试」经验贴


更新历史:

  • 2021年04月03日完成初稿
  • 2022年01月01日添加去年复试通知文件【计算学部2021年研究生复试及录取工作方案(含深圳、威海校区)】
  • 2022年03月21日添加去年复试通知文件【计算学部2022年研究生复试及录取工作方案(含深圳、威海校区)】

  声明:全国硕士研究生复试录取考试的内容是国家机密,不接受任何形式的转载、转发以及任何商业用途(署名-非商业性使用-禁止演绎-禁止转载,采用CC BY-NC-ND 4.0协议 & 禁止转载)。

1. 复试准备

  哈工大的复试总共350分,总成绩为初试 + 复试,因此复试的比重还是很大的。而且是三校区同时复试,统一划线,所以复试的学习是不可以放松的。

1.1 复试科目

  2021年哈工大的复试方案不是很明确,其涉及的复习内容是:

(1)线上面试主要考察内容(150 分)

  • 综合素质:考察考生思想政治素质、道德品质、人文素质、职业规划、身心健康、沟通表达能力、英语听说能力等;
  • 科创与实践能力:考察考生的科技实践与创新能力;

(2)专业综合测试主要考察内容(200 分)

  • 计算思维能力:考察学生分析设计能力、思维反应速度能力;
  • 问题求解能力:考察学生综合运用知识解决问题的能力;
  • 专业基础知识:考察计算机专业核心课程的基础知识。

  这和2020年的复试方案是一样的,但是实际上大家是不知道考什么的,一开始我以为是线下复试,因此就按照2019年的复试内容学习了一个月,主要内容有:

【2019 线下复试】

(1)机试(200分)

  • C语言程序设计,考查学生编程能力,占80分
  • 离散数学(集合论、图论以及近世代数),占30分
  • 数据库系统,占30分
  • 算法设计与分析,占30分
  • 逻辑思维能力,占30分

(2)笔试(10分)

  • 阅读英语文献,并回答问题,考察专业英语知识,占10分

(3)面试(140分)

  • 第一部分沟通能力面试,考察语言表达能力等
  • 第二部分科创与实践能力测试,考察项目、科技实践、创新能力
  • 第三部分问题求解能力测试,考察解决问题能力
  • 第四部分计算思维能力测试,考察专业相关及分析设计能力

  之后慢慢察觉可能是线上复试,后期就主要攻克2020年线上复试的内容,其主要内容是:

【2020 线上复试】

(1)面试(350分)

  • 英语对话,及中文沟通能力表达
  • C语言程序设计(2020年是3处改错、分析程序所使用的查找、排序算法 1
  • 计算思维能力(智力题)和离散数学
  • 本科期间的项目、竞赛经历以及计算机热点话题
  • 本科期间的科研实践经历

  但是2021年的复试又是出其不意,很多复习的内容没有考察(如离散数学),主要考察的内容有:

【2021 线上复试】

(1)面试(350分)

  • 英语对话,及中文沟通能力表达
  • C语言程序设计(2021年是12处填空)
  • 计算思维能力(智力题)/系统设计与分析题(由老师抽题,共两题)
  • 本科期间的科研实践经历

  上面总共有5轮题目,每轮9分钟。在上面的计算思维能力(智力题)/系统设计与分析题中是由老师随机抽题,很多同学有两道系统设计与分析(比如我),有些同学有两道计算思维能力(智力题),或是一种题型一道。

1.2 个人复试经验

  正如前面所说的一样,我复习的情况是:

时间 内容
复习时间
2021年1月5日 ~ 2月5日 复习线下复试内容
2021年2月15日 ~ 3月27日 复习线上复试内容
主要时间节点
2020年12月27日 初试结束
2021年2月27日 公布初试成绩
2021年3月12日 公布校线
2021年3月17日 公布复试及录取工作办法(确定线上复试)
2021年3月20日 公布复试及录取工作方案(含复试名单)
2021年3月25日 复试设备调试
2021年3月28日 复试

1.2.1 线下复试

  2021年1月5日 ~ 2月5日,自己复习了线下复试中机试的一些内容:

  • C语言程序设计
  • 离散数学(集合论、图论以及近世代数)
  • 数据库系统
  • 算法设计与分析
  • 逻辑思维能力

  这段时间自己主要学习了C语言、离散数学、数据库系统以及算法导论,具体内容见下面的线上复试,关于线上部分的机试内容,看下面的周小伦师兄的经验贴,这里就不多介绍了。

周小伦师兄_[全网最详细的哈工大计算机-机试经验贴|跨考|小白|均可放心食用] 2

1.2.2 线上复试(附复习资源)

  过完年之后的2021年2月15日 ~ 3月27日,自己就将重心放在了线上复试的内容上,自己根据2020年复试的情况,将线上复试的内容进行分类,就按照下面的学习内容进行复习:

  • C语言程序设计
    • 书籍:苏小红版《C语言程序设计》(第3版)3
    • 课程:MOOC课程《C语言程序设计精髓》4(但不建议看视频,可以做一些编程训练)
    • 编程训练:哈工大高级语言程序设计能力训练平台(需购买哈工大苏小红老师的C语言程序设计书籍才能有相应账号登录) 5
  • 离散数学 6
    • 书籍:王义和版《离散数学引论》7
    • 课程:哈工大集合论与图论课程视频(爱课程8、B站9、 MOOC上篇10下篇11)+ 北京大学《离散数学》近世代数视频12
    • 习题:哈工大集合论与图论慕课习题
  • 智力题学习 13
    • 可以参考一些公司面试题
  • 中英文对话14
    • 准备一些常见的英文问答、中文问题
  • 项目实践经历总结
    • 总结整理自己项目、竞赛、科研实践的计算机相关知识(如项目使用的算法、系统设计思路等)
  • 计算机热点相关知识
    • 总结一些关于人工智能、中国IT战略的计算机热点话题

  但是2021年的复试又是出其不意,主要考察的内容看看下面的复试流程。

2. 复试流程

2.1 复试流程介绍

2.2.1 整体介绍

  复试分上午、下午批次进行,一批若干组,一组5个同学。每组同学是流水线面试,一共5轮,同一时间内同一小组的不同同学在不同的轮次考试。大致流程是(考生编号x-y-z,A ~ E是面试的轮次和老师):

复试流程
第一批第一组 老师 第一批第二组 老师
1-1-1 A1+a1 1-2-1 A2+a2
1-1-2 B1+b1 1-2-2 B2+b2
1-1-3 C1+c1 1-2-3 C2+c2
1-1-4 D1+d1 1-2-4 D2+d2
1-1-5 E1+e1 1-2-5 E2+e2
第一批第一组 老师 第一批第二组 老师
1-1-1 E1+e1 1-2-1 E2+e2
1-1-2 A1+a1 1-2-2 A2+a2
1-1-3 B1+b1 1-2-3 B2+b2
1-1-4 C1+c1 1-2-4 C2+c2
1-1-5 D1+d1 1-2-5 D2+d2

  复试过程中学生不用动,老师会调整自己的座位,可以理解考生是一个产品,五个老师轮流安装工具(笑)。

  另外,在考试之前会进入候考室,在候考室老师会检查双机位情况、手机和电脑的音频情况身份信息(身份证、准考证、和相关家庭信息),检查时间大概25min,之后候考室的老师在考试正式开始前2min前在会议室私信告诉你的考试区会议室和密码。

2.2.1 个人复试流程

  我是早上第一批的同学,很早就收到了复试的通知,下面是复试的流程:

时间 内容
08:25 收到短信,进入候考室
08:30 ~ 08:55 验证身份信息和设备情况
08:58 老师私信告知考试区的账号和密码
09:05 正式开始考试
09:05 ~ 09:14 科目一(9min)
09:15 ~ 09:24 科目二(9min)
09:25 ~ 09:34 科目三(9min)
09:35 ~ 09:44 科目四(9min)
09:45 ~ 09:55 科目五(9min)
09:55 结束考试,考生退出会议室
9 min + 1 min 1min 是打分并移动座位的时间

2.2 复试具体内容

  哈尔滨工业大学在2020年和2021年的考试形式和考察方式是一致的,都在线上考察,同时考纲也都是下面的内容:
(1)线上面试

  • 综合素质:考察考生思想政治素质、道德品质、人文素质、职业规划、身心健康、沟通表达能力、英语通说能力;
  • 科创与实践能力:考察考生的科技实践和创新能力。

(2)专业综合测试

  • 计算思维能力:考察学生分析能力、思维反应速度;
  • 问题求解能力:考察学生综合运用知识求解问题的能力;
  • 专业基础知识:考察计算机专业核心课程的基础知识。

  2021年的复试内容和2020年的复试内容不完全一样,侧重点很不一样,2020年的复试考查学生的基础知识和综合素养,2021考查学生的实际动手能力和科研素质。

复试科目 2020年 2021年
综合素质 中英文对话 中英文对话
科创与实践能力 科研经历等 科研经历、项目竞赛
计算思维能力 智力题 + 离散数学 智力题(抽题)
问题求解能力 项目经历、竞赛等 系统设计与分析(抽题)
专业基础知识 C语言改错和算法分析 C语言填空 + 叙述程序思路

  上面题目都是老师随机抽题,其中考完试之后发现很多人抽到了 2 道系统设计与分析,也有不少同学抽到了 2 道智力题,也有很多同学是 1 道系统设计与分析和 1 道智力题,难度都还蛮大的。具体到每个流程的异同点下面会仔细介绍。

  下面按照考纲的顺序来介绍各轮的考试题目,我实际的考试题目顺序是:设计图书借阅管理系统 → C语言填空 → 设计排课系统 → 科创、项目经历 → 综合素质

2.2.1 综合素质

  主要考察学生的中英文沟通能力。2021年的问题有:

1.英文对话

  • What is your student number ?
  • Where do you come from ?
  • How many family members do you have?
  • Please describle your parents.

2.中文对话

  • 如果在和导师讨论过程中,导师否定了你的方案,你会怎么做?
    • 追问:如果不管怎么样,导师就是要否定这个方案,你会怎么做?
  • 请介绍一下当地的一个著名的建筑?
    • 我是南昌人,所以我介绍了滕王阁
  • 你为什么会选择计算机的专业读研究生?
  • 你有做过一些项目或者研究吗?请介绍一下你参加的项目。
    • 追问:你在团队中扮演什么样的角色?主要的工作是什么?
    • 再追问:你和团队的成员关系如何,相处起来怎么样?

【总结】

  1. 回答问题前最好组织一下语言,这样即可以拖延时间,也可以更好地表达出来。(在这个过程中老师会一直问,你要一直回答,直到9min,所以最好有短暂的思考时间)
  2. 在英文问题中,回答问题时可能需要扩展一下,因为老师问第一个问题时和我说:That’s all?听到这句话之后,我意识到第一个问题可能我听错了,或者老师除了问了student number之外,还问了其他东西,之后的问题我就都扩展了一些,而不是简单地说一句话;
  3. 在中文问题中,会针对你的问题继续提问,而且还涉及了项目的介绍,这一点可以看出2021年的复试问的层次会更深一些,而且看重科研和实践能力(之后的几轮更是如此),毕竟是需要淘汰人的。

2.2.2 科创、项目经历

  主要考察在本科期间有没有做过什么项目,有没有竞赛之类的,然后需要你自己叙述一下项目的主要内容,老师针对自己感兴趣的方向去讨论一些细节。

  我介绍了我本科做的项目:

  • 计算建模和计算机模拟仿真(发表过论文)
  • 基于Python的网络数据爬取与分析(课程项目)

【总结】

  1. 这一轮,我介绍了我本科做的一些项目,老师好像不太感兴趣,可能是我做的主要是理论工作,老师说他想听有关于软件、系统方面的项目,我说我没有做过,但是发了几篇SCI、EI论文,老师就问了一些论文的问题。然后老师又问使用过什么语言做过什么课程项目,我说使用过Python语言做过网络数据爬取和分析的项目,说完时间差不多就到了。
  2. 科创、项目经历可以挑选两个自己做过的可以讲出实际工作的项目,准备两个是怕老师对其中一个不敢兴趣。这部分自己需要先写一下自己的项目经历,然后自己可以将项目操作过程背下来,因为复试的时候还是比较有压力的,如果能背下来就会轻松一些。

2.2.3 设计图书借阅管理系统

  假如你在设计一个图书借阅管理系统,请你简单说明一下在系统设计中可能涉及的类、属性和方法。

【体会】

  1. 听完这道题目之后就懵了,我是第一批考生,老师这也太狠了吧,之前也没有复习这些东西呀,我也没有做过,只能凭着自己已有的知识去介绍一下,回答之后老师就说没有回答到点子上,不过老师很好就一直问我有没有做过类似的系统,我说没有(苦笑),然后我说我做理论的,发了挺多文章的,老师就问文章的级别,问完就差不多结束了。
  2. 这个阶段是老师自己抽题目的,可以抽系统设计和分析,也有智力题,可能我是第一批考生,所以老师不清楚情况,就问了一些老师可能觉得很简单的系统设计与分析题目(一定是这样的哈哈哈)

2.2.4 设计排课系统

  假如你在设计排课系统,需要考虑的因素有:学生、课程名、学时、课程人数、专业、教师授课时间、教室情况以及其他相关的因素,请你回答下面三个问题:

  1. 系统设计中需要哪些模块?模块的接口是什么?
  2. 在该设计中,核心的计算问题是什么?如何实现优化?
  3. 如何设计算法?这个算法的有什么优势?

【体会】

  1. 我听到这个题目的时候,老师整整说了1分钟的题目,我实在没记住问题,老师又说了一遍,然后我思考两分钟之后就回答了题目的前两问,回答之后老师没有说什么,就问了第三问(可能老师觉得我没记住有第三问),然后我思考了一下就简单说了一下算法的基本思想什么的。
  2. 是的,我抽到了两道系统设计题,我都没有准备,我哭了呜呜呜

2.2.5 C语言填空

  考察C语言知识,完成C语言填空并回答问题。

  老师用屏幕共享的方式共享题目,题目是一页代码,其中有12个空。C语言程序的功能是完成一篇文章的输入并在文章中查找相应单词。其中主函数首先是输入文章,并调用了2个子函数,最后返回查找的结果。第一个子函数是统计单词个数并返回,第二个子函数是在文章中查找相应的单词,统计其数量并记录其位置。需要回答以下两个问题:

  • 完成下面的C语言中的12个填空
  • 叙述程序思想和做题思路

【体会】

  1. 9min完成12个填空确实有点难,而且我自己是做完了6个空之后老师提醒还有4分钟,我最后做完了7、8个空就和老师说一下程序思想,然后回答前面的3个空老师就说时间到了,我那时就特别绝望,自己不应该磨磨蹭蹭的(无奈)
  2. 我看到的程序还是比较难的,我考前复习了很多有关结构体排序和查找的算法,而且以为只有3个改错,但是考试的时候考察了字符串算法,并且有12个填空,事实证明自己的代码还是写得不够多。这里的代码题我没有记住答案,大家可以尝试下面的练习题练习练习:
/* 考试时代码量在60行左右,一般是主函数加上1~2个子函数,然后代码思想很灵活,采用中文注释说明函数功能等等
   下面的代码是我平时练习改错的代码,代码比较直白,而且采用了英文注释,仅作为练习
*/
#include <stdio.h>
#include <string.h>
#define MAXSIZE 30
typedef struct student
/* student information */
{
    
    
    char name[10] ;
    int  score ;
}STUDENT ;
void Info_input(STUDENT stu[], int n) ;
void Bubble_sort(STUDENT stu[], int n) ;
int  Bin_search(STUDENT stu[], int n, char name[10]) ;

int main()
{
    
    
    int index, n;
    char name[10] ;
    STUDENT stu[MAXSIZE] ;
    printf("Please enter the number of student:") ;
    scanf("%d", &n) ;
    Info_input(stu, n) ;                     /* input student information */
	_____________________                    /* bubble sort               */
	printf("Please enter name searched: ") ;
	scanf("%s", name) ;                      /* input name                */
    index = _____________                    /* binary search             */
    if(___________)
    {
    
    
        printf("%s %-4d\n", ______________, stu[index].score) ;
    }
    else
    {
    
    
        printf("Not found!\n") ;
    }
    return 0 ;
}
void Info_input(STUDENT stu[], int n)
/* input student information */
{
    
    
    int i ;
    printf("Please enter student information:\n") ;
    for(i = 0; i < n; i++)
    {
    
    
        scanf(" %s", _________) ;
        scanf("%d", &stu[i].score) ;
    }
}

void Bubble_sort(STUDENT stu[], int n)
/* Bubble sort */
{
    
    
    int i, j, temp, flag ;                             /* flag of the swap in sort*/
    ________________
    for(i = 0; i < n-1; i++)                           /* compare n-1 times       */
    {
    
    
        flag = 0 ;
        for(j = n-1; j > i; j--)                       /* nth comparison          */
        {
    
    
            if(____________________________)           /* swap                    */
            {
    
    
                temp = stu[j].score ;
                strcpy(name, stu[j].name) ;
                stu[j].score = stu[j-1].score ;
                strcpy(stu[j].name, stu[j-1].name) ;
                stu[j-1].score = temp ;
                strcpy(stu[j-1].name, name) ;
                __________;
            }
        }
        if(flag == 0)                                   /* no swap means in order */
        {
    
    
            break ;
        }
    }
}

int Bin_search(STUDENT stu[], int n, char name[10])
/* binary search */
{
    
    
    int low = 0, __________, mid ;
    while(___________)
    {
    
    
        ___________________
        if(strcmp(stu[mid].name, name) == 0)     /* found            */
        {
    
    
            return mid ;
        }
        else if(strcmp(stu[mid].name, name) < 0) /* right subseqence */
        {
    
    
            low = mid + 1 ;
        }
        else                                     /* left subseqence  */
        {
    
    
            ______________
        }
    }
    return n ;
}

3. 个人体会

  虽然自己复习挺久了,但是最后结果不怎么好,幸亏初试分数够高。

  如果初试考完觉得自己差不多能进复试,可以提前准备一下复习科目。我自己是初试结束后一个星期后开始复习的,大概1月5号开始,然后复习到2月5日。这段时间还不知道是线上复试还是线下复试,当时自己认为可能是线下复试,因此是按照线下复试的内容进行学习的。之后因为过年就中断了学习,过完年之后感觉可能是线上复试,因此就开始准备线上复试的学习,大概是2月15日开始学习一直学到了3月28日复试,因此自己是学习了两个半月的时间,但实际的复习时间可以很长,也可以很短。

  在整个复习期间,主要时间花在了C语言程序设计、离散数学、数据库系统概论、智力题、和计算机专业的相关知识上面,但是因为线上复试的关系导致自己前期的一些复习内容没有考到,后期的复习也没有关注会考察系统设计与分析这方面的知识,归根结底还是因为自己没有完整的计算机知识框架,抽到两道系统设计题也真是“幸运”。

  复试的时候,自己不算是很紧张,可是第一轮的系统设计题却是杀了一个措手不及,自己也是硬着头皮回答,连同第三轮的系统设计与分析题目来看,今年由于需要淘汰挺多人的,所以在知识点的选择上也更加结合计算机专业,对于跨考的我来说确实不友好。第二轮的C语言填空需要很强的编程能力,相比于改错题,填空题是更难的,因为空越多对于理解代码而言是不利的,但这也提醒自己需要提高自己的编程能力和理解代码的水平。

  最后两轮的科研经历和中英文对话是在意料之中的,自己回答的一般(可能被前三轮搞蒙了),但自己每一轮都有尽力说出自己所知道的,我觉得这还挺不错的,对于不懂的问题还是可以说出自己浅显的理解,这样老师也有继续问下去的动力和空间。

4. 问答环节

Q:哈工大三个校区是一起面试的吗?录取规则是什么?
A:哈工大三个校区是一起划线(确定复试线和复试名单),同时也是一起复试的。复试的时候也是不知道你的名字,你报考的专业和校区的(会交简历,但不知道面试的老师会不会看)。关于哈工大录取规则是:

  • 首先所有人一起面试,得出成绩,三校区一起排名,然后根据总的招生名额划线(2021年三校区招收226人,因此你的总成绩在226及之前都是有学上的),确定复试合格线 ;
  • 其次,按照考生的第一志愿录取考生,如果一个专业录满了,但还有在合格线以上的学生,那么这些学生要接受调剂,比如:深圳学硕招收15人,但报考深圳学硕但在复试合格线上有20人,剩余的5名深圳学硕考生要调剂回本部(在哈尔滨)或者威海校区(在山东)

Q:如果不确定自己能不能进入复试怎么办?
A:初试过后,可以尝试估一下分数,如果不是太低(综合往年的分数线),预计有进复试的可能,那就可以复习,只要有机会还是得冲冲冲!

Q:对于跨考的学生,如何准备复试,特别是科研经历和项目、竞赛经历?
A:如果你是跨考的,在本科期间如果有一些计算机相关的经历(如数学建模竞赛、计算机选修课程),那么可以在这方面挖掘一些项目经历。如果什么都没有参加的话,可以讲一些自己专业相关的项目,或者自己专业和计算机靠边的项目(如计算机仿真等),实在不行可以去mooc去做一些小项目,然后总结一下。


  1. 【考研】C语言排序和查找算法总结 ↩︎

  2. 全网最详细的哈工大计算机-机试经验贴|跨考|小白|均可放心食用 ↩︎

  3. 苏小红, 王宇颖, 孙志岗. C语言程序设计.第3版[M]. 高等教育出版社, 2015. ↩︎

  4. MOOC_C语言程序设计精髓_苏小红 ↩︎

  5. 哈工大高级语言程序设计能力训练平台 ↩︎

  6. 【数学】离散数学引论学习笔记 ↩︎

  7. 王义和. 离散数学引论-第3版[M]. 哈尔滨工业大学出版社, 2007. ↩︎

  8. 爱课程_集合论与图论_姜守旭 ↩︎

  9. B站_集合论与图论_姜守旭 ↩︎

  10. MOOC_集合论与图论上_姜守旭 ↩︎

  11. MOOC_集合论与图论下_姜守旭 ↩︎

  12. B站_离散数学(全)_北京大学 ↩︎

  13. 【考研】计算机考研复试之智力题测试 ↩︎

  14. 【考研】考研复试之英语面试及沟通能力准备 ↩︎

猜你喜欢

转载自blog.csdn.net/Stu_YangPeng/article/details/114703203