先放一个草稿,慢慢补充
计算机基础面试百问
C/C++语言程序设计
语言整体认识
- C和C++的区别
- C++多态是什么,有什么优点
- 继承和组合
- C语言选择题,判断哪个是注释符
- 分析一下UML和C++的区别
- c语言中编译(控制可能是别的词)是用来干什么的
- 编译的含义
- C语言基本单元是什么
- 问了c/cpp的一些关键字 好像有extern inline 还有几个我没听清楚- -然后动态链接和静态链接对了还有个dll文件是干嘛的
- 字典的操作什么(python?)
- C语言里面main函数有什么参数?分别有什么作用?
- C语言怎么统计一个函数被调用次数?
变量与运算
解释下局部变量和全局变量,与作用域的关系
- C语言中局部变量以及其存储位置
- 局部变量属于什么区
位运算符的优先级
&&、&、||、|四个运算符哪个优先级最低?
不用额外空间实现两个变量值互换
a=3,a+=a-=a*a =-12
int x = 2; x » 2 / x » 1 = ?
int b=2; 求(b»2)/(b»1)
int a = 511, *b = &a; printf("%d", *b);
a 不确定 b a的地址 c 512 d 511
流程控制
- for(i=2;i==0) 循环几遍
- if-else怎么匹配的
数组、指针、函数
判断数组定义那个错误
二维数组查第二行第三列
char str[10]=“China”,数组有几个元素
传值和引用的区别
- C++中的值传递和引用传递的区别,在汇编语言上是相同的吗?
函数调用过程,传地址为什么实参会发生改变;还有哪些变量是可变的,哪些不可变,这些对编程有什么作用
讲一讲指针和引用的区别
- 之后又问那在作为函数形参的时候,两者有什么区别呢?
a=520;
*p=&a;
问print("%d",*p)输出什么
char s[]= ‘China’;问在内存中占几个字节
int n,*p=&n,**q=(这里不记得了);问给n初始化应该怎么办。
C与内存分配
- 同学,你对C语言的内存分配有了解吗?C语言的内存分配划分为哪些区间?
- 答:嗯,好。那个C语言的内存划分为堆区、栈区、全局区、常量区、代码区。他们的区别是:。。。
- 问:嗯,那假设有一个这样的函数调用……..,请问这样的话会涉及到那些区块的使用呢?
- 答:自信的回答……..(直到复试结束,才琢磨出来,答对了一半,老师在这道题里挖了个坑给我跳)
- 内存分配结构有哪几个区,static变量在什么区
- 我写的十行代码只有1k,为啥编译之后目标文件有几百k
- 静态区和栈区是怎么交流的
- c语言内存管理(堆区栈区什么的)
- c语言的内存相关操作处理,尤其是缓冲区异常操作处理
结构体(union、enum
)、C++面向对象
- struct 和class区别联系
- c的union和struct的区别
- C++中的代码复用机制?
- 我回答了多态(重写和重载),
- 老师说还有吗,我想了想说还有继承,子类继承父类就是复用父类中的成员。
- 老师说还有一种,在一个类中引用其他类做成员变量。
- 面向对象角度,java和c的区别 (看了简历或本科成绩单特别提问的)
- java中string是否可继承?
- JAVA是怎么分配内存的,跟c/c++有什么不同
- JAVA的垃圾回收机制
- 面向对象的5大特性?
- 继承什么的
- 封装指的是什么?
- 动态多态的三个条件是什么?
文件、异常
- c语言异常的关键字
- 编程实现文件的读写过程
- (牛客上可以找到原题):a+打开文件
数据结构与算法
整体认识
- n*n的时间复杂度
- 点类型的数据结构?
- 滑动窗口是什么样的?用数据结构怎么描述或者实现
- 数据结构的逻辑结构有哪些
- 两个N比特数相乘时间复杂度,我答的O(n²),让我优化,大概10s左右没答出来,就下一个问题了
线性结构
- 线性表的顺序结构是什么存储方式–顺序存储
- 说2种对线性表进行操作,其时间复杂度为O(1)的情况
- 链表和顺序表
- 如何删除链表节点p的后一个元素 p->next = p->next->next;
- 如何快速找到一个单链表的三分之一处?
- 说说双向链表是怎么删除结点的(可以用纸张对着草稿和老师说)
- 栈
- 递归函数的优缺点
- 串,模式匹配
- KMP算法相关,为何相比常规会有优化
树型结构
- 树的性质相关
- 设计一种数据结构以及相关的操作来找出树叶子结点的个数
- k层的满二叉树的最后一层有多少叶子结点
- 知道二叉树吗?二叉树里面有多少个空指针?有什么方法可以加快二叉树的查询(稍微提示了一下线索二叉树)?
- 怎么统计二叉树有几个结点
- 遍历
- 树的后序遍历相当于二叉树的__序遍历
- 树的深度优先遍历和广度优先遍历分别用了什么数据结构(栈,队列)
- 然后问我为什么要用栈跟队列
- 树的应用
- 哈夫曼树、哈夫曼编码的原理及其应用
- 什么树是哈夫曼树
- 为什么哈夫曼树权值最小,属于什么算法
图型结构
整体认识
- 怎么判断有向图有没有回路
图的存储结构是什么
图的存储方式有哪些?邻接矩阵和邻接表分别用于什么样的图?
说一下图的两种存储方式以及增删结点的过程
无向图、有向图的组织结构是怎样的?(即是怎么存储的)
能分别解释一下具体的存储方式的内容吗?
有向图的拓扑结构选择
如何判断一个图有没有环
一个有向图入度为s,则度数为多少?
无向连通图最多几条边,最少几条?
无向图:十八条边最少多少顶点
给定一个无向图,边的数量为E,问这个图的度为多少? 答:2E
讲讲强连通分量和强连通分量结点
- 讲讲计算强连通分量用的算法
- 讲讲算法的具体一点的流程
- 讲讲这个算法的时间复杂度
遍历
DFS路径唯一吗?
完全图用深度和广度优先遍历所得到的生成树的度分别是多少
权值都为1的图怎样得到两个顶点的距离
循环链表队列只设置一个指针,应该放在头还是尾
我开始说头,他问我两种情况下入队出队的时间复杂度分别是多少,其实就是在提示我了
广度优先遍历和深度优先遍历算法下它的树高是多少?
深度优先遍历的序列确定,如果确定好了存储方式,假如选定好具体的邻接矩阵和邻接表,遍历的序列还唯一吗
完全图用dfs和bfs生成的生成树的高度差
图的应用
- 最小生成树的定义,算法有哪些(普里姆算法和克鲁斯卡尔算法)
- 对这两个算法做比较
- 这两个算法采用的数据结构是哪些
- 谈谈最小生成树和最短路径的区别
- 主考:给你一个所有路径权值相等的图,你要怎么来求它的单源最短路径?
- 我:老师,我第一想法是迪杰斯特拉
- 主考:迪杰斯特拉当然可以,但我想让你说一个更好的
- 我想了一会:老师,可以用广度优先搜索来
- 主考:对,巴拉巴拉巴拉
- 找无向无权图的两点之间最短路径有哪些方式
- 最小生成树的定义,算法有哪些(普里姆算法和克鲁斯卡尔算法)
查找算法
整体认识
给你一堆无序的数据,如何才能高效的找到其中间值?
- 从结构上思考,不限制你的数据结构
- 用二叉树?
你认为哪种查找比较快,一般怎么比较快
哈希查找时间复杂度,折半查找有什么要求
有序的数组。
数组做增减不方便,还有其他数据结构吗?
二叉查找树
查找时间?
刚开始说logN,然后老师说不对,说会退化,并问我最差查找时间?
O(n),然后我就明白了,二叉查找树时间应该是O(树高),回答后老师说对。
如果太差怎么办?
二叉平衡树。
给你两个变量,要求在不使用第三个变量的情况下交换这两个变量的值?
法一:a = a + b ; b = a – b; a = a – b 但可能会溢出
法二:a = a ^ b ; b = a ^ b; a = a ^ b(异或运算的特点:连续异或两次,值不变)
针对整数,可以使用乘除法;对于浮点数,可以使用复合赋值运算(claude)
海量数据处理
有序的数字想要进行查找,应该采用什么数据结构(2叉搜索树)
- 那删除一个节点应该怎么做,用伪代码描述
最快的查找算法?我答哈希不对,当时脑子一片空白,可能是平衡二叉树没想起来。
折半查找过程+复杂度
- 二分查找的时间复杂度和适用范围
什么是归并查找,复杂度
树型查找
- 二叉查找树
- 追问:改进的AVL平衡树,怎么进行修改?
- 答 左旋 右旋,
- 追问:什么情况下用左旋?
- 二叉查找的条件,链式结构要如何二叉查找
- 二叉排序树是什么,删除一个节点怎么操作、二叉树结点的删除
- 二叉排序树查找的时间复杂度,如果是平衡树又是多少
- 平衡二叉树结点的删除操作,详细回答
- 知道红黑树吗
- 堆排序过程+如何调整堆
- B树在实际应用中为什么会设置很大的阶数,如1000阶?
- 二叉查找树
散列查找
- Hash表的功能
- Hash表存在的问题
- Hash冲突的解决办法
- Hash删除一个元素的处理方法
- 哈希表如何处理冲突?开放地址法如何删除关键字?(应该不是直接物理删除,做个标记虚拟删除),那之后再插入新的关键字遇到之前虚拟删除的那个空间如何处理?
- 说了开放定址法和链表法
- 然后老师又问开放定址法是怎么查找的?我回答之后又问开放定址法删除一个元素要怎么处理呢?我一开始忘记了就说把后面的元素往前面移动,然后老师表示不对,我突然就想起来是做一个标记,查找到标记就跳过查找下一个。
排序算法
整体认识
稳定性排序算法和不稳定排序算法各举一例
基于比较的排序算法的下界(跟决策树有关,我没学过)
时间复杂度只和问题规模的大小有关系,你说一说这个描述对不对
那你说说看哪里不太对,以快排为例说说
时间复杂度还和什么有关
初始状态
接着问:“那你说一说有没有什么排序平均比快排要快的
我说,“基数排序吧。”
“时间复杂度多少?”
“大概是n的复杂度,而快排平均是nlogn。”
“这么说,基数排序是线性的时间复杂度,而快排是nlogn,应该是基数排序要更好吧,为什么我们平时使用的时候基本是用快排而不是基数排序呢?”
老爷爷笑了,说:“现在发展很快,内存基本是够用的。你想一想基数排序的条件是什么。”
一般是整数,而且要位数比较少,然后对各个位进行排序。
“对,所以这个适用范围就不一样了。基数排序使用有限制,所以还是快排用的多。”
时间复杂度只和问题规模有关,这个说法是否准确。
- 基排比快排快,为什么常用的是快排?
- 如何评价快排和基数排序,时间复杂度和空间复杂度,既然基数排序是线性的,为什么很多数据的时候不选择基数排序
有两个长度为n的数组,不使用额外空间互换并完成排序; 一开始傻了,一直说需要1的空间,后来想其实先双异或互换数组,数组内再冒泡排序两者都是不要额外空间。
讲一下冒泡和快排
- 冒泡排序的最好和最坏情况复杂度,平均情况复杂度,以及平均情况复杂度怎么来的
1.滑动窗口2.希尔排序
常用的排序有哪些?时间复杂度为O(nlogn)且与初始排列无关的排序有哪些?为什么快排平均性能最好?
- 堆排序,归并排序 中轴值可以存放在寄存器中(误)
说一下堆排序复杂度
快速排序的时间复杂度是多少?
- 回答出来后,然后老师问你说的情况是选哪个位置作为枢轴?
- 接着改变枢轴位置。
- 平均时间复杂度的系数,答案是1.39
- 最坏情况时间复杂度,什么情况是最坏的,那在这种最坏的情况怎么样做可以提高效率?
同学,你对数据结构中的排序和查找算法熟悉吗?哪个掌握得比较好?
- 答:都还可以,那个快排算法比较熟悉
- 问:那你讲讲快排算法
- 答:快排算法是排序算法中综合性能最快的算法。它的过程是,每次选择一个值作为数轴,以其将原序列划分成大小两个系序列。接着再重复的在左右子序列中再找出新的数轴,再进行划分。重复操作至序列有序为止,时间性能为O(nlongn)
- 问:那快排算法什么情况下会导致O(N²)的复杂度?
- 答:若是基于默认首元素为数轴的情况下进行快排,当序列基本有序时,会导致O(N²)
- 问:那还有补充的吗?(暗示)
- 答:实际上快排的性能与数轴的选择策略直接相关。如果能够选择一个合适的策略,使得每次选择的数轴都恰好能把序列等分为两个子序列,就能在logN躺内完成快排,实现O(NlogN)。一般采取的措施的是使得数轴的选择尽可能的随机化。如选择首、中、末三个元素中大小mid的那一个;或者使用random函数随机抽取序列中的某个原始作为数轴。当数轴的选择足够随机化时,哪怕是基本有序的序列也能以O(NlogN)实现
快排在最差情况下,如何降低时间复杂度?
- 快排为什么快,比如说与堆排序相比
- 系数多少?常数系数1.39?
计算机组成与系统
整体认识
计算机组成计算机结构计算机技术谈谈你对这三者的理解
嵌入式的CPU
人工智能里面的
cpu
和gpu
有什么不同linux内核如何裁剪如何在arm开发版上进行开发
- 如何用linux实现实时系统
微内核、微服务
什么是大内核和微内核?linux用的是哪种内核?
bootloader如何启动内核
操作系统有什么功能,为什么操作系统会很难?
- 并发有哪些
- 实时系统和Windows的分时系统有什么区别,在硬件上呢
系统调用和函数调用谁的开销大
虚函数有什么用
系统调用和函数调用那个速度快
linux系统中如果有root权限是否可以直接(具体的不记得了)
编译原理是怎么进行编译的
说一下编译的过程、说一下编译的五大过程
我:词法分析、语法分析、语义分析及中间代码生成、代码优化、目标代码生成
- 编译原理中语义分析的输入和输出是什么
如果让你设计一个操作系统你有什么思路、你怎么搭建一个操作系统
(我就把操作系统的目录答了一遍,大意是每个都要做好)
数据和指令
数字电路学了啥
- 模电数电(A/D转换如何实现)
学过编译原理吗
指令执行的步骤有哪些?
指令系统
说说CISC和RISC的区别(由浅入深的引导)
Intel的X86是CISC还是RISC?
CISC和RISC是什么?两个的具体应用举个例子?8086是哪个?说说指令流水线?计算机最高几级流水线?
嵌入式的那个单片机(arm系列)有几种工作模式?
用的什么指令集?(RISC/CISC)
说一下RISC是什么?以及RISC/CISC的区别
高级语言与机器级代码之间的对应
堆栈的区别
我看你学了编译原理,能跟我讲讲你们编译原理上了什么内容吗?
对比C/Java中的程序起点是main()函数,汇编程序的起点标志是什么?
汇编程序中,call指令有什么作用
在PC机上写好程序,再到嵌入式系统运行是属于什么编译
存储器层次系统
整体认识
快表、页表和路由表结构上的区别
计算机存储有哪些层次
我的是问了 TLB,Cache的作用
局部性是什么
我说时间和空间,之后就问我什么时候存在时间局部性什么时候存在空间局部性,举例一下。
这里看看黑书的存储器山,很
nb
内存管理方法?linux用的是哪种?
说一说操作系统内存管理
LRU算法是什么(最近最久未使用),有什么缺点
虚拟存储和高速缓存的结构和各自的作用?
所谓的命中率是什么?
问:cache的机制,谁往cache中调数据,用户可以操作吗,举一个编程中cache的例子
- 原理 xxx,例子的是循环遍历数组的话,数组是行存储的,这样cache中命中率比较高,是空间局部性。
设计计算机的指令集硬件什么的方面如何使用局部性,
我一开始没有反应过来,然后老师换了种说法,我反应过来是cache,
然后老师就问cache的映射算法有什么?
cache的读取写入策略有什么?cache命中率和什么有关?cache命中率和cache的容量有什么关系?和cache块的大小有什么关系?
问题还是挺简单的,就是会一直往深了挖
内存溢出是怎么回事
- 内存泄漏和内存溢出是什么
- 程序内存泄露怎么解决
操作系统内存管理虚拟内存分页、虚拟地址到物理地址翻译全过程
分页系统怎么将逻辑地址转化为物理地址
内存碎片
- 如果给进程分配分区的过程中,产生很多细小的外部碎片,怎么解决(紧凑技术)
- 之后问,紧凑技术的具体原理是什么,为什么不能用链表的方式存储外部碎片,移动后进程的起始位置又该如何查找
- 如果给进程分配分区的过程中,产生很多细小的外部碎片,怎么解决(紧凑技术)
说一下缺页中断
cache里LRU怎么实现、内存里的LRU怎么实现
简单介绍CLOCK置换算法
知道页表吗?问了页表,多级页表,段表和页表区别,TLB,以及反表(不会)
文件系统
目录与文件的区别
目录文件的内容
FAT,Ext2名词解释,磁盘分区
new:文件重命名时OS做了什么
当用户在操作系统中重命名文件时,操作系统需要执行以下主要步骤:
- 解析路径 操作系统首先需要解析用户提供的文件路径和新文件名。它需要检查文件路径和文件名是否有效,以及用户是否有权对该文件进行重命名操作。
- 打开父目录 操作系统打开包含要重命名文件的父目录的磁盘索引节点(inode或目录项)。
- 删除原名称 在父目录中,操作系统删除原有的文件名称条目,这只是删除了名称到inode的映射关系,文件的实际数据保持不变。
- 添加新名称 操作系统在同一个父目录中添加一个新的名称条目,将新文件名映射到原有的inode上。
- 更新元数据 如果需要的话,操作系统会更新文件的元数据信息,比如最后修改时间等。
- 同步到磁盘 最后,操作系统会将对目录和元数据的更改同步到磁盘上,从而使重命名操作持久化。
总的来说,文件重命名主要涉及更新目录中的名称映射,而不会改变实际的文件数据。这是通过添加新名称并删除旧名称的目录项来实现的。整个过程由操作系统的文件系统组件负责处理和协调。
磁盘调度
CPU和进程
数据通路&指令流水线
- 分支指令的CPU处理全过程,用到了CPU里哪些部件(变PC,ALU算地址,扩充地址什么的),怎么解决分支指令在流水线里的控制相关(特意提到分支延迟槽)
数据通路&指令流水线
- 提到了流水线:你说到了流水线,那你和我说一下流水线是怎么构造的
- 流水线不是一直都可以顺利运行的,会发生什么问题?
- 我把三种相关和解决方法说了一遍
- 数据相关不是每次都能用数据旁路解决的,什么时候不可以?
流水线时候,什么时候可以中断
- 指令周期的阶段,每个阶段什么时候可以有中断
- CPI是什么
- 页表会加速进程运行吗
微程序控制器的原理
多发技术
- 超长指令字
- 说一下超流水线技术
什么是支持向量机?支持向量机是如何将不可分的样本点变得可分的?
进程和线程
- 进程和线程是什么
- 操作系统里线程的类别,底层怎么实现的
- Linux还问了我线程怎么并发
- 异步和同步
- 信号量的作用
- PV操作
- 同一进程内的两线程对一个初值为0的共享变量分别进行10次加1操作,在不采取同步互斥措施的情况下,共享变量的最终值是多少?(老师说:2~20)
- 生产者消费者问题
Q:你项目用了多线程那么你肯定知道线程和进程区别了,那我问你进程间如何通信?
A:基于内存共享的存储区、将消息挂到对方的消息队列(信箱通信方式)、写入pipe管道文件
死锁
- 定义
- win10里设置有死锁解决办法吗
- 4个条件以及死锁解决办法
- 银行家算法
总线和IO
- IO有几种方式(回答了差不多十分钟)
- I/O阻塞和I/O非阻塞的区别
- 详细描述中断到底发生了什么(最好比王道上写得更详细,因为这个问题回答了将近10分钟,老师后面问不了几个问题了)
- 说说中断?中断上下文内容保存在哪里?中断优先级如何处理?中断屏蔽字存放到哪里?
- 中断整体认识,关键地方,特别是中断结束怎么回来的
- 中断保护机制,进程死循环时怎么办
- 什么是串口
- DMA控制器需要初始化什么内容
- DMA和中断
- DMA和中断的区别是什么,DMA的应用有什么
- 通道
计算机网络
整体认识
- 计算机网络分为哪两个部分(边缘,核心),云服务属于边缘还是核心
- new:协议三要素
- 解释一下交换方式,(报文、电路、数据报)
- 这几种方式的区别
- 网络层和传输层是干什么的
- TCP/IP协议讲一下(模型角度、协议角度、提供服务)、TCP/IP体系结构
- 哪些地方用到了滑动窗口
- 路由器主要用在OSI模型中的哪一层中?
- 说一下TCP/IP模型、OSI模型
- TCP的网际接口层对应理论模型哪两层?
物理层与通信基础
- 什么是信息熵,谁提出来的
- 信息论与编码中熵是什么
- 同步传输和异步传输,
- 问了我串行并行传输优缺点
- 再问我
pcie
总线为什么选择串行传输
- 通信传输时为什么要编码
- 有哪些编码方式、编码的三种类型
- new:差分曼彻斯特分析 有什么优点,说下QAM-16怎么用 格雷码
- 说一下统计复用
- 龙书第五版p27的概念:许多网络设计根据主机的短期需求变化动态共享网络带宽,而不是给每个主机分配可能用也可能不会用的固定比例带宽。这种设计称为统计复用(statistical multiplexing)
数据链路层
集线器和交换机有什么区别
海明码的原理,海明码为什么能检错,纠错
什么叫码距
new:说一下循环冗余校验
数据链路层的可靠性,new:分析以太网和802.11通常分别采用哪种传输类型,为什么
介绍一下滑动窗口协议
- 滑动窗口原理、发送端怎么触发
- 滑动窗口的作用,停等协议的主要作用,发送窗口大小如何设置,发送窗口大小确定后发送方一次能够发送的数据量受什么限制(我回答了时延和网络带宽,老师继续问我还有吗,我想不出来了,回答不知道了);
CSMA/CA CSMA/CD
协议- 区别
- new:共享总线以太网,某个站点从发送帧开始,最长要经过多长时间,才能检测出自己发送的帧与其他站点发送的帧产生了碰撞?
介绍两个使用了广播技术的协议
new:生成树协议STP、有向无环图
连接交换机的关键是什么
网络中的集线器和网桥的区别
- new:计算机网络,具有唯一MAC物理地址的网卡以什么样的形式组织起来的过程,集线器——>透明网桥——>交换机
new:VLAN实现,IEEE 802.1Q帧
new:千兆以太网,半双工,载波延伸(Carrier Extension)的办法
网络层
- 整体认识
- 组播与广播,哪些协议采用广播
- IPX是什么:一种旧的网络协议,后来被TCP/IP协议所取代
- 广播和多播的区别,广播的实际应用 ?区别我答了广播是没有目的地址,多播有目的地址。然后广播的应用有DHCP协议和ARP协议
- IPv4地址相关
- new:划分子网怎么借用的,路由聚合,路由转发查找时怎么匹配
- 用完解决方法
- 计网NAT
- 什么是CIDR,有什么功能
- new:因特网为什么要使用IP地址和MAC地址这两种类型的地址来共同完成寻址工作,仅使用MAC地址进行通信不可以吗?
- 路由器外部协议和内部协议有哪些
- 路由算法 距离向量算法 和 迪杰斯特拉算法
- 路由器的作用
- ICMP协议的作用
- ping,pathping,traceroute等命令的作用
- ip数据报的最大长度
- 实际中ip数据报可以达到这么大的长度吗
- 说一下IP数据包最小多少
- 最大多少
- icmp是从哪里发送给哪里的,需不需要发送给主机
- PC机是通过什么去上网的
- 交换机和路由器的区别
- ARP协议及其应用
- ARP是哪个层次的协议
- ftp端口号
- new:OpenFlow交换机和流表
运输层
整体认识
- 有网络协议里面连接和无连接的最本质区别是什么
hdlc帧结构
- 问了我tcp/ip几层,有哪些
问TCP三次握手
TCP和UDP中,为什么TCP是可靠的?
延迟差叫什么;
拥塞控制和流量控制的区别;
说一下拥塞控制
应用层
C/S架构 B/S架构
- 自己如何设计C/S架构
socket有什么类型
http和https区别
说一下dns的过程。dns除了将域名转换成ip还有什么功能?
- 说一下发电子邮件的协议和过程
resful api
网络安全&区块链
- 网络安全学了啥
- 信息安全的定义,对称加密和非对称加密的优势
- 区块链如何防篡改
- 公钥加密,私钥解密,对称秘钥
- 问了三个没听过的信息安全算法
- 网络安全的散列算法 SHA MD5
- RSA的原理
离散数学
- 有没有学过数论
- 为啥要叫离散数学
- 主析取范式和主合取范式
- 群、域、环
数据库
整体认识
假如有上百个个人密码,数据库如何储存个人密码,不会泄露
数据模型有哪些,同一应用采用哪种模型更快
数据库的发展阶段
- 说说数据库最早的模型 网次模型
数据库的种类(类型)
- 对于目前的复试面试系统如何设计数据库
用过什么数据库,MySQL
数据库体系结构
- 数据库范式,还有划分
Oracle是什么型数据库
Oracle数据库的特点
请说一下怎么设计一个数据库
关系数据模型、关系数据库模式设计、数据库设计
- 什么是关系
- 数据库最开始的模型是什么,关系模型图灵奖获得者是谁,数据库里面有几种模型,大数据使用的是什么数据模型,事务的四大特性,并发控制的作用,锁,一致性是什么,解释一下,数据库的索引
- 数据库逻辑模型有哪些,我答了层次,网状,关系。然后他问我最早的模型是哪个,没答出来。
- ER模型和范式
- 关系数据库有多少范式
- 数据库关系是什么,主键是什么
- 就着项目问了我 数据库查询、搜索引擎
- 你数据库学的怎么样,内外连接和存储过程
- 数据库的三级模式还有两级映射
- 数据库外模式可以有几种?一对一还是一对多?
- 数据库的范式越来越高会产生什么影响?
SQL、过程化SQL
- 数据sql语句底层执行
- 我答了sql执行过程,语法检测,语义检测,查询优化,执行查询这4步。
- 他说不是这个,执行查询这一步更底层的东西,有没有调用操作系统的什么东西,我说调用操作系统的文件接口
完整性、安全性、事务与恢复、并发控制
- 数据库并发控制
更多主题
软件工程
- 软件工程测试的白盒测试和黑盒测试在做什么
- 软件测试方法有哪些
- 什么是快速原型
- 软件设计与体系结构中的各模式
- 软工的开发模型(瀑布、快速原型、增量模型、喷泉、螺旋)
- 螺旋模型和增量模型的区别
- 说一下软件工程常用模型
- 软件工程类图和时序图
- 开发模型
- 软件工程流程
- 软件设计的步骤 or 软件开发流程是什么
- 在每个流程里面涉及到什么图
- UML的英文全称
- 一个项目如何发现90%的bug
- 利用软件工程的知识解决如果用户需要一个方形桌子,后又改变成圆形桌子的需求该怎么办
- 详细设计用到的辅助工具
- 做过项目测试吗,怎么测试的
大数据、并行、数据挖掘、数据分析、人工智能
这部分内容根据考生特定展开的,挺感兴趣
整体认识
- 阿尔法go是怎么实现他的人工智能的?
本科学过Hadoop,解释一下
解释一下Map reduce
- map-reduce
Hadoop是指大数据中的“大”,“数”还是“据”
spark
Apache Spark(简称Spark)是一个开源的、基于内存的大数据计算框架,旨在提供高效、通用、分布式和容错的数据处理解决方案。Spark最初由加州大学伯克利分校的
AMPLab
(Algorithms, Machines, and People Lab)开发,并于2010年开源。人工智能和大数据的关系
什么是中值滤波
什么是数据挖掘,怎么对数据进行预处理,数据的完整性是应用规定的还是自己规定的,数据挖掘跟人工智能应用有什么关系(本科学过数据挖掘和人工智能,报的方向也是大数据,所以老师会问)
过拟合概念
云计算是什么
α-β剪枝
dsp解释下
数字图像说一个模型我问你
学过这门课的人
- 决策树和数据挖掘课程中涉及到的id3 c4.5和svm
- 老师问我id3和c4.5的区别,c4.5解决了id3的什么问题(我茫然)
数据挖掘学了什么
我:聚类,然后大概说了一下。
老师:怎么算距离的。
我:就是算两点距离(忘记叫欧式距离了)
老师:你懂得密度聚类吗?
我:这个不懂
老师:聚类是监督还是非监督
我:非监督
神经网络反向传播
信号与系统、自控、现控
- 自动控制
- 1.PID是什么
- 2.传递函数干嘛的?
本科课程计算机相关
成绩单问了一个名字和计算机相关的课、本科专业课
- 主要是两个方面:1.这门课程是说什么的2.你从这门课中学到了什么
毕设做了什么、毕设用了什么算法
看到课程表上有信息安全这门课,老师开始抓住问
专业应用
用算法解决现实问题,改进过程与分析
把n个球放到n个盒子里有多少种方法
综合问答(基于项目或特定场景)
策略分析问题的思维框架方面的准备
项目和工作经历,工作中学到了什么
感兴趣的科目和老师、研究方向
得过奖学金没有,参加竞赛没有,四六级多少分
迪杰斯特拉除了迪杰斯特拉算法还有啥
有参加过什么比赛吗
本科经历、说一下你的项目经历和校园经历、你在项目或者比赛中用过哪些数据结构
- 介绍自己项目,然后问有没有使用数据结构优化的情形
不用额外空间实现两个变量值互换
某个人的项目
springboot
网站,他问用了什么服务有什么原理,用的是http长地址还是短地址- 前端框架用过哪些(vue,react),然后问MVVM和MVC的区别。
怎么画直线(计算机图形学)
本科课程中的机器学习,数据挖掘,大数据分析的区别
你什么项目最满意?服务器发生异常怎么办,我说了一些
为什么有这门课啊,录取了想上什么方向 为什么
项目代码量,大学多少代码量,xxx项目多少行代码
PID算法的PID三个字母是什么意思呢
现有9个相同的东西和1个不同的东西,如何找出不同的?
为什么要考研?是第一次考研吗?
说说可以如何将你的大学专业课用在软件设计上?
你设计一个软件,会和其他人设计的有啥不同?
生物序列比对用的是什么算法?
围棋棋盘可以用什么数据结构来实现
对研究生所选方向的理解
现在有一个实际问题,你有一个项目,项目包含多个模块,模块间耦合度比较高,依赖性比较复杂,我现在想要算出每个模块的编码顺序,应该用什么数据结构,具体算法是什么样的?
拓扑排序+队列
做过的项目展开描述
- 首先对项目分类,工业级、竞赛级、课设+自学级,靠近前面的注重全局整体稳定,靠近后面注重细节局部实现、思考
- 工业级:语音合成,从问题调研、项目路线设计、项目开发、项目部署、项目测试、小范围测试跑通,联系云端商家等等,数量:1
- 竞赛级:校内各类科技竞赛(图像去雾、人脸识别、树莓派魔镜、智能衣服匹配推荐)、
kaggle
数据竞赛(房价预测等),数量:5+ - 课设自学级:数据库设计、爬虫获取课件、统计学图表处理、d2l深度学习、C/C++/python等课程学习、stm32智能家居暑期培训,数量:6+
数学相关
数论学过吗
微积分
- 极限 上极限下极限 上连续和下连续 柯西列
- 中值定理
概率论
- 独立和相关
- 标准差方差
- 什么是正定矩阵
- 矩阵的迹和秩,矩阵的负定
- 什么是线性相关
组合数学
- 费马小定理