以下均为本人当时的答案,不是正确答案。。欢迎参加过的讨论我的错题,来一起进步。
面试应该不会去,没预约上,再者对当前工作也比较满意,就不去霸面麻烦人家了。
第一部分:选择题
1、a把校园中同一区域的两张不同比例尺的地图叠放在一起,并且使其中较小尺寸的地图完全在较大尺寸的地图的覆盖之下。每张地图上都有经纬度坐标,显然,这两个坐标系并不相同。我们把恰好重叠在一起的两个相同的坐标称之为重合点。下面关于重合点的说法中正确的是:______?
· 可能不存在重合点。
· 必然有且仅有一个重合点。
· 可能有无穷多个重合点。
· 重合点构成了一条直线。
· 重合点可能在小地图之外。
· 重合点是一小片连续的区域。
2、某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。他们分别擅长前锋、后卫或守门,其中:
① 美国外援单独擅长守门;
② 意大利外援不擅长前锋;
③ 巴西外援和另外某个外援擅长相同的位置;
④ 荷兰外援擅长的位置和巴西外援不同。
以上条件可以推出巴西外援擅长的位置是______。
· 前锋
· 守门
· 后卫
· 前锋或守门
· 后卫或守门
· 前锋或后卫
3、毕业典礼后,某宿舍三位同学把自己的毕业帽扔了,随后每个人随机地拾起帽子,三个人中没有人选到自己原来带的帽子的概率是______。
· 1/2
· 1/3
· 1/4
· 1/6
· 1/8
· 1/9
4、计算三个稠密矩阵A、B、C的乘积ABC,假定三个矩阵的尺寸分别为m*n, n*p, p*q,且m<n<p<q,以下计算顺序效率最高的是:______?
· (AB)C
· A(BC)
· (AC)B
· (BC)A
· (CA)B
· 以上效率相同
5、有字符序列{Q,H,C,Y,P,A,M,S,R,D,F,X},新序列{F,H,C,D,P, A,M,Q,R,S,Y,X}是下列______排序算法一趟扫描的结果。
· 二路归并排序
· 快速排序
· 步长为4的希尔排序
· 步长为2的希尔排序
· 冒泡排序
· 堆排序
6、关于IP地址下列说法错误的是______。
· IP地址采用分层结构,它由网络号与主机号两部分组成
· 根据不同的取值范围IP地址可以分为五类
· 202.112.139.140属于B类地址
· 每个C类网络最多包含254台主机
· IPv6采用128位地址长度
· A类,B类和C类地址为内部私有地址
7、有一只火鸡出生在某年春天。从出生第一天起,主人就会每天给它喂食。这只火鸡用一个模型来计算主人对它的爱的程度=吃到米的天数/(出生之后的总天数+1)。这只火鸡发现这个爱的指数每天都在上升。有一天感恩节到了,火鸡被主人杀掉了。关于火鸡的爱的指数模型的说法正确的是:______?
· 火鸡的模型之所以无效,是因为这个公式不是最大似然估计。
· 火鸡的模型之所以无效,是因为这个爱的指数增长速度先快后慢。
· 火鸡的模型之所以无效,是因为没有计算这个爱的指数的方差。
· 火鸡的模型之所以无效,是因为分母+1了。
· 火鸡的模型之所以无效,是因为主人太坏了。
· 火鸡的模型之所以无效,是因为统计的概率空间不完整。
个人认为这不是个概率问题,因为这个模型本身就是无中生有的,而且火鸡在那个世界的智商如果这么高了,它一定会讨好主人的,萌萌哒~再让我选肯定还选这个~就是主人太坏了!
int func(unsigned int i)
{
unsigned int temp = i;
temp = (temp & 0x55555555) + ((temp & 0xaaaaaaaa)>>1);
temp = (temp & 0x33333333) + ((temp & 0xcccccccc)>>2);
temp = (temp & 0x0f0f0f0f) + ((temp & 0xf0f0f0f0)>>4);
temp = (temp & 0xff00ff) + ((temp & 0xff00ff00)>>8);
temp = (temp & 0xffff) + ((temp & 0xffff0000)>>16);
return temp;
}
请问func(0x1f530828)的返回值是:______
· 15
· 14
· 16
· 13
· 1
· 12
9、关于UNIX系统代码段和数据段分开的目的,错误的说法有______。
· 可共享正文
· 可共享数据
· 可重入
· 可保护代码为只读
· 方便编程
· 更好支持内存回收策略
10、下列关于线程调度的叙述中,错误的是______。
· 调用线程的sleep()方法,可以使比当前线程优先级低的线程获得运行机会
· 调用线程的yeild()方法,只会使与当前线程相同优先级的线程获得运行机会
· 当有比当前线程的优先级高的线程出现时,高优先级线程将抢占CPU并运行
· 一个线程由于某些原因进入阻塞状态,会放弃CPU
· 具有相同优先级的多个线程的调度一定是分时的
· 分时调度模型是让所有线程轮流获得CPU使用权
11、下列关键字序列为堆的是______。
· 100,60,70,50,32,65
· 60,70,65,50,32,100
· 65,100,70,32,50,60
· 70,65,100,32,50,60
· 32,50,100,70,65,60
· 50,100,70,65,60,32
12、棋盘上共有2020个格子,从1开始顺序编号。棋子初始放在第1格,通过扔骰子决定前进格子数,扔出x点就前进x格。骰子有6面,分别对应1至6;质量均匀。当棋子到达2014或超过2014,游戏结束。那么,棋子刚好到达2014的概率与______最接近。
· 2/3
· 1/2
· 1/3
· 2/7
· 1/6
· 1/7
13、Linux系统中某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是______?
· root mike
· root root
· mike root
· mike mike
· deamon mike
· mike deamon
14、一个函数定义的返回值是float,它不能在
return语句中返回的值的类型是:______。
· char
· int
· float
· long
· double
· 以上皆可以
15、下列结构中,______必须随机存取实现。
· 栈
· 队列
· 数组
· 单链表
· 二叉树
· 堆
16、某团队有 2/5的人会写Java程序,有3/4的人会写C++程序,这个团队里同时会写Java和C++的最少有______人。
· 3
· 4
· 5
· 8
· 15
· 20
17、对立的两方争夺一个价值为1的物品,双方可以采取的策略可以分为鸽子策略和鹰策略。如果双方都是鸽子策略,那么双方各有1/2的几率获得该物品;如果双方均为鹰策略,那么双方各有1/2的概率取胜,胜方获得价值为1的物品,付出价值为1的代价,负方付出价值为1的代价;如果一方为鸽子策略,一方为鹰策略,那么鹰策略获得价值为1的物品。在争夺的结果出来之前,没人知道对方是鸽子策略还是鹰策略。当选择鸽子策略的人的比例是某一个值时,选择鸽子策略和选择鹰策略的预期收益是相同的。那么该值是:
· 0.2
· 0.4
· 0.5
· 0.7
· 0.8
· 以上都不对
18、有一个用数组C[1..m]表示的环形队列,m为数组的长度。假设f为队头元素在数组中的位置,r为队尾元素的后一位置(按顺时针方向)。若队列非空,则计算队列中元素个数的公式应为?
· (m+r-f) mod m
· r-f
· (m-r+f) mod m
· (m-r-f) mod m
· (r-f) mod m
· 需要判断边界
还有两个选择题没贴,忘了。
第二部分:附加题(就是非客观题)
一、给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。
//改HDU1231 dp,c++ string 实现
#include <iostream>
#include <string>
using namespace std;
string str1="acbac";
string str2="acaccbabb";
int len[500];
int findmaxlength(string str1,string str2)
{
int max=0;
for(int i=1;i<=str1.length();i++)
{
for(int j=str2.length();j>0;j--)
{
if(str1[i-1]==str2[j-1])
{
len[j]=(len[j-1]+1);
max=max>len[j]?max:len[j];
}
else len[j]=0;
}
}
return max;
}
二、如果让你来测试淘宝站内的搜索系统,请问你能想到哪些方法来进行测试?
我当时的回答非常萌=A=
我们假设淘宝网的搜索入口页面如下图所示:
1、功能测试
对搜索框(宝贝、店铺)内:
(1)输入一个存在的产品,ex:“衣服”,检查link
(2)输入一个不存在的产品,ex:“ufhaiudsbngbdsjinvoxzcnoivhasuihfiawjeigobasiu"
(3)其他边界条件测试:输入空符号,输入过长字符串,各种空格的随机插入等
对语音输入功能的测试:
同样语音输入包含以上方面。
比如兼容性:加入各种方言,外语,不明声音等。
2、性能测试
(1)负载测试:模拟用户并发操作,验证搜索框的负载能力。
(2)压力测试:在一定负载下,用自动化测试脚本7*24,验证功能测试的准确程度和服务器的效率。
(3)连接速度测试:模拟用户操作,查看连接速度。
3、安全性测试
(1)cookie测试:是否加密,是否起作用
(2)表单测试:构造form和链接,检查可用性及安全问题。
(3)链接测试:检查链接是否可用
(4)正则表达式测试:构造非法正则表达式等。
4、可用性测试
站在用户角度,检查信息是否有效可用
5、兼容性测试
用户浏览器的版本/输入字符集的差异……
……
…………其他本人没有想到的问题可以在项目组中通过提交bug的方式解决。
最后联系开发人员,检查解决完手头上的问题,最后做回归测试。
现在来看最后两句算是庄博一,变相告诉看我卷子的我经历过QA的流程。。
三、写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
class node
{
public:
int data;
node *left;
node *right;
};
node r;
long long maxx=0x7fffffff;
long long minn=-0x7fffffff;
int dist(r *root)
{ if (root==NULL)
return 0;
if (maxx<root.data)
maxx=root.val;
if (minn>root->data)
minn=root.val;
dist(root->right);
dist(root->left);
}
int main()
{
dist(root);
long long ans=maxx-minn;
cout<<ans<<endl;
return 0;
}