在网上看了一篇百度质量部的测试实习生一面面经,提到了几个面试中的问题,总结如下:
1、写个小程序,一个数组,长100,里面乱序分布数字1-100,在数组中随机挑选一个位置的数字,将其替换成-1,如何判断被替换掉的数字是多少?
思路分析:数字1-100的和记为sum1,被替换的数字记为x,替换一位数字后的和记为sum2,那么sum1 - x +( -1) = sum2,则 x = sum1 - sum2 -1。
代码:
#include <bits/stdc++.h>
using namespace std;
int SUM(int a[],int n)//求数组的和
{
int sum = 0;
for(int i = 0; i < 10; i ++){
sum += a[i];
}
return sum;
}
int main()
{
int a[10] = { 1,2,3,7,8,9,4,5,6,10};//我们以大小为10的数组为例
int sum1 = SUM(a, 10);
a[5] = -1;//将a[5]替换为-1
int sum2 = SUM(a,10);
int result = sum1 - sum2 - 1;
cout << result<<endl;
return 0;
}
2、假如现在有一个很大很大的数据表,如果要提高数据查询的速度,如何进行优化提升其性能?
1)索引优化
2)使用中间表
数据库掌握的不好,就不展开了。
3、是否使用过百度网盘,其中什么功能印象深刻?分析其原理、工作机制。
印象最深的是分享功能,包括公开分享和私密分享。
感觉工作机制应该是系统生成一个链接和密码,然后用户访问该链接时,Server检查出来该链接是需要密码的,就要用户提供密码,然后用户提供后,进行验证。
网盘的原理其实就是网络公司将其服务器的硬盘或硬盘阵列中的一部分容量分给注册用户使用。
网盘最新技术:云计算存储技术。传统网盘将逐渐被云存储取代。
云存储是构建在高速分布式存储网络上的数据中心,它将网络中大量不同类型的存储设备通过应用软件集合起来协同工作,形成一个安全的数据存储和访问的系统,适用于各大中小型企业与个人用户的数据资料存储、备份、归档等一系列需求。
4、打开了百度网盘页面,如果现在要你对这个页面上的所有关键部分进行测试,需要进行哪些功能的测试?
百度文库里有一篇测试报告,感觉写的不过,请戳:百度云盘测试报告