百度测试开发面试题

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. 从网上找找百度质量部面试面试题目

8. C语言 内存分配机制(堆栈区别,静态存储区)

9. 数组指针和指针数组有什么区别

10、海量搜索问题 找找海量搜索面试题看看

11、搜索的原理 在百度页面输入关键字,得到搜索结果,解释一下这个过程是什么样的

12.深度搜索算法 单链表 就地 反转

13.Linux常见的命令看看(必考)

14、TCP与UDP的区别

15、网络设备

16、socket