百度测试开发--一面(技术)

正在实验室做实验,一个电话让我心惊胆战,之前应该是有内推的过程,一个大哥哥打来电话,原来是百度的测试开发工程师,问我什么时候有时间可以准备测试开发岗的实习面试,搞得我有点懵,糊里糊涂得说了一个第二天中午,挂完电话之后瞬间感觉这下尴尬了,我都不是很清楚测试开发是干什么的,怎么就要明天面试了。
接下来也就是糊里糊涂的准备了一下,因为我的主语言是C++,所以我大概看了一些C++方面的基础(动态内存分配,面向对象的特点--封装,继承,多态,还有指针数组和数组指针的区别,智能指针。。。)看得也是云里雾里,还有Linux的一些网络命令等等。
第二天中午,忐忑不安得按时接到了大哥哥的电话。
1.刚开始还是自我介绍(把自己的项目经历以及主要擅长的方面介绍一下)
2.讲自己的项目经历,把做过的一些项目包括架构,业务流程,实现过程中的一些技术难点(我们这个肯定比较水,大概讲了一下业务流程)讲了一遍,这个过程中有问了一下多个本地数据库访问远程数据库的冲突解决(我说的是在访问本地数据库之前设置有权限,即不同的本地数据库的访问权限不同),又问了界面如何于客户端进行的通信(我们用的是QT,所以大概讲了一下通信的过程,QSoctet 利用TCP进行数据传输,访问服务端主机的IP和端口号建立通信)
3.又问了关于语言的方面的:C++,JAVA 的区别、什么是面向对象、面向对象的特点(封装,继承,多态)、分别解释每个特点(对多态答的不是很全面)、针对封装中(private,public,protect)进行解释、C++中三种动态内存分配的方式(我只知道两个malloc,new)、malloc和new的分配内存方式(堆分配还是栈分配)、全局变量的内存分配方式是堆分配还是栈分配、堆分配和栈上分配内存两者有什么区别和联系。(基本没答上)
4.接下来问了关于网络方面的:ISO七层模型和TCP/IP四层模型、分别哪些层、每一层都是干什么的、TCP的三次握手、TCP传输和UDP的传输数据区别、TCP的传输是在哪一层。
5.问了算法方面:给一个大文件,里面存一些词语,用户输入关键词,用什么方式可以快速查找到用户想要的单词?(我说了一个建立索引表,他就问数据库里的索引是怎么实现的--不会)、那一些插入的算法时间复杂度O(1)(折半插入大概o(nlgn),快排的方式实现插入,最好情况是(o(1)),红黑树)。
6.如何测试搜索引擎的好坏(大概说了两点:1.响应时间2.检索词条内容。是在时菜,想不出来了)
7.最后的了解一下Linux的使用情况,这里仅仅会一些简单的命令行操作。

一面下来45分钟,电话面试。主要还是基础,总之不会的千万不要装懂,因为他会沿着你说的持续问下去,深入扩展,有了解的一定主动把知道的说出来。不要里面装有大量自己不理解的词语,不然会死的很惨。



展开阅读全文

没有更多推荐了,返回首页