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

来源:互联网 发布:java工作流workflow 编辑:程序博客网 时间:2024/06/07 03:57

       这绝对是真实的“战场”弄下来的资料,绝对超值,倾情奉献解析。

       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[N][N];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[N] = qurey;char b[N] = 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的经验告诉大家,提前准备是必要且有效的,本作者提前三个月左右开始准备!所以准备有多重要,各自体会吧!

0 0
原创粉丝点击