首页 > 其他分享 >考研模拟面试-题目【攻略】

考研模拟面试-题目【攻略】

时间:2024-03-15 14:30:51浏览次数:27  
标签:提示 int ht 面试 算法 攻略 printf data 考研

考研模拟面试-题目【攻略】

前言

2023-10-19 12:00:57

以下内容源自《考研模拟面试-答案》
仅供学习交流使用

版权

禁止其他平台发布时删除以下此话
本文首次发布于CSDN平台
作者是CSDN@日星月云
博客主页是https://jsss-1.blog.csdn.net
禁止其他平台发布时删除以上此话

推荐

如果简历的话,看一下简历

以下题目都是本人亲自想出来的

如果你能信手拈来,那你绝对没有问题的。

考研模拟面试-题目

前面的问题

请简单的自我介绍一下

你的家乡是哪?(请用英文介绍一下你的家乡)

本科专业是什么?(如果有,你为什么转专业?
你是如何学习你的专业的?(考查学习方法)

遇到问题,你通常是怎么解决的?(考查解决困难的方法)
自己解决不了怎么办?查资料,问别人?
建议:3小时期限解决不了,就问其他人。

通用问题

你学过什么编程语言?
你认为他们之间的区别是什么?
如果提到了面向对象:
可问:你是怎么理解面向对象的
提示:特点或者其他理解都行

你本科课程的专业课是什么?
你认为你学的最好的一门课程是什么?

专业题

根据他的简历和问题的回答,
问其中一个或几个

数据结构

你学过什么数据结构

栈和队列的区别

字符串的匹配算法
提示:BP算法和KMP算法
跳转:next手写题

树的表示法
提示:双亲表示法,孩子表示法,兄弟孩子表示法

树的遍历算法
提示:前序,中序,后序

问给定哪些就可以确定二叉树?
跳转:手写题

二叉树和森林的转换

哈夫曼树的创建算法
跳转:手写题

图的存储算法:
提示:邻接矩阵和邻接表
区别:稀疏图和稠密图

最短路径的算法
提示:Dijkstra和Floyd

最小生成树的生成算法
提示:Prim和Kruskal
区别:稀疏图和稠密图

拓扑排序算法
提示:找到入度为0的点入栈,
如果栈不为空,从栈中弹出,并删除他所对应的边,如果入度变为0就入栈
判断:栈是否为空和结点是否全部遍历

有哪些查找算法
提示:顺序,折半,hash
跳转:手写题

有哪些稳定的排序算法
提示:冒泡、插入、归并、基数

冒泡排序的优化
提示:没有交换就返回

快速排序的过程和特点,时间复杂度:O(nlog(n))
特点:第n趟排序至少有n个数到其最终位置上
跳转:手写题

计算机网络

计算机网络有哪几层?
各层的功能和协议

IP地址的分类
为什么出现无分类的
如果提到了IPv4的地址不够用,
可问:除了无分类还有哪些技术解决不够用?
提示:IPv6
课文:IPv6的地址大小是IPv4的多少倍?
提示:128/32=4倍
跳转:手写题

UDP和TCP的区别?

TCP的三握四挥

TCP如何保证可靠性

DNS的过程

Http的优化

Http和Https的区别

操作系统

有哪些进程调度算法
跳转手写题

你对虚拟内存的理解
有哪些页面置换算法
跳转手写题

有哪些磁盘调度算法

数据库

left join和right join的区别

数据库的三大范式
有没有需要违反范式的设计

数据库事务及其特性

网络安全

对称加密和非对称加密算法的区别
有哪些算法

手写题

数据结构

前序和中序给出后序
前序遍历A-B-D-F-G-H-I-E-C
中序遍历F-D-H-G-I-B-E-A-C
后序遍历F-H-I-G-D-E-B-C-A
前序(根左右),中序(左根右),后序(左右根)

已知一颗二叉树的先序遍历结果ABDGCEF,则其可能的后序遍历结果为()。
A GDBEFCA
B DGBAECF
C BGECFDA
D BAGDECF

字符串“abaabcabc”的next值为()

Hello World的哈夫曼编码

哈希表的平均查找长度

10 24 32 17 31 30 46 47 40 63 49
哈希表:0~17
哈希函数:n%16
哈希冲突:index=i+1
平均查找长度AVL

假设一个数组采用快速排序,则下面的选项中,不可能是第4趟排序结果的是
A 5,2,4,9,10,12,14
B 14,11,9,10,6,4,2
C 2,4,11,13,10,14,18
D 6,8,10,12,14,2,4

操作系统

P1,P2,P3,P4四个进程到达时间和运行时间如下所示,则使用FCFS调度算法则平均周转时间是()

进程到达时间运行时间
P107
P224
P341
P454

总共有70,先分配20,再分配35,回收20,在分配13,再分配11,采用最佳适应算法,最大的空闲区容量是多少

计算机网络

假设某网络块192.168.112.0中存在3台主机 A 、 B 、 C 。其中主机 A 的 IP 地址为192.168.112.40,主机 B 的 IP 地址为192.168.112.72,主机 C 的 IP 地址为192.168.112.100,如果主机 A 、 B 、 C 分别属于不同的网段,且 A 、 B 、 C 共同的子网码是255.255.255.224。则下列可能与主机 A 属于同一网段的 IP 地址有哪些(米哈游 2023/08/13)
A 192.168.112.32
B 192.168.112.36
C 192.168.112.40
D 192.168.112.60

当前的cwnd=8,下一个RTT之后可能会是多少

代码题

用你熟悉的语言实现?(最好是C语言)

基础代码题

请用链表实现一个栈
提示:实现入栈、出栈、取栈顶元素

#include<stdio.h>
#include<stdlib.h> 
#define FALSE 0
#define TRUE 1

//链栈的C语言定义如下。
typedef int DataType;
typedef struct Stacknode{
	DataType data;
	struct Stacknode * next;
}slStacktype;

// 初始化
slStacktype* Init(){
	slStacktype *p;
	if((p=(slStacktype * )malloc(sizeof( slStacktype)))==NULL) 
	 	return NULL;
	return p;
} 

//(1)入栈操作
//将元素x压入链栈top中
//要求:成功返回TRUE 失败返回FALSE 
int PushLstack(slStacktype * top, DataType x){	

}

//(2)出栈操作
//从链栈top中删除栈顶元素
//要求:成功返回元素 失败返回-1 
DataType PopLstack(slStacktype * top){

}

//取栈顶元素
//要求:成功返回元素 失败返回-1 
DataType GetLsPop(slStacktype * top){

}

//测试 
int main(){
	slStacktype *sl=Init();
	
	int x=1;
	PushLstack(sl,x);
	
	int y=GetLsPop(sl);
	printf("%d\n",y);//1 
	
	int z=PopLstack(sl);
	printf("%d\n",z);//1
	
}

请用数组实现一个循环队列
提示:实现入队、出队、判断队空

补充:
解决假溢出问题的三个方法
来自数据结构算法习题三的综合体中的7 8

  1. 少用一个元素空间:(rear+1)%MAXSIZE==front
  2. 设置队尾元素位置rear和队中元素的个数quelen
  3. 设置标志位tag,区别队满队空
#include<stdio.h>
#include<stdlib.h> 
#define FALSE 0
#define TRUE 1


#define MAXSIZE 10
//下面的循环以列及操作依据少用个元素空间来实现
//循环队列的类型定义及基本运算如下。
typedef int ElemType;
typedef struct{	
	ElemType elem [MAXSIZE];//队列的存储区
	//队头队尾指针
	int front, rear;	
}CSeQueue;//循环队列


//(1)置空队
CSeQueue * IniseQueue(){
	CSeQueue * q=(CSeQueue *)malloc(sizeof(CSeQueue));
	q->front=q->rear=MAXSIZE-1;
	return q;
}

//(2)入队
//要求:入队失败返回 FALSE 成功返回 TRUE
int InSeQueue( CSeQueue * q,ElemType x){

}

//(3)出队
//要求:出队失败返回 FALSE 成功返回 TRUE
int OutSeQueue( CSeQueue *q , ElemType *x){

}

//(4) 判断队空
//要求:队非空返回 FALSE 空返回 TRUE
int EmptySeQueue(CSeQueue *q){

} 

int main(){
	CSeQueue *cs=IniseQueue();
	
	int x=1;
	InSeQueue(cs,x);
	printf("%d\n",EmptySeQueue(cs));//0
	
	int x0;
	OutSeQueue(cs,&x0);
	printf("%d\n",x0);//1
	
	printf("%d\n",EmptySeQueue(cs));//1
	
}

实现一个Hash表
提示:除留余数法+开放地址法
可问:平均查找长度

提示:编写[算法8-12]哈希表的查找HashSearch

#include<stdio.h>
#include<stdlib.h>
#define HASHSIZE 11
#define INIT -1
typedef int otherdata; 
typedef struct{
	int key;
	otherdata other;
}Datatype;


// [算法8-10]采用除留余数法构造哈希函数
int HashFunc(int key){
	return key%HASHSIZE;
}
//[算法8-11]采用线性探测再散列处理冲突
int Collision(int di){
	return(di+1)%HASHSIZE;
}
//[算法8-12]哈希表的查找
int HashSearch(Hashtable ht, Datatype x){

}

//[算法8-13]  哈希表的插入
int HashInsert( Hashtable ht,Datatype x)  {
	
	int address;
	address=HashSearch(ht,x);  
	if(address>=0)return 0;
	int times=1;
	address= HashFunc(x.key);//计算散列地址
	while(ht[address].data.key!=INIT){
		address=Collision(address);//没找到,处理冲突
		times++;
	}
		
	ht[address].data=x;
	ht[address].times=times;
	return 1;
}
//[算法8-14]哈希表的创建

void Createht(Hashtable ht, Datatype L[],int n){
	int i;
	for(i=0;i<HASHSIZE;i++){
		ht[i].data.key=INIT;
		ht[i].times=0;
	}
	
	for(i=0;i<n;i++)
		HashInsert(ht,L[i]);

}



//输出
void output(Hashtable ht){
	printf("输出散列表\n") ; 
	int i;
	printf("散列地址 关键字值 比较次数\n"); 
	for(i=0;i<HASHSIZE;i++){
		printf("%8d %8d %8d\n",i,ht[i].data.key,ht[i].times);
	}
} 
void CreateData(Datatype L[],int data[],int n){
	int i;
	for(i=0;i<n;i++){
		L[i].key=data[i];
	}
} 
void printData(Datatype L[],int n){
	int i;
	for(i=0;i<n;i++){
		printf("%d ",L[i].key);
	}
}
// 19,01,23,14,55,68,11,82,36
int main(){
	Hashtable ht;
	Datatype L[9]={0};
	int data[9]={19,1,23,14,55,68,11,82,36};
	CreateData(L,data,9);
	printData(L,9); 

	Createht(ht,L,9);
	output(ht);
	return 0;
}

其他代码题

回文或括号匹配
实现计算器:操作数栈和操作符栈
实现KMP算法

二叉树的遍历算法(非递归)
实现哈夫曼树

实现图的遍历
实现拓扑排序
实现最短路径

实现折半查找
实现快速排序

后面的问题

你认为你最有荣誉感或成就感的一件事?
你对自己的评价

对你最有帮助的人
你最敬佩的老师或同学,敬佩的点是什么
如果是班干部,可问:你认为怎么做好一个班干部?

你为什么选择我们学校?
你对研究生生活的期待是什么样的?

补充题目

你有什么反问我的吗?

你有什么其他问题想问后面的同学吗?
给我的题库做补充。

最后

我们都有光明的未来

祝大家考研上岸
祝大家工作顺利
祝大家得偿所愿
祝大家如愿以偿
点赞收藏关注哦

标签:提示,int,ht,面试,算法,攻略,printf,data,考研
From: https://blog.csdn.net/qq_51625007/article/details/133924194

相关文章

  • 安卓Java面试题 171- 180
    171.简述实现Service不被杀死常驻内存的方式有哪些?(1):如果是安卓自身机制因为系统资源不足的时候杀死你的Service,那么一般情况下会在一段时间之后系统会重启刚刚被杀死的Service那么此时你该做的事就是怎么恢复Service被杀之前app的一些状态了,那么该怎么恢复呢?这里用......
  • JVM工作原理与实战(四十三):JVM常见面试题目
    专栏导航JVM工作原理与实战RabbitMQ入门指南从零开始了解大数据目录专栏导航前言一、JVM常见面试题目1.什么是类加载器,有哪些常见的类加载器?2.什么是双亲委派机制,以及如何打破双亲委派机制?3.如何判断堆上的对象没有被引用?4.JVM中都有哪些引用类型?5.ThreadLoca......
  • 3月14日第一次面试记录(安全实习生)
    3月14日第一次面试记录(安全实习生)线上面试首先调试设备,保证通话质量。经历和经验自我介绍(没有提前准备,回答的很蒙)谈一谈你在护网中做了些什么?永恒之蓝漏洞原理,怎样防御log4g漏洞怎么修复linux对linux了解吗?查看内存操作是什么?怎样部署一个jdk?平时用linu......
  • 一张图搞清楚wait、sleep、join、yield四者区别,面试官直接被征服!
    写在开头在线程的生命周期中,不同状态之间切换时,可以通过调用sleep()、wait()、join()、yield()等方法进行线程状态控制,针对这一部分知识点,面试官们也会做做文章,比如问你这些方法的作用以及之间的区别。那么今天我们就一起来总结一下这几个方法的作用及区别,先画一个思维导图梳理一......
  • 【前端面试题】:CSS篇
    1.详细说明CSS3新特性?选择器:CSS3提供了更多类型的选择器,包括属性选择器、伪类选择器、伪元素选择器和多重选择器等,使得开发者能够更精准地定位和操作页面元素。盒模型:CSS3中的盒模型得到了扩展,引入了新的box-sizing属性,使得开发者能够更灵活地控制元素的尺寸和布局......
  • 【Java面试题-基础知识02】Java抽象类和接口六连问?
    1、抽象类和接口分别是什么?抽象类是一种类,可以包含抽象方法和非抽象方法,抽象方法是没有具体实现的方法,需要在子类中被具体实现。接口是一种完全抽象的类,其中的所有方法都是抽象方法,没有方法体,它只是定义了一组方法的契约。2、接口中一定不可以有实现方法吗?不一定,Java8引入......
  • 2024 java面试题(持续更新)
    目录JAVA初级请简述你对MVC模式的理解Spring Bean的生命周期可以分为以下几步:Spring自动装配bean有哪些方式?说一下类的加载过程?在使用HashMap的时候,用String做key有什么好处?HashMap、LinkedHashMap、TreeMap的区别?this与super之间有什么区别?乐观锁和......
  • 【考研学子必看 ★2024考研国家线及调剂策略(1)】
    -----------------------------------------------------------------------------------------------------考研复试科研背景提升班教你快速深入了解掌握考研复试面试中的常见问题以及注意事项,系统的教你如何在短期内快速提升自己的专业知识水平和编程以及英语文献阅读英......
  • webpack面试1
    一、谈谈对webpack的认识webpack是一个模块打包工具,它能够很好地管理与打包Web开发中所用到的HTML、JS、CSS以及各种静态文件(图片、字体等),让开发过程更加高效。对于不同类型的资源,webpack有对应的模块加载器(loader)来处理。webpack会分析模块间的依赖关系,最后输出优化且合并后的......
  • 力扣大厂热门面试算法题 27-29
            27.移除元素,28.找出字符串中第一个匹配项的下标,29.两数相除,每题做详细思路梳理,配套Python&Java双语代码,2024.03.14 可通过leetcode所有测试用例。目录27.移除元素解题思路完整代码PythonJava28.找出字符串中第一个匹配项的下标解题思路暴力匹......