阿里巴巴20152014年移动客户端开发在线笔试题

合集下载

阿里巴巴笔试题答案

阿里巴巴笔试题答案

第一题选C,不解释吧,按位与就行第二题选D,不解释,2*3*sizeof(int*)=48(64位机器上是8字节一个指针)第三题选C,我不确定,不过,应该是的第四题选D,明显考的是补码第5题选D,果断访问错误(这是Java的代码)第6题选B,大家都懂第7题果断A啊第8题果断是B,不解释,大家懂第9题是B,’0’不是’\0’,这个要注意第10题果断是Fibonacci,显然是C,前几个是0,1,2,3,5,8,13,21第11题选B,计算量是2^35,现在计算机的主频是2^30,所以差不多是几秒的事第12题是B,显然有n=4N1+3N3+2N2+N1+1=N4+n3+n2+n1,所以N0=82,不解释第13题果断是D,这个老题目了,不解释第14题是C,二分查找嘛,大家都会,不解释第15题是Fulkerson算法,算出来是46,每一次选一个增广路径即可,直接选不出来为止第16题选185,显然,它给了120块钱(楼主二了)和一个物品(值65元),所以亏损185 这个题目楼主是这样想的,结果二了第17题是2,不解释Fermart小定理,2^6 mod 7= 1,所以2^100=2^4=16=2 mod 7第18题,我觉得是B,不知道对不对,这个不会第19题,算得不太精细,选了A,不确定。

第20题C,概率与级数运算,不解释第21题,果断B,D,malloc,new申请到的是Virtual Memory,不过,windows里面还真可以申请到物理内存,用的是VirtualAllocEx API即可第22题B,C肯定对,D不确定,感觉是对的,不过,没敢选第23题,其实就是解n^14<10^16,解出n<= 13,所以选14,15(我是推出n<10^(8/7)然后算出n<=13第24题,D,因为选出第一个是白的,所以位于A的概率是2/3第25,不可能,需要2.8*10^8 bit,而蓝牙只能传2.4*10^7bit所以一帧需要0.2S第26题(mnlogn)不解释,归并而已第27题显然是17分钟第28,错两个地方1,没考虑只有一个数,2,可能死循环(给你数组0,2,3让查找1)楼主两个都想到了,写的时候忘记了写1,悲剧第29题,果断SkipList,地球人懂的O(PLogpN)。

阿里巴巴2015校招软件测试在线笔试

阿里巴巴2015校招软件测试在线笔试

共两部分,第一部分20选择题,第二部分3简答题第一部分选择
第二部分问答题
一, 功能测试
1. 输入关键字,查看: 返回结果是否准确,返回的文本长度需限制
2. 结果显示:标题,卖家,销售量。

单行/多行,是否有图片。

.
3. 结果排序:价格销量评价综合。

4.返回结果庞大时,限制第一页的现实量,需支持翻页
5. 多选项搜索:关键字品牌产地价格区间是否天猫是否全国购。

6. 是否支持模糊搜索,支持通配符的查询
7, 网速慢的情况下的搜索
8. 搜索结果为空的情况
9. 未登录情况和登录情况下的搜索(登录情况下存储用户搜索的关键字/搜索习惯)
二.性能测试:
1. 响应时间,并发量
2. 手机考虑单次搜索的流量,CPU,内存耗电量
三. 兼容性
windows/ Mac /Iphone/ Android, 不同浏览器下。

阿里巴巴笔试题

阿里巴巴笔试题

1.平均速度最快的排序算法是______。

Shell排序快速排序冒泡排序插入排序2014-03-29 18:36:022.某服务进程的QPS(没秒处理的请求个数)较低,在空闲时间RT(响应时间)比较合理。

在压力下CPU占用率20%左右。

那么可能存在的问题是______。

该进程的某个处理过程的代码需要提高速度该进程依赖的服务可能存在性能瓶颈该进程需要增加线程数该进程可能有一个锁的粒度太大2014-03-29 18:36:163.无锁化编程有哪些常见方法?______ 。

针对计数器,可以使用原子加只有一个生产者和一个消费者,那么就可以做到免锁访问环形缓冲区(Ring Buffer)RCU(Read-Copy-Update),新旧副本切换机制,对于旧副本可以采用延迟释放的做法CAS(Compare-and-Swap),如无锁栈,无锁队列等待2014-03-29 18:37:002014-03-29 18:37:004.假设栈S和队列Q的初始状态为空,元素a、b、c、d、e、f依次通过S和Q,即每一个元素必须先进栈,之后再出栈进入队列。

若这6个元素出队的顺序是b、d、c、f、e、a,则栈S的容量至少应该为______。

34562014-03-29 18:37:115.设栈S初始状态为空。

元素a,b,c,d,e,f依次通过栈S,若出栈的顺序为c,f,e,d,b,a,则栈S的容量至少应该为______ 。

3462014-03-29 18:37:256.一个单向链表,头指针和尾指针分别为p,q,以下_____项操作的复杂度受队列长度的影响?删除头部元素删除尾部元素头部元素之前插入一个元素尾部元素之后插入一个元素2014-03-29 18:37:337.集合A={1,2,3},A上的关系R={(1,1),(2,2),(2,3),(3,2),(3,3)},则R不具备。

自反性传递性对称性反对称性2014-03-29 18:37:448.件设备的寿命通常符合指数分布,即无记忆性,也就是如果一个设备当前正常工作,那么剩余预期寿命和已经工作的时间无关。

阿里2014年秋招研发试题_附答案

阿里2014年秋招研发试题_附答案

阿里巴巴集团2014校园招聘笔试题(9月22北京)(答案仅是个人见解,欢迎补充更正,谢谢)第一部分单选题(前10题,每题2分;后10题,每题3分。

选对得满分,选错倒扣1分,不选得0分)1、一次内存访问,SSD硬盘访问和SATA硬盘随机访问的时间分别是()A、几微秒,几毫秒,几十毫秒B、几十纳秒,几十微秒,几十毫秒C、几十纳秒,几十微秒,几十毫秒D、几微秒,几十微秒,几十毫秒2、8进制数256,转化成7进制数是(B)A、356B、336C、338D、3463、某网络的IP地址空间为192.168.5.0/24,采用定长子网划分,子网掩码为255.255.255.248,则该网络的最大子网个数、每个子网内最大可分配地址个数各位(C)A、8,32B、32,8C、32,6D、8,304、以下关于链式存储结构说法错误的是(A)A、查找节点时链式存储比顺序存储快B、每个节点是由数据域和指针域组成C、比顺序存储结构的存储密度小D、逻辑上不相邻的节点物理上可能相邻5、假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(A)A、6B、4C、2D、86、下面函数的功能是(C)int fun (char *s){char *p=s;while(*p++);return p-s-1;}A、计算字符串的位(bit)数B、复制一个字符串C、求字符串的长度D、求字符串存放的位置7、判断有向图是否存在回路,利用(A)方法最佳A、拓扑排序B、求最短路径C、求关键路径D、广度优先遍历8、依次读入数据元素序列{a,b,c,d,e,f,g}进栈,元素进栈或出栈顺序是未知的,下列序列中,不可能成为栈空时弹出的元素构成序列的有(D)A、{d,e,c,f,b,g,a}B、{c,d,b,e,f,a,g}C、{e,f,d,g,c,b,a}D、{f,e,g,d,a,c,b}9、下列有关图的遍历说法中,不正确的是(C)A、有向图和无向图都可以进行遍历操作B、基本遍历算法两种:深度遍历和广度遍历C、图的遍历必须用递归实现D、图的遍历算法可以执行在有回路的图中10、在16位机器上跑下列foo函数的结果是(B)void foo(){int i = 65536;cout << i <<”,”;i = 65535;cout << i;}A、-1,65535B、0,-1C、-1,-1D、0,6553511、有一段年代久远的C++代码,内部逻辑复杂,现在需要利用其实现一个新的需求,假定有以下可行的方案,应当优先选择(D)A、修改老代码的接口,满足新的需求B、将老代码抛弃,自己重新实现类似的逻辑C、修改老代码的内部逻辑,满足新的需求D、在这段代码之外写一段代码,调用该代码的一些模块,完成新功能需求12、在5个页框上使用LRU页面替换算法,当页框初始为空时,引用序列为0、1、7、8、6、2、3、7、2、9、8、1、0、2,系统将发生(C)次缺页A、13B、12C、11D、8分析:缺页为:0、1、7、8、6、2、3、9、8、1、0,共11次13、阿里巴巴有相距1500km的机房A和B,现有100GB数据需要通过一条FTP 连接在100s的时间内从A传输到B。

阿里巴巴2014实习笔试题

阿里巴巴2014实习笔试题

用二进制来编码字符串“abcdabaa”,需要能够根据编码,解码回原来的字符串,最少需要______位的二进制字符串。

有两个N*N的矩阵A和B,想要在PC上按矩阵乘法基本算法编程实现计算A*B。

假设N 较大,本机内存也很大,可以存下A、B和结果矩阵。

那么,为了计算速度,A和B在内存中应该如何存储(按行存指先存储第一行,再第二行,直到最后一行;按列存指先存储第一列,再第二列,直到最后一列)数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是______。

∙线性链表∙二叉链表∙栈与队列∙循环队列下列关于无向连通图特性的叙述中,正确的是______。

Ⅰ.所有顶点的度之和为偶数Ⅱ.边数大于顶点个数Ⅲ.至少有一个顶点的度为1∙只有Ⅰ∙只有Ⅱ∙Ⅰ和Ⅱ∙Ⅰ和Ⅲ某计算机的指令流水线由四个功能段组成,指令流经各功能段的时间(忽略各功能段之间的缓存时间)分别是90ns、80ns、70ns和60ns,则该计算机的CPU 时钟周期至少是____。

∙90ns∙80ns∙70ns∙60ns主机甲和主机乙间已建立一个TCP连接,主机甲向主机乙发送了两个连续的TCP 段,分别包含300字节和500字节的有效载荷,第一个段的序列号为200,主机乙正确接收到两个段后,发送给主机甲的确认序列号是。

∙500∙700∙800∙1000IP数据报头采用______字节序,在此字节序下从低地址到高地址0x1234的表示形式为______。

∙big_endian,0x12 0x34 0 0∙little_endian,0x34 0x12 0 0∙big_endian,0 0 0x12 0x34∙little_endian,0 0 0x34 0x12假设栈S和队列Q的初始状态为空,元素a、b、c、d、e、f依次通过S和Q,即每一个元素必须先进栈,之后再出栈进入队列。

若这6个元素出队的顺序是b、d、c、f、e、a,则栈S的容量至少应该为______。

2014阿里巴巴实习生(移动客户端)在线笔试题

2014阿里巴巴实习生(移动客户端)在线笔试题

时间:2014年3月29日注:贴的答案,仅供参考,是博主自己的答案1.2个人,一人只说真话,一人只说假话,如何只问其中某个人一句话,就分辨出谁是说真话的,谁是说假话的?______。

A.问任何一人:你是说真话的,对吗B.指着其中一人,问另一人:他是说真话的,对吗C.指着其中一人,问另一人:他是说假话的,对吗D.做不到B,逻辑题,多想想应该能想的通2.在linux中,列举当前目录下文件的是哪个命令______。

A.psB.cdC.mvD.lsD,这估计是整套题最简单的一题,ls3.一个容器类数据结构,读写平均,使用锁机制保证线程安全。

如果要综合提高该数据结构的访问性能,最好的办法是______。

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.90nsB.80nsC.70nsD.60nsA7.下列代码的输出结果是int i=-1;unsigned j=1;if (i<j)printf(“(i<j)成立\n”);elseprintf(“(ii)printf(“(j>i)成立\n”);elseprintf(“(j>i)不成立\n”);A.(ii)成立B.(ii)不成立C.(ii)成立D.(ii)不成立D,在线笔试,运行后得到结果8.某二叉树的先序遍历是12453,中序遍历是42513,那么其后续遍历是______。

阿里巴巴笔试题及答案

阿里巴巴笔试题及答案篇一:阿里巴巴oracle-dba 笔试题及答案】txt>1: 列举几种表连接方式hash join/merge join/nest loop(cluster join)/index join2: 不借助第三方工具,怎样查看sql 的执行计划set autot onexplain plan set statement_id = item_id for sql;select * from table(dbms_xplan.display);在optimizer_mode=choose 时, 如果表有统计信息(分区表外) ,优化器将选择cbo, 否则选rbo 。

rbo 遵循简单的分级方法学, 使用15 种级别要点,当接收到查询,优化器将评估使用到的要点数目,然后选择最佳级别(最少的数量)的执行路径来运行查询。

cbo 尝试找到最低成本的访问数据的方法, 为了最大的吞吐量或最快的初始响应时间,计算使用不同的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。

4: 如何定位重要(消耗资源多)的sql select sql_textfrom v$sqlwhere disk_reads 1000 or (executions 0 and buffer_gets/executions 30000); 5: 如何跟踪某个session 的sql execdbms_system.set_sql_trace_in_session(sid,serial#,sql_trace); selectsid,serial# from v$session where sid = (select sid from v$mystat where rownum = 1);exec dbms_system.set_ev(sid,serial#,event_10046,level_12,);6:sql 调整最关注的是什么查看该sql 的response time(db block gets/consistent gets/physicalreads/sorts (disk))7: 说说你对索引的认识(索引的结构、对dml 影响、为什么提高查询性能) b-tree index/bitmap index/function index/patitional index(local/global) 索引通常能提高select/update/delete 的性能, 会降低insert 的速度, 8: 使用索引查询一定能提高查询的性能吗?为什么索引就是为了提高查询性能而存在的,如果在查询中索引没有提高性能, 只能说是用错了索引,或者讲是场合不同9: 绑定变量是什么?绑定变量有什么优缺点?绑定变量是相对文本变量来讲的,所谓文本变量是指在sql 直接书写查询条件,这样的sql 在不同条件下需要反复解析,绑定变量是指使用变量来代替直接书写条件,查询bind value 在运行时传递,然后绑定执行。

【精品作文】2017阿里巴巴实习生(移动客户端)在线笔试题

【精品作文】2017阿里巴巴实习生(移动客户端)在线笔试题
版权所有:【碧意之时】
篇一:阿里巴巴2017实习生笔 试题 (二)
阿里巴巴2017实习生笔试题(二)
答案 :B 动态链接库和静态链接库的区别
静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件;动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持。
动态链接与静态链接的不同之处在于它允许可执行模块(.dll 文件或 .exe 文件)仅包含在运行时定位 DLL 函数的可执行代码所需的信息。在静态链接中,链接器从静态链接库获取所有被引用的函数,并将库同代码一起放到可执行文件中。
使用动态链接代替静态链接有若干优点。DLL 节省内存,减少交换操作,节省磁盘空间,更易于升级,提供售后支持,提供扩展 MFC 库类的机制,支持多语言程序,并使国际实质是不一样的东西。静态库本身就包含了实际执行代码、符号表等等,而对于导入库而言,其实际的执行代码位于动态库中,导入库只包含了地址符号表等,确保程序找到对应函数的一些基本地址信息。
这也是实际上很多开源代码发布的惯用方式:
1、 预编译的开发包:包含一些.dll文件和一些.lib文件。其中这里的.lib就是导入库,而不要错以为是静态库。但是引入方式和静态库一样,要在链接路径上添加找到这些.lib的路径。而.dll则最好放到最后产生的应用程序exe执行文件相同的目录。这样运行时,就会自动调入动态链接库。
本题没有正确选项
答案:E
1.最简单的方法:将
n
个数排序,排序后的前k个数就是最大的k个数,这种算法的复杂度是O(nlogn)

阿里2015实习生-客户端笔试题目解析

1.在HTTP GET/POST中一般都需要对参数进行base64编码2.在OSX中的.plist文件中的<data>数据也是Base64编码的PreOrder Travesal•如果是完全树的话,就是2^count - 1= 511 => count = 9 ,完全树是9层,然后加上一个小尾巴,就是10层。

•接着,我们考虑最差的情况,就是树退化为链表,这时count = 513;16 - a^2 + 6a > 0a^2 - 6a -16 <0(a + 2)(a - 8) >0so , a>8当 a < 0 , no way.so , a>811.一个电动模型,每一组电池能让其行驶8分钟,一个充电器能同时给两组电池充电,一组充满需要15分钟,至少准备_组电池,可以让模型行驶完立即换电池行驶不用等待。

解答:两组肯定不够的,假设有3组充满的电池,我们用笔划一划int use = 8int charge[2] = 0,0use = 0charge[2] = 0,0;use = 8charge = 15,0use = 0charge = 7,0;use = 8charge = 7,15;use = 0;charge = 15, 8;所以3个是可以的。

12.对于下面的代码,正确的是?char* s1 = "Hello world";char s2[] = "Hello world";s1[2] = 'E'; //1s2[2] = 'E'; //2*(s1 + 2) = 'E'; //3*(s2 + 2) = 'E'; //4解答:s1是char*类型,它指向常量字符串,而常量早已经在编译的时候就写入程序中了,是不可改变的; s2是char[]类型,它指向数组的第一位;我们分开解答,先把情况1转换为单独的代码void dosome(void){char* s1 = "hello world";s1[2] = 'E';}系统报错Bus error: 10我们拿出Hopper Disassembler这个神器,把二进制文件反编译后是function dosome() {var_m8 = "hello world";rax = var_m8;//int8_t 就是 char*(int8_t *)(rax + 0x2) = 0x45;return rax;}通过反编译,我们知道了s1[2] = 'E' 实际上就是先强制转换,然后所指向的值赋值为0x45 的意思。

2015届阿里巴巴校招测试开发工程师在线笔试题

2015届阿里巴巴校招测试开发工程师在线笔试题一. 单项选择题1. 下列描述中,唯一正确的是()。

A本题没有正确选项B本题有多个正确选项C D和E都不正确D B和C有一个正确E C不正确F E和F有一个正确2. 动态内存分配(C语言中的malloc,C++中的new)得到的存储区属于内存中的()。

A静态区B堆(heap)C栈(stack)D堆栈E内核内存F不确定3. 下列方法中,()不可以用来程序调优 ?A改善数据访问方式以提升缓存命中率B使用多线程的方式提高I/O密集型操作的效率C利用数据库连接池替代直接的数据库访问D使用迭代替代递归E合并多个远程调用批量发送F共享冗余数据提高访问效率4. 分布式系统中,()不是可扩展性所需要的。

A无状态应用集群B分布式缓存C负载均衡D硬件共享存储E分而治之的策略F以上所有都是5. 二分查找树里查询一个关键字的最坏时间复杂度为()。

A O(n)CO(n^2)DO(n^3)EO(logn)F 不确定A15B30C64D132E256F 360A500元B510元C520元D530元E540元F 以上都不对A可共享正文B可共享数据C可重入D可保护代码为只读E方便编程F 更好支持内存回收策略A循环体一次也不执行 循环体执行一次 是无限循环 有限次循环 循环结束判断条件不合法 运行出错B 循环体执行一次 是无限循环6. 一个合法的表达式由()包围,()可以嵌套和连接,如(())()也是合法表达式;现在有6对(),它们可以组成的合法表达式的个数为多少?7. 中关村电子城某卖手机的店铺给客人报价,如果按照底价500元(成本价)报出,那么客人就一定会选择在该店铺购买;价格每增加1元,客人流失的可能性增加1%。

那么该店铺给客人报出的最优价格是()?8. 关于UNIX 系统代码段和数据段分开的目的,错误的说法有()。

9. 设m 和都是int 类型,那么以下for 循环语句的执行情况是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档