综述
- 这次笔试的内容有点多,且有两门科目我是从来没写过的。因此目前心情十分复杂。但是考研失败也让我对工作机会更加珍惜,人只要尝过失败,短时间内就不想在尝第二次。我怀着“虽九死其犹未悔”的决心。在明天面试到来之际,做一下挣扎。
- 真的,只有尽了最后一份力,才能在最后结果出来后坦然的说:“也就这样吧,我尽力了。”
- 复习的内容主要有(由上往下重点降低)
- 数据结构
- 数据库
- 操作系统(没学过)
- 计算机网络(没学过)
- 巩固C++的一些语法细节
- 任务艰巨哎,估计得通宵。
1.数据结构部分
排序
- 如何计算排序的平均复杂度
- shell(希尔排序)
void ShellSort(int a[],int m,int d){ int i,j,inc,temp; for(inc=d;inc>0;inc/=2){ for(i=inc;i<m;i++){ temp=a[i]; for(j=i-inc;j>=0&&temp<a[j];j-=inc) a[j+inc]=data[j]; a[j+inc]=temp; } } }
- 堆排序:建立大根堆或小跟堆以进行逆序/顺序排序。
- 快速排序
- 归并排序
二叉树
- 二叉树的遍历
- 二叉树的构成本质就是递归。所以便利非递归算法都利用栈来存放节点,并对每一个节点采用某种访问方式进行遍历即可。
- 后根遍历注意要经过头结点两次,所以Stack的结构需要稍微设计一下。比如加一个Tag来记录第几次访问,当第二次访问时则访问它。第一次访问则跳到它的右子树。
- 广度优先周游利用Queue(队列)来存放访问结点
- 线索二叉树比较难理解。
- 二叉树的应用
- 大根对小跟堆:用于堆排序
- 哈夫曼算法*
集合与字典及高级字典**
- 散列表示(哈希表)
- 二叉排序树
- 平衡二叉树
2.数据库
- 数据库打算复习一下基础操作&常见的笔试题型。
一些比较好的博客都总结出了数据库的题型,可以看看。例如:
史上最全:https://www.cnblogs.com/wenxiaofei/p/9853682.html
RUNOOB.com 关于mysql的基础文档
RUNOOB.com的SQL基础文档
有道云笔记分享:数据库一些随记分享
-
基础关键点
- Delete和Drop的区别:Delete用于删除数据;Drop用于删除结构(例如删除数据库、删除表)
- 数据库的数据int有三中精度的数:TINYINT(一字节)、SMALLINT(2字节)、MEDIUMINT(3字节)、INT或INTEGER(4字节)、BIGINT(8字节)。FLOAT(4字节)、DOUBLE(8字节)、DECIMAL(M,D)
- 查询数据的格式(MYSQL):
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M] -- N:返回记录数 M:Select 查询偏移量。默认为0
- like patten进行匹配寻找。三种匹配方式:%str 、str% 、%str%
- SELECT DISTINCT country FROM Websites; --得到country不同的值
- WHERE 后的运算符: = 、<>、>、<、>=、<=、BETWEEN、LIKE、IN
- AND、OR
- ORDER BY [属性] ASC | DESC :顺序|逆序
- UPDATE
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
- SQL连接
- (不记录了,自己看去)
3.操作系统和计算机网络
相关博客参考链接:
操作系统必考链接- 多线程和多进程的区别;
- 静态链接库和动态链接库的区别
- 静态链接库(lib)和动态链接库(dll)
- 动态链接库:Windows实现共享函数库概念的一种方式
- 静态链接库:函数和数据被编译进一个二进制文件,编译器在链接过程中将从静态库中恢复这些函数和数据并把他们和应用程序中的其他模块组合在一起生成可执行文件。
- 调度方式不同:
- 动态链接库提供了一种使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 文件中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。提供了一种使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 文件中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。
- 静态链接库:用程序所需的全部内容都是从库中复制了出来,所以静态库本身并不需要与可执行文件一起发行。
- tcp的三次握手和四次挥手:https://blog.youkuaiyun.com/qq_38950316/article/details/81087809
- 第一次握手,客户端发了个连接请求消息到服务端,服务端收到信息后知道自己与客户端是可以连接成功的,但此时客户端并不知道服务端是否已经接收到了它的请求,所以服务端接收到消息后的应答,客户端得到服务端的反馈后,才确定自己与服务端是可以连接上的,这就是第二次握手。
- 客户端只有确定了自己能与服务端连接上才能开始发数据。所以两次握手肯定是最基本的。
- 看到这里,你或许会问,那么为什么需要第三次握手呢?我们来看一下,假设一下如果没有第三次握手,而是两次握手后我们就认为连接成功了,那么会发生什么?第三次握手是为了防止已经失效的连接请求报文段突然又传到服务端,因而产生错误。
编程
- 假设有m个数字 让你从中选出n个数字,要求概率相等,并且复杂度为O(n)
- O(n)洗牌算法,忘记了,写了一个大于O(n)的
在线笔试结束。2019年多益秋季招聘补录试题:
选择题就一些数据结构基础题。主要总结大题。(三题不会,估计凉凉)
- 英文翻译
- (操作系统)文件的逻辑记录和物理记录
- 数据库创表、查询(挺细节,数据库大二学的,快忘得差不多了)
- TCP/IP参考层,各层作用???(印象是这样)
- 编程题:编程题,按权重取样品。(挺经典的,多益笔试原题,如果要笔试建议可以多搜搜,我没看过,但思路基本一致)
总结
- 考研结束,准备不足
- 专业劣势,寒假补足(操作系统和计算机网络),等春招把。