您的位置:首页 > 其它

阿里巴巴2015年校园招聘笔试经历(题目与分析---倾情奉献)

2014-12-07 09:38 381 查看
这绝对是真实的“战场”弄下来的资料,绝对超值,倾情奉献解析。

2015年校园招聘的笔试是2014年8月29日晚7点到9点两小时。笔试方式是在线网络笔试,总体感受是:时间严重紧张,试卷分为两大类:第一大类---选择题好像是21道题目,时间是40分钟;第二大类----附加题三道,时间80分钟,第一题字符串处理相关、第二道题二叉树处理相关、第三道题是根据所属技术岗位不同而有所不同的。PS:搞笑的是,点提交答卷后,弹出个贱贱的界面,显示的内容是“感觉被虐了么?”。囧!

另外,如果你够牛叉,过了笔试(笔试后上官网查结果,两三天出结果的一般都是恭喜你通过笔试,请预约面试时间,如果很多天都没有结果,基本上就没有结果了,囧),那就等着面试了。2015年上海的面试比杭州的早,上海的面试可预约面试时间是9.16和9.17两天(9.18就圆桌会议了,阿里办事很神速的!),地点在浦东新区张江高科地铁站2号口出来右转沿着科苑路往南的中兴和泰酒店进行的。关于面试的经历和详细细节,本作者后续也会贴出来,希望对大家找工作有所帮助和参考,谢谢!

下面就贴出笔试的题目(选择题当时只弄了13道,剩下的没有了,附加题全部有)和相应的解析。





























另外还有8道题目木有了,将就这样看把。现在让你做,能做出几道题目?“感觉被虐了么?”。其实也有方法不用参加笔试,大概是7月份的时候,通过内推的方式进行电话面试,不过我内推电面第一轮就挂了,当时都没怎么准备,连最基本的概念都不记得了。所以准备有多重要,大家自己体会!

选择题严重的时间不足啊,尼玛啊!平时多积累,没办法了,实在考察的范围太广泛了!现在着重讲讲附加题,附加题时间稍微宽松一点,但是在时间紧迫的情况下编程也是蛮蛋疼的。

本作者是基于C++编程的,所以附加题贴出的是C的代码,当然笔试时,你可以选择用Java语言编程。

附加题第一题:字符串的处理能力,可以平时多练练,比如华为的机试题中字符串处理相关的,还是蛮不错的。



下面是本作者当时的答案代码:

#include <stdio.h>
#include <string.h>

int FindQueryInText( char query[], char text[]);     //查找长度函数
void GetQuery( char sourcequery [], char densquery[],int startIndex,int querylength );//从指定位置读取指定长度的到目的字符串中

void main()          //测试main函数
{
int length = 0;               //运算结果长度
char query[] = "acbac";       //初始化字符串
char text[] = "acaccbabb";    //初始化被查找字符串

length = FindQueryInText( query,text);  //调用函数给出结果
printf("%d",length);
}

int FindQueryInText( char query[], char text[])
{
int querylength = 0,textlength = 0;
int i = 0,j=0;
char comparequery[100] = {0};
char *pqueryPosition = NULL;

querylength = strlen(query);
textlength = strlen(text);

for(i = querylength;i>0;i--)          //循环querylength次,依次查找是否有字符串
{
for(j = 0;j<querylength-i+1;j++)  //每次查找要从query中取querylength-i次
{
GetQuery(query,comparequery,j,i); //每次比较从query中取出i个字符,进行比较
pqueryPosition=strstr(text,comparequery);//比较,若是text中用comparequery中,则返回非NULL指针。
if (pqueryPosition != NULL)
{
break;
}
}
if (pqueryPosition != NULL)
{
break;
}
}
return i;
}

void GetQuery( char sourcequery [], char densquery[],int startIndex,int querylength )
{
int i = 0;
for (i = 0;i < querylength;i ++ )
{
densquery[i] = sourcequery[i+startIndex];
}
densquery[querylength] = '\0';
}


笔试后思考还有另一种实现方式,代码更加简单,如下所示:

#include <stdio.h>
#include <string.h>
using namespace std;

#define qurey "acbac"
#define text  "acaccbabb"
#define N 10002

int c

;

int STRICT_LCS_LENGTH(char *X, char *Y,int m,int n)
{
int i,j,max=0;
for ( i = 0;i < m;i++)
c[i][0] = 0;

for ( j = 0;j < n;j++)
{c[0][j] = 0;}

for( i = 0;i < m;i++){
for ( j = 0;j < n;j++){
if (X[i] == Y[j])
{
c[i][j] = c[i-1][j-1]+1;
if(c[i][j] > max)
max = c[i][j];
}
else
c[i][j] = 0;
}
}
return max;
}

int main(){

char a
= qurey;
char b
= text;
int m = strlen(a);
int n = strlen(b);
int len = STRICT_LCS_LENGTH(a,b,m,n);
printf("%d\n",len);

}


附加题第二题:尼玛,编程半天都没有办法,后来随便弄了个没有编译错误的代码贴上去了,囧!



下面是代码:

#include<iostream>
using namespace std;

#define MAXLEN 20    //最大长度
typedef char DATA;    //定义元素类型
struct  CBTType                   //定义二叉树结点类型
{
DATA data;           //元素数据
CBTType * left;    //左子树结点指针
CBTType * right;   //右子树结点指针
};

CBTType * InitTree()
{
CBTType * node;
if(node = new CBTType)  //申请内存
{
cout<<"请先输入一个根节点数据:"<<endl;
cin>>node->data;
node->left=NULL;
node->right=NULL;
if(node!=NULL)   //如果二叉树结点不为空
{
return node;
}
else
{
return NULL;
}
}
return NULL;
}

CBTType *TreeFindNode(CBTType *treeNode,DATA data)
{
CBTType *ptr;
if(treeNode==NULL)
{
return NULL;
}else
{
if(treeNode->data==data)
{
return treeNode;
}
else        //分别向左右子树查找
{
if(ptr=TreeFindNode(treeNode->left,data))  //左子树递归查找
{
return ptr;
}
else if(ptr=TreeFindNode(treeNode->right,data))         //右子树递归查找
{
return ptr;
}
else
{
return NULL;
}
}
}
}

int main()
{
int n;
int m;
cout<<"please enter the number n:";
cin>>n;

for(int i=0;i<n;i++)
{
//p->data=i;
m=1+rand()%2;
//	pout=create(p,m);
}

return 0;
}


附加题第三题:这个就要懂测试相关的知识了,只能平时积累,因为你不知道他考你具体的哪一点知识,推荐的参考资料(免费文档)是百度的文档:《软件测试面试题汇总》和《测试用例的设计方法(全)》这两个文档,个人觉得很不错,值得打印出来详细看!



下面是附加题第三题本作者当时的答案,也不知道对不对,囧!

此搜索系统的测试应该至少从测试与信息安全两方面考虑。需要测试方面有很多,如根据检索词是否能够给出预期的摘要信息和地址链接、能否给出与检索词有关的热门搜索词、能否对检索词进行纠错、能否为推送与检索词有关的数据等。
对搜索引擎测试需要关注如下详细特性:搜索结果是否准确,搜索结果排序是否符合预期,数据是否在页面指定处展现,搜索结果是否命中不同类别的数据,页面样式是否正确,页面功能是否正常等。
此题中淘宝搜索的实现载体是Web页面,所有测试关注特性都存在于Web页面的源文件中,所以对搜索引擎的测试可以从对Web页面的处理入手。对于页面样式和功能方面搜索引擎为保证结果页加载速度,将相关页面样式文件、JS文件和用户信息缓存到用户浏览器中,所以可默认用户浏览器中已经缓存相关文件。
对搜索引擎测试的解决方案如下:搜索结果会全部展现在Web页面上,所以通过比对页面源代码验证结果的准确性;通过已知的HTML标签定位结果页中的特殊位置;通过标签内容顺序验证结果的排序;比对页面中指定位置出现的文件名或样式代码验证页面样式;通过构造HTTP请求头触发页面功能验证返回结果是否存在已知数据,或者通过读取结果页面链接比对链接页面是否存在已知数据,实现页面功能的验证。
好了,到这里,整个笔试题目就结束了。

另外,互联网类的大公司笔试,无论是阿里巴巴的在线笔试,还是百度、腾讯的现场笔试,据说改卷都是先改选择题,如果选择题错误率超过40%以上,那后面的附加题或是大题就不看了,Out!所以选择题的准确率保证特别重要,要选择性的先把把握大的做对!!!

最后:以内推电面第一轮Out的经验告诉大家,提前准备是必要且有效的,本作者提前三个月左右开始准备!所以准备有多重要,各自体会吧!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: