以下是小编整理的百度质量部面试笔试体验之―三面(共含2篇),欢迎阅读分享,希望对您有所帮助。同时,但愿您也能像本文投稿人“射手座观音”一样,积极向本站投稿分享好文章。
百度质量部面试笔试体验之―三面
1.有过什么实习经历啊?
1.1安天实验室
在哈尔滨安天实验室,我在CERT组实习,跟过两个大神,一个是胡哥,部门技术经理,在异常分析方面很犀利,一个是swordlea,对李哥的印象就是C++大神,同时他也是CERT老大。当时的项目是做一个whois的查询插件,VC++编写。当然的组件功能是输入一个IP地址,能够查询出它的`whois信息,因为有点久了,当时也是借鉴网上代码写出来的,自己的代码找不到了(当然怎么就没备份呢),就拿网上的代码凑合一下:
/*
* @brief
* Whois client program
*
* @details
* This program shall fetch whois data for a IPv4 address.
*
* @author Silver Moon ( m00n.silv3r@gmail.com )
* */
#include //scanf , printf
#include //strtok
#include //realloc
#include //socket
#include //sockaddr_in
#include //getsockname
#include //hostent
#include //close
int main(int argc , char *argv[])
{
char ip[100] , *data = NULL;
printf(“Enter ip address to whois : ”);
scanf(“%s” , ip);
get_whois(ip , &data);
printf(“\n\n”);
puts(data);
free(data);
return 0;
}
/**
Get the whois content of an ip
by Selecting the correct server
*/
void get_whois(char *ip , char **data)
{
char *wch = NULL, *pch , *response = NULL;
if(whois_query(“whois.iana.org” , ip , &response))
{
printf(“Whois query failed”);
}
pch = strtok(response , “\n”);
while(pch != NULL)
{
//Check if whois line
wch = strstr(pch , “whois.”);
if(wch != NULL)
{
break;
}
//Next line please
pch = strtok(NULL , “\n”);
}
if(wch != NULL)
{
printf(“\nWhois server is : %s” , wch);
whois_query(wch , ip , data);
}
else
{
*data = malloc(100);
strcpy(*data , “No whois data”);
}
return;
}
/*
* Perform a whois query to a server an d record the response
* */
int whois_query(char *server , char *query , char **response)
{
char ip[32] , message[100] , buffer[1500];
int sock , read_size , total_size = 0;
struct sockaddr_in dest;
sock = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP);
//Prepare connection structures :)
memset( &dest , 0 , sizeof(dest) );
dest.sin_family = AF_INET;
printf(“\nResolving %s...” , server);
if(hostname_to_ip(server , ip))
{
printf(“Failed”);
return 1;
}
printf(“%s” , ip);
dest.sin_addr.s_addr = inet_addr( ip );
dest.sin_port = htons( 43 );
//Now connect to remote server
if(connect( sock , (const struct sockaddr*) &dest , sizeof(dest) ) < 0)
{
perror(“connect failed”);
}
//Now send some data or message
printf(“\nQuerying for ... %s ...” , query);
sprintf(message , “%s\r\n” , query);
if( send(sock , message , strlen(message) , 0) < 0)
{
perror(“send failed”);
}
//Now receive the response
while( (read_size = recv(sock , buffer , sizeof(buffer) , 0) ) )
{
*response = realloc(*response , read_size + total_size);
if(*response == NULL)
{
printf(“realloc failed”);
}
memcpy(*response + total_size , buffer , read_size);
total_size += read_size;
}
printf(“Done”);
fflush(stdout);
*response = realloc(*response , total_size + 1);
*(*response + total_size) = ””;
close(sock);
return 0;
}
/*
* @brief
* Get the ip address of a given hostname
*
* */
int hostname_to_ip(char * hostname , char* ip)
{
struct hostent *he;
struct in_addr **addr_list;
int i;
if ( (he = gethostbyname( hostname ) ) == NULL)
{
// get the host info
herror(“gethostbyname”);
return 1;
}
addr_list = (struct in_addr **) he->h_addr_list;
for(i = 0; addr_list[i] != NULL; i++)
{
//Return the first one;
strcpy(ip , inet_ntoa(*addr_list[i]) );
return 0;
}
return 0;
}
1.2 大连东软
百度质量部测试开发面试笔试经验
1.几种常见算法看下,能够大概描述出来算法的过程,复杂度(排序、查找等)
2.给你设定几种场景,让你解答:比如给你两部手机,让你站在一百层楼高的地方,假设在第n层手机摔下就会摔破,问你怎样用着两部手机确定这个临界层,
(场景测试-百度质量部)
3.怎样知道一个链表里是否有环的存在,以及确定环的位置 如何确定两个链表是否有相同的部分
4.网络一些知识,比如http几次握手的情况,ack等包,结束是否只能由服务器段先断开之类的。网络几层,常见网络设备属于哪层?
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让我自己上网搜答案。。。
2、标准模板库STL 用过的库函数 (一面)
3、做过的有关测试的项目,没有问很细,测试用例是不是自己写的,根据做的项目,设计怎么测试自己的项目
4、静态函数库、动态函数库 区别 自己做的项目是属于动态的还是静态的
5、Linux编程怎么样(百度貌似基本上程序都跑在linux上,这个肯定要问到)
我直接答的linux常用命令还可以,在linux环境下做过实验,内核不了解
算法题
大部分是告诉他思路,面试官哥哥会把问题简化,再一点点启发,一点点给问题加条件,要把自己思想解释懂给他听,练练口才啊~还有准备好纸笔,一些代码,不好凭空想象~
1、在栈中,找出最小值,给出push pop 求最小值min函数(不破坏栈的原始的顺序、用最小的时间)
2、矩阵中 横排 每行的数据是从小到大的.,竖排 每一列也是从小到大 给出一个数用最快的时间查找一个数是否在矩阵中(空间复杂度)
3、括号匹配 { 【 ( 看左右括号是否匹配 数学规则:{【(
1)不考虑数学规则
2)考虑数学规则
最后要把第三个 跟面试GG讨论完解决的思路后,把这个代码写一下,发给他,限时近一个小时,可以用伪代码,一开始说的,写代码的时候不用挂电话,后来就是说了机房不能说话,就让我把电话挂了~
二面
二面还是先自我介绍,的第一个问题,集合数的存储模式,一听就有点懵了,啥是集合数??委婉的告诉她不知道什么是集合数,她就说,存储模式有数组等,我当时很乱,就把我自己理解的,所有在内存中存储模式的,那些,数组、链表、栈、堆、常量区等等,都答了,想想真2,
之后围绕之前做过的项目问的比较多,比较详细,详细到了一些功能的实现,遇到的问题,怎么解决的等等,根据项目问了数据库的语句,找出数据中最大的前十个,给忘了,就说了C++中的实现方法,还自己引申了一下,答了内存中放的下的数据怎么处理、放不下怎么处理、找出最大的前十个怎么处理,前一万个怎么处理。。。
也是回答了一些测试的题,测试一个函数,设计测试用例,函数功能:两个已经排好序的数组,合并成为一个有序数组。
做过的白盒测试 实验 自动化测试 有没有写过脚本语言
问了 测试网络是否连通 ping命令
Linux 我还是像一面那么答的,这回让我列出了我自己熟悉的linux命令,我就说了一些,她问了一个退出vim怎么退出,就回答了,保存退出,不保存退出的命令等等。
还问了 编码量最大的项目,最近半年自学的东西,自学的途径等等。
我每次最后都要面试我的人给我一些建议,一是有些人给的建议很诚恳,像小米,直接说基础太差,要我好好学习基础;二是,基本上可以知道还有没有机会接着面了~直接问有没有戏,别人不一定会说。
★ 百度实习笔试经验
★ 百度实习面试
★ 面试笔试主要题型
★ 网易笔试面试经历
★ 辉瑞面试笔试经验