发布于 2014-09-24 07:24:13 | 2592 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

百度(Baidu)中文搜索引擎

百度(Nasdaq简称:BIDU)是全球最大的中文搜索引擎,2000年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. 从网上找找百度质量部面试面试题目

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

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

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

百度搜索关键字放在一个大文件里,该文件在内存里装不下,用户可以输入关键字,在文件里查找关键字,看关键字是否在该文件里,给一个解决方案。(用Hash方法)           

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

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

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

14、TCP与UDP的区别

15、网络设备

16、socket

 

1.对Linux内核有一定的了解;  

2.熟悉数据库的使用,

3.熟悉基本的网络配置及路由器、交换机等网络设备的配置;

4.了解TCP/IP协议

5.测试流程  有几种方式像什么白盒 黑盒   功能测试  性能测试 单元测试等等


1.自我介绍啦 项目相关的

2.多准备 多看看常见面试题   

3.还有网上关于质量部面试的题目   这些比较有针对性一些


实际遇到的面试题

百度一面

首先要自我介绍

1、进程与线程的区别

一面第一个问题,自我介绍都没介绍完说了我知道的一些,他都说没答到点子上,问到底要怎么答,面试的GG让我自己上网搜答案。。。

答:什么是进程(Process):普通的解释就是,进程是程序的一次执行,而什么是线程(Thread),线程可以理解为进程中的执行的一段程序片段。在一个多任务环境中下面的概念可以帮助我们理解两者间的差别:

进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。
一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。
同一进程中的两段代码不能够同时执行,除非引入线程。
线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。
线程占用的资源要少于进程所占用的资源。
进程和线程都可以有优先级。
在线程系统中进程也是一个线程。可以将进程理解为一个程序的第一个线程

多线程同步方法

1临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。
2互斥量:为协调共同对一个共享资源的单独访问而设计的。
3信号量:为控制一个具有有限数量用户资源而设计。
4事件:用来通知线程有一些事件已发生,从而启动后继任务的开始。


2、标准模板库STL 用过的库函数 (一面)

3、做过的有关测试的项目,没有问很细,测试用例是不是自己写的,根据做的项目,设计怎么测试自己的项目

4、静态函数库、动态函数库 区别 自己做的项目是属于动态的还是静态的

5、Linux编程怎么样(百度貌似基本上程序都跑在linux上,这个肯定要问到)

我直接答的linux常用命令还可以,在linux环境下做过实验,内核不了解


算法题

大部分是告诉他思路,面试官哥哥会把问题简化,再一点点启发,一点点给问题加条件,要把自己思想解释懂给他听,练练口才啊~还有准备好纸笔,一些代码,不好凭空想象~

1、在栈中,找出最小值,给出push pop 求最小值min函数(不破坏栈的原始的顺序、用最小的时间)

2、矩阵中 横排 每行的数据是从小到大的,竖排 每一列也是从小到大 给出一个数用最快的时间查找一个数是否在矩阵中(空间复杂度)


3、括号匹配 { 【 ( 看左右括号是否匹配 数学规则:{【(

1)不考虑数学规则

2)考虑数学规则

最后要把第三个 跟面试GG讨论完解决的思路后,把这个代码写一下,发给他,限时近一个小时,可以用伪代码,一开始说的,写代码的时候不用挂电话,后来就是说了机房不能说话,就让我把电话挂了~


百度二面

二面还是先自我介绍,的第一个问题,集合数的存储模式,一听就有点懵了,啥是集合数??委婉的告诉她不知道什么是集合数,她就说,存储模式有数组等,我当时很乱,就把我自己理解的,所有在内存中存储模式的,那些,数组、链表、栈、堆、常量区等等,都答了,想想真2。

之后围绕之前做过的项目问的比较多,比较详细,详细到了一些功能的实现,遇到的问题,怎么解决的等等,根据项目问了数据库的语句,找出数据中最大的前十个,给忘了,就说了C++中的实现方法,还自己引申了一下,答了内存中放的下的数据怎么处理、放不下怎么处理、找出最大的前十个怎么处理,前一万个怎么处理。。。

也是回答了一些测试的题,测试一个函数,设计测试用例,函数功能:两个已经排好序的数组,合并成为一个有序数组。

做过的白盒测试 实验 自动化测试 有没有写过脚本语言

问了 测试网络是否连通 ping命令

Linux 我还是像一面那么答的,这回让我列出了我自己熟悉的linux命令,我就说了一些,她问了一个退出vim怎么退出,就回答了,保存退出,不保存退出的命令等等。

还问了 编码量最大的项目,最近半年自学的东西,自学的途径等等。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务