Please enable Javascript to view the contents

计算机考研复试面试准备

 ·  ☕ 12 分钟  ·  ✍️ Calvin Haynes · 👀... 阅读

前言

综合面试在 20 分钟左右(部分学校会严格计时)面试的老师人数为 5 人以上,通常包含专业面试老师、英语面试老师、面试记录人员等。通常的顺序为英语面试->专业面试按教育部要求,所有考生面试将进行全程录像录音。参加面试时,考生可提供反映能力与水平的获奖证书、各类证明等相关材料。几乎所有的学校都存在着:面试不及格不予录取。

英语口试准备

英文自我介绍

Good morning / afternoon,dear professors:
I am super excited to be here today And thank you so much for this interview with you.

My name is 陈宏旭 or you can also call me Calvin. I am 20 years old. I come from SongYuan, a city with a long history of JiLin Province. I will graduate from JiLin University this year and Communication Engineering is my major.

During my college life, I love the parts of computer science about my major, so I take part in some competitions like UEDC (Undergraduate Electronics Design Contest) and RoboMaster. As to UEDC, I won the provincial award of UEDC in 2020. Regarding the RoboMaster, I was involved in the Motor control development of the Sentry Robot based on STM 32. As to my coursework, I received the scholarship during 2019~2020. I also have a personal blog website, which you can check on my resume.

In my opinion, XXX 学校 has highly qualified professors and strong academic environment. So if I am admitted here, I will try my best to study and research. That’s all, and Thanks for your attention.

口语问答:

口语 Tips:

Well, Actually, Let me see

  1. 表示非常同意某观点
    • That‘s exactly what I think
    • I have the same opinion with you on that issue
  2. 礼貌的不支持某观点:
    • Well,I am actually inclined to disagree with that
  3. 回避难题:
    • well,I think that‘s a very interesting question for me,but it can’t be answered in a few words. So I would like to say ~~~
  4. 核实自己是否正确理解了问题:
    • So am I having the right understanding of that question?I am afraid I got it wrong

考研话题:

1 - What is the reason for your postgraduate entrance examination?(你为什么考研)

  1. Well, the main reason is the interests about computer and coding,because in my childhood I just love making Lego, a kind of toy bricks, it’s a wonderful feeling when you finish it. And coding for some programs or robots makes me have the same feelings.
  2. secondly,I think the research and study at the postgraduate stage will enhance my ability to ask questions, analyze them, then solve them. These will carry out an elevation of thinking, which I think is a very valuable ability for the rest of my lives.
  3. Third, I would say even I try kinds of coding programs, I didn’t try to explore deeper inside about computer, so I really want to do some research with professors here and achieve something for next several years.

2 - What’s your study plan if you are accepted as a postgraduate student? (如果你被录取为研究生,在未来你有什么计划吗)

  1. I will make my study arrangement according to the semesters. The first semester is the best time to build the theory foundation, so I will devote all time to read at least 20 profrssional books , attend various kind of lectures or seminars, and assist my supervisor to do some detail works in the programme. Then I will make full use of the rest of semester to begin my research project and my thesis with the guidance of my supervisor.
  2. Plan was just what I imagined, maybe not reseanable and practical, but I always hold the belief that action speaks louder than words, so I will try my best to do everything.

3 - What would you do if you lost the chance to be a postgraduate student’? (如果你没有成为研究生,你会怎么办?)

Maybe I will choose to restart my journey to postgraduate exam. Because researching deeper about Computer is my long-term dream, difficulty and failure could not take my courage away. Though the preparation of last whole year seems very hard,I still enjoy it and I learn lots of knowledge about computer science I have never known before. So that’s it.

家庭家乡:

1 - Talk about your family.(谈谈你的家庭)

2 - Tell something about your hometown. (介绍家乡)

专业类问题:

1 - Tell me something about your university. What qualifications have you obtained?(谈谈你的本科大学,你在大学获得了哪些能力呢?)

OK. Well,I am going to graduate from JiLin University this year. It has a long history and was founded in 1946. And it enjoys a good reputation with excellent teaching and scientific research ability. During my college life,I have always tried my best to live up to my school motto of “求实创新,励志图强”. And I think I have obtained many qualities,such as diligence,modesty and solid learning skills.

2 - Why do you choose our major?

  1. Well,Firstly,Althouth my major is Communication Engineering,there are some courses about computer technology in my major. And these courses made me have much passion to do some codings and research about the deep layer of computer. When I am coding,I feel like doing Lego in my childhood,Lego is a kind of toy bricks,And I really love the feelings.(兴趣)
  2. Secondly,During My college life,I also participated in some competitions like UEDC ,RoboMaster. These competitions have improved my engineering practice ability and given me a deeper understanding of the theories in books.(校园实践经历)
  3. Finally, I still have many deficiencies in the computer field, but the computer major in this college has always been my yearning. I also know about the excellent faculty and academic environment of this college, so I very much hope to come to your college for further study and learn from the professors and might be successful in this field(但深度不足,希望来贵院继续深造,向老师学习)

中文面试准备

中文自我介绍

各位老师好:

我叫陈宏旭,今年 20 岁,是吉林大学通信工程学院通信工程专业的一名大四学生。很高兴今天能够来到这里参加贵校的复试,下面我向各位老师简单介绍一下我自己:

我为人真诚,踏实稳重,乐观开朗,在校期间,学习刻苦认真,对专业知识尤其是计算机技术方向的知识具有很强的探索欲,曾获得 2019 年度的二等奖学金。在学校的课业之外,我也积极参加了一些课外的实践活动和竞赛,曾经参加过 2020 年度的吉林省大学生电子设计大赛,并取得了省级奖项,参与了 RoboMaster 竞赛哨兵机器人的开发工作,具体技术栈为 STM 32,主要工作内容是机器人的联调

生活类问题

专业课问题

个人项目类

编程语言类(C、C++、Java)

谈一下 C 和 C++的区别?

  1. C 是面向过程的,C++ 是面向对象的。(其中面向过程就是指把一个问题拆分为解决的步骤,然后一步步的实现;而面向对象就是把问题抽象为类,再在类中创造出解决一类问题的解决方法)。
  2. 面向过程的优点就是性能强,缺点就是不易复用和扩展,更适合作为底层的编程方式,比如嵌入式编程。
  3. 面向对象的优点就是易于维护、复用和扩展,可以利用封装、继承、多态的特性设计出低耦合模块化的系统,缺点就是性能低于面向过程。

C 语言程序的三种基本结构是什么?

  1. 顺序结构:按照程序顺序执行。
  2. 分支结构:通过判断语句进行判断和选择分支方向。
  3. 循环结构:在循环体内重复执行一系列语句,通过循环退出的判断语句决定执行多少次循环。

谈一下 gcc 的编译过程?

  1. GCC 是 GNU 编译器的套件,是 Linux 系统最常用的一种编译器,支持多种编程语言。
  2. GCC 编译过程分为四个阶段:
    1. 预处理:处理 # 语句,包括头文件包含、宏替换、条件编译等;
    2. 编译:词法、语法、语义分析,检查无误后编译成汇编代码;
    3. 汇编:把汇编代码转换成二进制目标文件;
    4. 链接:二进制文件 + 链接库 + 启动代码链接成为可执行文件。

说一下什么是预编译?

预编译就是在编译之前对代码进行一些预处理,比如拷贝 #include 包含的头文件,替换 #define 定义的宏,条件编译 #if 等等。

说一下函数参数的值传递,地址传递,引用的区别?

  1. 值传递:会给形参分配内存,将实参值传递给形参,形参改变不影响实参,函数被调用结束后,形参被释放;
  2. 地址传递:形参是指针变量,将实参的地址传递给形参,可以在函数中改变实参的值,调用时为形参分配内存,调用结束后释放形参;
  3. 引用:不会为形参重新分配内存空间,形参只是实参的别名,形参改变只影响实参的值,调用结束后不释放形参。

关键字 static 的作用是什么?

  1. 就是当我们想要函数中的局部变量在函数调用结束后值仍然保留的时候,我们会用到 static 关键字,用 static 声
  2. 静态局部变量和全局变量的区别就在于作用域,静态局部变量只在它被声明的代码块中可被访问。

struct 和 class 的区别是什么?

  1. C 语言中的 struct 只能定义成员变量,不能定义成员函数;
  2. C++ 中的 struct 类似于 class,有构造函数、成员函数和其他特性,但是编程的时候还是应该保持用 struct 定义结构体,用 class 定义类的规范;
  3. C++ 中的 struct 中默认成员是公有的,而 class 中成员默认是私有的。

说一下 break 和 continue 的区别?

  1. break 语句结束整个循环,continue 语句结束本次循环
  2. continue 只能在循环语句中使用,而 break 可以在 switch 中使用

说一下 do…… while 和 while 的区别?

  1. do while 是循环一遍再进行循环终止条件的判断,while 则是先判断再循环
  2. do while 至少会执行一次循环,就是第一次循环

谈一下&&和&、||和|有什么区别?

  1. && 和 || 是逻辑运算符,& 和 | 是位运算符
  2. 逻辑运算符只是对两个操作数做逻辑关系判断,而位运算符则是对操作数进行移位等位运算

typedef 和 # define 的区别?

  1. typedef 的功能其实就是给已有的数据类型取别名,增强程序的可读性,在编译阶段生效,有类型检查的功能
  2. #define 则是宏定义,在预处理阶段,只是简单的替换,不进行任何检查

谈一下指针和数组的对比?

  1. 指针保存地址,数组保存数据
  2. 指针间接访问数据,数组直接访问数据
  3. 指针适合用于内存动态分配的数据结构,而数组适合用于存储固定大小的静态的数据结构。

谈一下 C 语言运算符的优先级关系?

逻辑非 > 算术运算符 > 关系运算符 > 逻辑与 > 逻辑或 > 赋值运算符

谈一下内存分配和释放?

  1. 内存分配其实分为动态内存分配和静态内存分配,静态内存分配通常是指在定义了变量或者数组以后,系统根据定义的数据类型和大小来自动分配内存单元,动态内存分配往往是在程序在实际的运行过程中,根据实际通过 malloc 函数需要来分配内存;
  2. 内存释放也分为动态内存的释放和静态内存的释放,比如局部变量在函数运行结束后系统就自动释放了相应的内存,这就属于静态内存的释放,而动态分配的内存则需要手动用 free 函数来释放。

解释一下形式参数

程序编译时,并不会给形式参数分配内存,只有函数调用的时候,形参才临时入栈占用内存,函数执行完毕就被释放了

数据结构类

说一下什么是时间复杂度?

  1. 时间复杂度是指执行算法需要的计算工作量,而且因为整个算法的执行时间和基本操作重复执行的次数成正比,所以一般就用算法中基本操作的次数作为算法时间复杂度的度量,基本操作其实就是最深层循环内的语句;
  2. 多数情况下我们考虑的都是最坏时间复杂度,就是指基本操作执行次数最多的一种情况;
  3. 一般用大 O 表示法表示时间复杂度,且只考虑数量级。

说一下你了解的一些算法的时间复杂度?

  1. 快速排序:O(nlogn)
  2. 冒泡排序:O(n^2)
  3. 插入排序:O(n^2)

谈一下快速排序?

操作系统类

机器学习类

说一下监督学习和非监督学习的区别?

监督学习需要标注过的带 lable 的数据集来训练机器,而非监督学习不需要

谈一下机器学习,深度学习,人工智能,强化学习,迁移学习和他们之间的关系?

  1. 人工智能:
    1. 人工智能它其实终极目标就是让计算机模拟人类的思维,模拟人类的智慧
    2. 然后图灵曾经写过一篇论文,提出了图灵测试这样一个概念,就是说如果说一个机器伪装成一个人类和一个真实的人类交流,如果这个人类无法辨别对方是机器还是人,那么这就是一种智能
  2. 机器学习:机器学习其实就是实现人工智能的一种方案,就是通过给计算机喂大量的数据,让计算机从中学习总结,从而形成认知
  3. 深度学习:深度学习是机器学习的一个分支,通常用的模型是 CNN,也就是卷积神经网络,它是模拟人类大脑神经元之间的连接,然后通过调参来改变连接的强弱,深度也是指的是这个神经网络的层数
  4. 强化学习:强化学习(Reinforcement learning,RL)讨论的问题是一个智能体(agent) 怎么在一个复杂不确定的 环境(environment) 里面去最大化的获得奖励,通过对周遭环境的状态的感知,进而决策下一个行为,目的是为了获得更大的奖励,这被称为在交互中学习,这样的学习方法就被称作强化学习
  5. 迁移学习:
    1. 迁移学习其实就是把已经训练好的模型(预训练模型)参数迁移到一个新的模型来帮助新模型训练
    2. 然后我们为什么要这么做呢?是因为大部分数据和任务都是存在相关性的,所以通过迁移学习可以把已经学习到的模型参数(其实可以理解为模型已经学到的知识)迁移到新的模型,从而优化新模型的学习效率而不用从 0 开始学习
    3. 然后我们如何做迁移学习呢?其实迁移学习的核心是找到已有知识和新知识之间的相似性,专业的说法就是找到源域和目标域的相似性

偏差和方差之间的权衡是什么?

  1. 偏差表示的是模型预测值和真实值之间的差距,往往是由于 ML 算法中假设不正确或模型过于简单而导致的
  2. 方差表示的是模型基于输入的变化程度,往往是指由于模型的复杂性而导致的错误,会导致模型对训练数据的变化过于敏感导致过拟合
  3. 总结来说就是,简单的模型是稳定的(方差小)但偏差很大,复杂的模型会过度拟合,但往往表现出了模型的真实性(偏差小),误差的最佳减少需要权衡方差和偏差,避免高方差和大偏差

什么是贝叶斯定理,我们为什么要用它?

  1. 贝叶斯定理是计算条件概率的一种原则,利用先验知识推导事件的后验概率,类比于人的经验指导人对某件事情的推断
  2. 在机器学习中,贝叶斯定理用于把模型拟合到训练数据集的概率框架中,往往用于分类预测建模问题

你都知道哪些深度学习框架呢?

  1. pytorch:最早是由现在的 Meta 公司创立的,主要的特点有以下两种:
    1. 类似 NumPy 的张量计算,可使用 GPU 加速
    2. 基于带自动微分系统的深度神经网络
  2. PaddlePaddle:百度飞桨
  3. TensorFlow:端到端的一种机器学习模型
  4. Caffe:目前已并入 PyTorch

深度学习框架降低了入门门槛,不需要上来就编写复杂的神经网络,可以自主选择模型然后训练得到参数,也可以在已有模型上增加自己的 layer,或顶端加入自己需要的分类器和优化算法,总的来说深度学习框架提供了一系列的模块和组件方便开发,但是如果需要新的算法就需要程序员自己去研究编写,然后利用框架中的函数接口去使用自定义的新算法。

什么是数据集?并说一些你了解的数据集

  1. 数据集就是特征值和目标值构成的集合
  2. 我了解到的机器学习公开数据集有 ImageNet(斯坦福李飞飞教授建立的),帕尔默企鹅数据集,MNIST(一种手写数字数据库)

特征工程包括什么?

  1. 特征提取:将任意数据转换为可用于机器学习的数字特征
  2. 特征预处理:归一化标准化,洗除异常样本,解决样本数据不平衡
  3. 特征降维:用更少维度特征替代更高维度的特征,同时保留有用的信息

什么是过拟合和欠拟合?

  1. 过拟合:训练的模型在训练集中表现非常好,但缺少泛化性,所以导致在测试集中表现不佳
  2. 欠拟合:训练的模型在训练集中表现很差

追问:如何处理过拟合和欠拟合呢?

  1. 过拟合可以通过增加训练数据,减少特征个数,增加 lamda 的值来解决
  2. 欠拟合可以通过增加特征个数,降低 Lamda 的值来解决

分类、回归、聚类、降维的代表性算法分别有什么?

  1. 分类:朴素贝叶斯,逻辑回归,决策树,KNN 算法,SVM 算法
  2. 回归:线性回归,逻辑回归,直线拟合
  3. 聚类:K-Means 算法
  4. 降维:主成分分析法

人工智能目前有哪些应用呢?

  1. 机器人:激光雷达自循迹 ROS 车
  2. 自然语言处理 NLP:ChatGPT 聊天机器人
  3. 计算机视觉&图像处理:无人驾驶,人脸识别
  4. 大数据分析:推荐系统

基本的卷积神经网络的类别包括哪些?

  1. 标准卷积
  2. 扩张卷积
  3. 转置卷积
  4. 可分离卷积

为什么 Dropout 有效?

  1. 减少模型复杂度,提高泛化能力
  2. 减少神经元之间复杂的共适应关系,不依存于固定的关系,类比于人在学习的过程中不能钻牛角尖,需要时不时的跳出某个网络然后学习新的信息
  3. 从达尔文进化论的角度,从长远来看不能搞基因垄断,应该保证基因的多样性,让基因随机组合,使自然界生态环境更加健壮,那么 DropOut 也是同理

你知道哪些典型的优化算法呢?

  1. 遗传算法
  2. 模拟退火算法
  3. 蚊群算法
  4. 粒子群算法

谈一准确率谈机器学习模型中常见的评价指标?

  1. 分类:精确率、准确率、召回率、PRC 等
  2. 回归:RMSE、MSE、MAE
  3. 聚类:兰德指数、互信息、轮廓系数

batch 大小对训练的影响?

什么是偏倚(bias)、方差(variable)均衡?

生成模型和辨别模型有什么区别?

谈一下 GAN(对抗生成网络)?

-------他日江湖相逢 再当杯酒言欢-------

Calvin Haynes
作者: Calvin Haynes ❉
Life is a journey, not a destination.


目录