【模拟面试】计算机考研复试集训(第十二天)
文章目录
- 前言
- 一、专业面试
- 1、指针和引用的区别
- 2、IPV6 和 IPV4 的区别
- 3、怎么从外存中取一个数
- 4、什么是过拟合,什么是欠拟合
- 5、过去几年里,你认为你的专业领域最重要的变化是什么?
- 6、有没有感兴趣的研究方向?
- 二、英文口语
- 1、What do you think are the necessary qualities that one should have?
- 2、Do you have any unforgettable experiences?
- 三、算法上机
- 1、最高成绩
- 2、比赛得分
前言
今天是模拟面试系列第十二天,为大家精心准备了 4 道专业课面试题,2 道综合面试题,2 道英语口语题,2 道算法上机题。
涵盖复试中常见的考察点,助你从容应对考官提问!
一、专业面试
1、指针和引用的区别
指针是一个变量,其值为另一个变量的地址,而引用则是某个变量的别名。
指针可以重新指向不同的地址,而引用一旦绑定到一个对象后就不能再改变。
此外,使用指针访问数据需要解引用操作符,而引用可以直接访问。
2、IPV6 和 IPV4 的区别
IPV4 使用 32 位地址,支持约 43 亿个地址,而 IPV6 使用 128 位地址,提供了几乎无限的地址空间。
IPV6 简化了头部格式,并提高了安全性,因为它要求支持 IPsec。
此外,IPV6 引入了邻居发现协议代替 ARP 和 ICMP 路由器发现,增强了网络效率和性能。
3、怎么从外存中取一个数
从外存(如硬盘或 SSD)中读取一个数通常涉及几个步骤:
- 首先通过操作系统提供的接口打开文件。
- 然后定位到包含所需数字的位置。
- 接着读取该位置的数据到内存中。
- 最后将读入的数据转换成适当的数值格式进行处理。
4、什么是过拟合,什么是欠拟合
过拟合是指模型在训练数据上学习得太好,以至于把数据中的噪声也当作模式学到了,导致在新数据上的表现不佳;
欠拟合则相反,指的是模型未能充分学习训练数据中的模式,导致在训练集和测试集上的表现都不佳。
理想的模型应该是在训练集和未见过的测试集上都有良好的表现。
5、过去几年里,你认为你的专业领域最重要的变化是什么?
过去几年最重要的变化:
AI大模型的爆发:从 GPT 到多模态模型(如DALL-E、Stable Diffusion),推动了生成式 AI 的广泛应用。
算力与工具的民主化:开源框架(如PyTorch、Hugging Face)和云服务降低了 AI 开发门槛。
伦理与安全的重视:AI 偏见、隐私保护(如联邦学习、差分隐私)成为研究热点。
6、有没有感兴趣的研究方向?
可持续AI:开发低能耗、高效率的模型,减少“AI碳足迹”。
AI与量子计算结合:探索量子计算加速机器学习的可能性。
人机协作增强:让AI更自然地辅助人类决策(如医疗诊断、复杂问题解决)。
二、英文口语
1、What do you think are the necessary qualities that one should have?
你认为一个人应该具备哪些必备素质?
I believe the necessary qualities include resilience, adaptability, and a strong work ethic. Resilience helps overcome challenges, adaptability allows one to thrive in changing environments, and a strong work ethic ensures consistent effort toward goals. Additionally, integrity and teamwork are crucial for building trust and achieving success collaboratively.
我认为必要的品质包括韧性、适应能力和强烈的职业道德。韧性帮助克服挑战,适应能力让人在不断变化的环境中茁壮成长,而强烈的职业道德确保为目标持续努力。此外,诚信和团队合作对于建立信任和共同取得成功至关重要。
2、Do you have any unforgettable experiences?
你有什么难忘的经历吗?
One unforgettable experience was leading a team project during my undergraduate studies. Despite facing tight deadlines and technical challenges, we collaborated effectively and delivered a successful outcome. This experience taught me the value of teamwork, perseverance, and problem-solving under pressure.
一次难忘的经历是在本科期间领导一个团队项目。尽管面临紧迫的截止日期和技术挑战,我们有效合作并取得了成功。这次经历让我学到了团队合作、坚持不懈和在压力下解决问题的价值。
三、算法上机
1、最高成绩
编写程序:N 名学生的数据存入结构体数组 s 中。
程序功能:把分数最高的学生数据放在 b 所指的数组中并输出。
定义函数 int fun(STREC *a, STREC *b)
。
函数功能:函数返回分数最高学生的人数,并把分数最高的学生数据存入数组 b 中。
提示:分数最高的学生可能不止一个。
代码实现
#include <bits/stdc++.h>
using namespace std;
typedef struct STREC {
char id[20];
float score;
}Stu;
int cnt = 0; // 记录b数组中的人数
int func(Stu s[], Stu b[], int n) {
float max = s[0].score;
for (int i = 0; i < n; i++) {
if (max < s[i].score)
max = s[i].score;
}
for (int i = 0; i < n; i++) {
if (s[i].score == max)
b[cnt ++] = s[i];
}
return max;
}
int main() {
int n;
scanf("%d", &n);
Stu st[n];
Stu b[n];
for (int i = 0; i < n; i++) {
scanf("%s %f", &st[i].id, &st[i].score);
}
int ret = func(st, b, n);
/*
for (int i = 0; i < n; i++) {
printf("%s %.2f\n", st[i].id, st[i].score);
}
cout << endl;
*/
// 打印b数组
printf("最高分为: %d\n", ret);
for (int i = 0; i < cnt; i++) {
printf("%s %.2f\n", b[i].id, b[i].score);
}
return 0;
}
2、比赛得分
演讲比赛,有 N 位评委参与打分,为保证公平,要求对 N 位评委的打分去掉一个最高分和一个最低分后的平均分作为该选手的最终得分。
编写程序计算每位选手的得分,在 main 函数中实现从键盘输入 N 位评委所给的分数和输出选手的最终得分(要求输出保留两小数)。
double fun(double*p, int n)
函数实现计算并返回该名选手的最终得分。
输出样例如下:
N=10
输入:8 9 10 8 9 7 9 7 10 6
输出:8.38
代码实现
#include <bits/stdc++.h>
using namespace std;
double func(double arr[], int n) {
double min = arr[0];
double max = arr[0];
double sum = 0;
for (int i = 0; i < n; i++) {
sum += arr[i];
if (max < arr[i])
max = arr[i];
if (min > arr[i]);
min = arr[i];
}
return (sum - min - max) / (n - 2);
}
int main() {
int n;
scanf("%d", &n);
double arr[n];
for (int i = 0; i < n; i++)
scanf("%lf", &arr[i]);
float avg = func(arr, n);
printf("%.2f\n", avg);
return 0;
}