阿里巴巴 移动客户端开发在线笔试题.docx
- 文档编号:30766374
- 上传时间:2023-08-23
- 格式:DOCX
- 页数:22
- 大小:203.01KB
阿里巴巴 移动客户端开发在线笔试题.docx
《阿里巴巴 移动客户端开发在线笔试题.docx》由会员分享,可在线阅读,更多相关《阿里巴巴 移动客户端开发在线笔试题.docx(22页珍藏版)》请在冰豆网上搜索。
阿里巴巴移动客户端开发在线笔试题
阿里巴巴2015移动客户端开发在线笔试题
卷首语:
该试卷共有两部分构成:
必做题,20道单选题,40分钟;附加题,3道大题,80分钟;共计120分钟。
一、必做题部分
1、
选第4个
2、
选第4个
3、
答案选的第三个不确定
4、程序出错在什么阶段______?
intmain(void)
{
cout<< “welcometotaobao"< } 预处理阶段出错 编译阶段出错 汇编阶段出错 链接阶段出错 运行阶段出错 程序运行正常 答案选预处理阶段出错 5、下列描述中,唯一正确的是______。 本题没有正确选项 本题有多个正确选项 D和E都不正确 B和C有一个正确 C不正确 E和F有一个正确 6、某足球队有四名外援,分别来自巴西、荷兰、意大利和美国。 他们分别擅长前锋、后卫或守门,其中: ①美国外援单独擅长守门; ②意大利外援不擅长前锋; ③巴西外援和另外某个外援擅长相同的位置; ④荷兰外援擅长的位置和巴西外援不同。 以上条件可以推出巴西外援擅长的位置是______。 前锋 守门 后卫 前锋或守门 后卫或守门 前锋或后卫 答案选择后卫 7、每台物理计算机可以虚拟出20台虚拟机,假定一台虚拟机发生故障当且仅当它所宿主的物理机发生故障。 通过5台物理机虚拟出100台虚拟机,那么关于这100台虚拟机的故障的说法正确的是: ______? 单台虚拟机的故障率高于单台物理机的故障率。 这100台虚拟机发生故障是彼此独立的。 这100台虚拟机单位时间内出现故障的个数高于100台物理机单位时间内出现故障的个数。 无法判断这100台虚拟机和100台物理机哪个更可靠。 如果随机选出5台虚拟机组成集群,那么这个集群的可靠性和5台物理机的可靠性相同。 可能有一段时间只有1台虚拟机发生故障。 答案选择第三个 8、用6块1×2的完整瓷砖,铺满2×6的地面,一共有______种不同的铺法(不允许将瓷砖划分成小块)。 13 15 22 24 25 26 答案选13 9、一个函数定义的返回值是float,它不能在 return语句中返回的值的类型是: ______。 char int float long double 以上皆可以 答案选double 10、Linux系统中某个可执行文件属于root并且有setid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是______? rootmike rootroot mikeroot mikemike deamonmike mikedeamon 11、在32位操作系统中,下列类型占用8个字符的为______。 shortint intClong unsignedint longlong char int 答案选择int 12、关于IP地址下列说法错误的是______。 IP地址采用分层结构,它由网络号与主机号两部分组成 根据不同的取值范围IP地址可以分为五类 202.112.139.140属于B类地址 每个C类网络最多包含254台主机 IPv6采用128位地址长度 A类,B类和C类地址为内部私有地址 13、设m和n都是int类型,那么以下for循环语句,______。 for(m=0,n=-1;n=0;m++,n++)n++; 循环体一次也不执行 循环体执行一次 是无限循环 有限次循环 循环结束判断条件不合法 运行出错 14、已知一个二叉树的前序遍历结果是(ACDEFHGB),中序遍历结果是(DECAHFBG),请问后序遍历结果是______。 HGFEDCBA EDCHBGFA BGFHEDCA EDCBGHFA BEGHDFCA BGHFEDCA 15、在一个请求页式存储管理中,一个程序的页面走向为3、4、2、1、4、5、3、4、5、1、2,并采用LRU算法。 设分配给该程序的存储块数S分别为3和4,在该访问中发生的缺页次数F是______。 S=3,F=6;S=4,F=5 S=3,F=7;S=4,F=6 S=3,F=8;S=4,F=5 S=3,F=8;S=4,F=7 S=3,F=10;S=4,F=8 S=3,F=11;S=4,F=9 16、中关村电子城某卖手机的店铺给客人报价,如果按照底价500元(成本价)报出,那么客人就一定会选择在该店铺购买;价格每增加1元,客人流失的可能性增加1%。 那么该店铺给客人报出的最优价格是: ______? 500元 510元 520元 530元 540元 以上都不对 17、在一个童话世界里,任意两个人之间要么是朋友关系,要么是敌人关系,不存在其他关系及没有关系的情况。 并且,如果A和B是朋友关系,B和C是朋友关系,那么A和C必然是朋友关系。 那么关于这个童话世界中的人群的说法错误的是: ______? 可能只有1个人群,这个人群内部是朋友关系。 可能有2个人群,人群内部是朋友关系,人群之间是敌人关系。 可能有3个及以上个人群,人群内部是朋友关系,人群之间是敌人关系。 如果存在多个人群,并且人群内部是朋友关系,人群之间是敌人关系,那么这些人群必然是差不多大小的。 选项B中的情况可以是其中一个人群只有一个人,另外一个人群可以由很多人。 这样一个世界里朋友关系是比较不容易发生变化的。 18、针对以下代码,constcharstr1[]="abc"; constcharstr2[]="abc"; constchar*p1="abc"; constchar*p2="abc";判断下列说法哪个是正确的: ______。 str1和str2地址不同,P1和P2地址相同。 str1和str2地址相同,P1和P2地址相同。 str1和str2地址不同,P1和P2地址不同。 str1和str2地址相同,P1和P2地址不同。 4个地址都相同 4个地址都不相同 答案选str1和str2地址不同,P1和P2地址相同。 19、“村长”带着5对父子参加“爸爸去哪儿”第三季第二站某村庄的拍摄。 村里为了保护小孩不被拐走有个千年的规矩,那就是吃饭的时候小孩左右只能是其他小孩或者自己的父母。 那么5对父子在圆桌上共有______种坐法。 (旋转一下,每个人面对的方向变更后算是一种新的坐法) 960 3120 2400 7200 7440 9600 20、下列结构中,______必须随机存取实现。 栈 队列 数组 单链表 二叉树 堆 答案选择数组 二、附加题 一、给定一个query和一个text,均由小写字母组成。 要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。 例如,query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。 请注意程序效率。 答案: #include #include #include usingnamespacestd; /* *根据ch,找出str中与之相等的字符所在的位置并存于indexs;中 */ voidgetIndexs(charch,char*str,int*indexs) { for(unsignedinti=0,j=0;i { if(ch==str[i]) indexs[j++]=i+1; } } voidLengthofLongestContiSequence(char*query,char*text,int*maxLen) { int*indexs=NULL; intstart,end;//最长公共子序列的起始和终止位置 intlen=0; intoffset=0;//最长公共子字符串起始位置的偏移量 for(unsignedinti=0;i { start=i; free(indexs);//重新分配内存并初始化为0 indexs=(int*)calloc(strlen(text),sizeof(int)); getIndexs(query[i],text,indexs); for(intj=0;indexs[j]! =0;j++)//找出text中与query中字符相等的字符串 { end=i+1; for(;query[end]==text[indexs[j]];) { end++;indexs[j]++; } len=end-start; if(len>*maxLen) { *maxLen=len;//找出最长公共子字符串的长度 offset=start; } } } } intmain() { char*myquery="acbac"; char*mytext="acaccbabb"; intmaxlen=0; LengthofLongestContiSequence(myquery,mytext,&maxlen); cout<<"Thelengthofresultis"< return0; } 二、写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。 请注意程序效率。 三、针对无线互联网的现状和特殊性,请列举可提升用户体验的网络相关优化措施。 (优化点可包括客户端、前端、服务端,甚至业务设计层面) 答案: 在客户端方面: 1)致力UI设计,让用户眼前一新; 2)页面务必清晰,让用户时刻知道自己所处的位置; 3)合理的外贸网站内链更利于用户体验; 4)广告位布局要合理。 在前端方面: 1)减少HTTP的请求数; 2)资源合并且进行压缩处理 3)CSSSprites合并CSS图片,减少请求数的又一个好办法。 4)InlineImages使用data: URLscheme的方式将图片嵌入到页面或CSS中,如果不考虑资源管理上的问题的话,不失为一个好办法。 如果是嵌入页面的话换来的是增大了页面的体积,而且无法利用浏览器缓存。 使用在CSS中的图片则更为理想一些。 5)脚本底置等。 在服务端方面: 1)升级正在使用中的服务器; 2)优化正在使用的服务器; 具体措施: 尽可能的减少HTTP请求数; 降低DNS查询时间; 启用服务器Gzip压缩功能; 推荐大中型网站使用CDN加速工具。 阿里巴巴2014移动客户端开发在线测试笔试题 1.2个人,一人只说真话,一人只说假话,如何只问其中某个人一句话,就分辨出谁是说真话的,谁是说假话的? ______。 A.问任何一人: 你是说真话的,对吗 B.指着其中一人,问另一人: 他是说真话的,对吗 C.指着其中一人,问另一人: 他是说假话的,对吗 D.做不到 B,逻辑题,多想想应该能想的通 2.在linux中,列举当前目录下文件的是哪个命令______。 A.ps B.cd C.mv D.ls D,这估计是整套题最简单的一题,ls 3.一个容器类数据结构,读写平均,使用锁机制保证线程安全。 如果要综合提高该数据结构的访问性能,最好的办法是______。 A.只对写操作加锁,不对读操作加锁 B.读操作不加锁,采用copyOnWrite的方式实现写操作 C.分区段加锁 D.无法做到 C,这题不会,乱蒙的 4.下面关于队列和栈的描述正确的是______。 A.栈是先进先出的数据结构 B.队列是先进先出的数据结构 C.栈内元素可以随机访问 D.队列内的元素可以随机访问 B,学过数据结构的都知道 5.运行的程序总要与内存进行交互。 内存作为操作系统中的重要资源,对内存的分配和释放进行管理是一项非常重要的工作,以下说法中错误的是______。 A.内存泄露是内存管理中的常见问题 B.悬挂引用指的是对某个对象的应用实际上指向一个错误的内存地址 C.在C、C++等系统语言中,有自动的内存管理机制,不需要考虑内存管理的问题 D.程序的动态性越强,内存管理就越重要,内存分配程序的选择也就更重要 C,应该是C,有点不确认 6.某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU时钟周期至少是____。 A.90ns B.80ns C.70ns D.60ns A 7.下列代码的输出结果是 inti=-1; unsignedj=1; if(i printf(“(i else printf(“(ii) printf(“(j>i)成立\n”); else printf(“(j>i)不成立\n”); A.(ii)成立 B.(ii)不成立 C.(ii)成立 D.(ii)不成立 D,在线笔试,运行后得到结果 8.某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是______。 A.45231 B.42351 C.12345 D.54321 A 9.在二进制数据中,小数点向右移一位,则数据______。 A.除以10 B.除以2 C.乘以2 D.乘以10 C 10.时间片调度属于____,多线程分别绑定CPU属于____。 A.并发,并发 B.并发,并行 C.并行,并行 D.并行,并发 B 11对于A、B两种排队方式,说法正确的是_______。 A.方式A效率更高 B.方式B效率更高 C.当排队的任务中有长耗时任务且比例较低时,方式B更具优势 D.都不正确 C 12.设一棵二叉树中有3个叶子节点,有8个度为1的节点,则该二叉树中总的节点数为______。 A.12 B.13 C.14 D.15 C 二叉树的性质可知,度是0的节点比度是2的节点数多1个,所以度是2的节点为2个,所以共有3+8+2=13 13.下列叙述中正确的是____。 A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D.循环队列中元素的个数是由队头指针和队尾指针共同决定 D 14.你有一个3X3X3的立方体。 你现在在正面左上的顶点,需要移动到对角线的背面右下的顶点中。 每次移动不限距离,但只能从前至后、从左至右、从上至下运动,即不允许斜向或后退。 有______种方法。 A.9 B.90 C.180 D.1680 C,不会,涉及到运筹学: 图与网络规划;很复杂! 需要大量计算! 15.有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。 假设N较大,本机内存也很大,可以存下A、B和结果矩阵。 那么,为了计算速度,A和B在内存中应该如何存储(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列) A.A按行存,B按行存。 B.A按行存,B按列存。 C.A按列存,B按行存。 D.A按列存,B按列存。 B 16.小组赛,每个小组有5支队伍,互相之间打单循环赛,胜一场3分,平一场1分,输一场不得分,小组前三名出线。 平分抽签。 一个队最少拿______分就有理论上的出线希望。 A.1 B.2 C.3 D.4 B 17.已有变量定义和函数调用语句;编程-代码 inta=25; print_value(&a); 则下面函数的正确输出结果是______。 voidprint_value(int*x) { printf(“%x\n”,++*x); } A.25 B.26 C.19 D.1a D,在线笔试,运行的 18.以下指令集架构属于复杂指令集架构的是____。 A.ARM B.MIPS C.SPARC D.以上皆不是 D,这题XX的 19.下面序列中,哪一种序列不可能是一个二叉搜索树的后序遍历结果? A.1,2,3,4,5 B.1,2,5,4,3 C.5,4,3,2,1 D.3,5,1,4,2 A.从四个结果对比一看,A选项的根是5,所以不可能是二叉搜索数 20.给定二叉树如图,设N代表二叉树的根,L代表节点的左子树,R代表节点的右子树。 若遍历后的节点序列为2、6、4、7、1、3、5,则其遍历方式是______。 A.LRN B.NRL C.RLN D.LNR D 二.多选题 21.下面属性中,是事物(Transaction)属性的有____。 A.原子性(Atomic) B.并发性(Concurrency) C.一致性(Consistent) D.隔离性(Isolated) E.持久性(Durable) ACDE,XX的 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。 是恢复和并发控制的基本单位。 事务应该具有4个属性: 原子性、一致性、隔离性、持续性。 这四个属性通常称为ACID特性。 原子性(atomicity)。 一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。 一致性(consistency)。 事务必须是使数据库从一个一致性状态变到另一个一致性状态。 一致性与原子性是密切相关的。 隔离性(isolation)。 一个事务的执行不能被其他事务干扰。 即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。 持久性(durability)。 持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。 接下来的其他操作或故障不应该对其有任何影响。 22红黑树在处理过程中红黑节点会产生冲突,请问在下列操作中解决的冲突中,正确的是______。 A.插入操作时,解决红黑冲突 B.删除操作时,解决黑黑冲突 C.插入操作时,解决红红冲突 D.删除操作时,解决黑黑冲突 BC,红黑树对本科生算超纲了吧,XX的 23小明、小华和小宝站成一排。 小明是其中最大的,他只说真话;第二大的是小华,他只说假话;而最小的小宝有时说真话,有时说假话。 小天知道这三个人,但不清楚到底哪个是哪个。 他问最左面的这位“你们仨中间的是谁”? 回答是“哦,那是小明”。 小天随后问中间的这位,“你叫什么”? 回答是“我是小宝”。 最后小天问最右侧的那位“中间这位是谁”? 他得到的回复是“是小华”。 那么,这三位的排位顺序从左至右可能是______。 A.小宝、小明、小华 B.小明、小宝、小华 C.小宝、小华、小明 D.小明、小华、小宝 E.小华、小宝、小明 C,和题1差不多,仔细想想能想通的 24某服务进程的QPS(没秒处理的请求个数)较低,在空闲时间RT(响应时间)比较合理。 在压力下CPU占用率20%左右。 那么可能存在的问题是______。 A.该进程的某个处理过程的代码需要提高速度 B.该进程依赖的服务可能存在性能瓶颈 C.该进程需要增加线程数 D.该进程可能有一个锁的粒度太大 这题不会,没选,笔试题选错后扣分,不选0分,所以没选 25.以下C语言程序片段用于估测CPU的cache参数(容量,延迟等): #defineMAX_SIZE(64*1024*1024L) #defineSTRIDE(128) #defineSTEP(4096) #defineREPEAT(1000*1000L) doublet[MAX_SIZE/STEP]; intd[MAX_SIZE/sizeof(int)]; t[0]=0; longfoot_print; for(foot_print=STEP;foot_print { longi; for(i=0;i { longnext=(i+STRIDE)%foot_print; d[i/sizeof(int)]=next/sizeof(int); } intm=0; doublet1=get_time_second(); for(i=0;i { ;//** } doublet2=get_time_second(); t[foot_print/STEP]=t2–t1; printf(“%d\t”,x);//avoidcompileroptimization } //recordt[]… 假设CPU具有L1/L2/L3三层cache,cacheline长度小于128B,硬件预取已经关闭。 请补全标记**的行,完成其功能; 这题真不会,好难 26.给定n个数{1,2,…n},从中选取任意两两不同的k个数,请编写程序输出所有的可能的选择,要求不重不漏 voidfun(inta[],intn) { for(inti=0;i for(intj=i+1;j if(a! =a[j]) { printf(“%d%d\n”,a,a[j]); } } 这题看错了,看成选取两个不同的数,所以写了上面的代码,看成这么简单,后来重新看了题,是选取K个俩俩不同的数,就好难了,又没时间了,就没写了。 27长度为100的环形双向链表,A指针顺时针方向每次走3步,B指针逆时针方向每次走5步,每次走完判断是否相遇,初始状态B在A逆时针方向相距20,走100次,AB指针能相遇几次? 第一次相遇是在: 3*x+5*x=80x=10 即走10次会发生第一次相遇 后面的90次: 3*y+5*y=100*N(N是正整数)y=50, 所以第二次在60次的时候。 所以总共相遇2次 三、客户端附加题 28.针对无线互联网的现状和特殊性,请列举可提升用户体验的网络相关优化措施。 (优化点可包括客户端、前端、服务端,甚至业务设计层面) 在客户端方面: 1.减少网络请求的数量, 2.为网络数据做本地缓存处理 3.多线程处理,不要死等网络操作的结果 在前端方面: 1.尽量给出友好的提示,提示用户等待,别让用户感觉程序“卡死” 在服务端方面: 1.尽量做好数据库设计,从设计上考虑减少网络请求次数 这题不知道是不是这么答,觉得往高层次答,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 阿里巴巴 移动客户端开发在线笔试题 移动 客户端 开发 在线 笔试