虽然还有一年才找工作,但是提前做准备总归是好的。等我把基础性知识学习完以后,在一一总结相关问题的答案。以下是总结别人的测试岗的面试经验,会不定期更新的!
1、百度面试
1、能够大概描述出来几种常见的算法的过程,复杂度(排序、查找等)
2、给你设定几种场景,让你解答:比如给你两部手机,让你站在一百层楼高的地方,假设在第n层手机摔下就会摔破,问你怎样用着两部手机确定这个临界层。
3、怎样知道一个链表里是否有环的存在,以及确定环的位置。如何确定两个链表是否有相同的部分
4、网络一些知识,比如http几次握手的情况,ack等包,结束是否只能由服务器段先断开。网络几层,常见网络设备属于哪层?
参考答案:在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
5、测试的几种方法.
6、给定一个很大文件,内存里放不下,怎样搜索里面是否有需要的关键字,从百度搜索内容,描述一下大致的过程
7、 C语言 内存分配机制(堆栈的区别,静态存储区)
8、 数组指针和指针数组有什么区别
9、海量搜索问题
比如百度搜索关键字放在一个大文件里,该文件在内存里装不下,用户可以输入关键字,在文件里查找关键字,看关键字是否在该文件里,给一个解决方案。(用Hash方法)
10、搜索的原理 :在百度页面输入关键字,得到搜索结果,解释一下这个过程是什么样的
11、深度搜索算法 单链表 就地 反转
12、Linux常见的命令看看(必考) ,对linux内核有一定的了解
14、TCP与UDP的区别
15、网络设备
16、socket 套接字
17、熟悉基本的网络配置及路由器、交换机等网络设备的配置;
18、了解TCP/IP协议
19、测试流程 有几种方式像什么白盒 黑盒 功能测试 性能测试 单元测试
20、进程与线程的区别
21、标准模板库STL 用过的库函数