阿里巴巴2016研发project师笔试题
问题1:
假设下列的公式成立:78+78=123,则採用的是_______进制表示的。
本题实则考察进制转换。能够设为x进制。可是x进制有一个问题。即我们无法对x进制直接进行加减乘除。故转化为我们常见的10进制。
78=7*x+8。123=1*x2+2*x+3;然后解方程就可以。答案为13进制。
问题2:
下列 java 程序输出结果为______。
int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));
本题考察的是装箱与拆箱,==比較的是值,相同equals也是比較值。故选择true,true。
equals源代码例如以下:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
输出的是:hello and cb
问题3
有关下述Java代码描写叙述正确的选项是____。
public class TestClass {
private static void testMethod(){
System.out.println("testMethod");
}
public static void main(String[] args) {
((TestClass)null).testMethod();
}
}
本题考察的是静态方法与 类&对象的关系,静态对象属于类,故无论对象是否为空,仍旧会正常执行,输出testMethod。
追问:若将方法static修饰符去掉。又是什么情况?
首先,不会是编译错误,由于符合Java对类型的检查。可是执行时会出现NullPointerException。
问题4
袋子中分别一叠纸币,当中5元面值的纸币6张,10元面值的纸币5张。20元面值的纸币4张,从袋子中随意取4张纸币,则每种面值至少取到一张的概率为____。
一共的票数为:6+5+4=15张
总的情况数:15张选4 C(15,4)
每种面值至少取一张:可能有三种情况。5元、10元、20元是2+1+1、1+2+1、1+1+2这三种情况。
分析到这里,结果计算,得到结果为48/91
问题5
比如你扔到3,能够得到3元返现;扔到1,能够得到1元返现。
当你扔完第一次骰子。看到点数后。你须要做出例如以下选择:
这道题实际上非常简单,考察的是你扔筛子策略,点数集合为(1,2,3,4,5,6);那么当我扔到(1,2,3)的时候证明手气较平均情况差一些,会再扔一遍,扔到(4,5,6)时证明手气较平均情况好一些。就不再扔。依照这个原则非常easy求得是4.25。
问题6
一个长度为100的循环链表,指针A和指针B都指向了链表中的同一个节点。A以步长为1向前移动。B以步长为3向前移动。一共须要同一时候移动多少步A和B才干再次指向同一个节点____。
本题实际上能够想象成在运动场跑道上,队员A速度是1。B为3,跑道一圈为100。则多长时间相遇一次,设为t。则:
下次相遇时,3t-t=100。t=50。
问题7
0x0457写成2进制。为0000 0100 0101 0111,而512=2^9,则后9位存放页内地址。前7为为2。相应的物理页为4。
问题8
在一个100人的团队活动中,主持人小猿亮出了一幅裙子的照片,大喊:”看出蓝黑色的举手!“,团队中有45人举手。然后小猿又喊:”看出白金色的举手!“。团队中有40人举手。
灵巧的小猿发现,有人从未举过手,有人举手了两次,两轮举手分出的四类人的数目恰好构成一个等差数列。请问有____人既能看出蓝黑色又能看出白金色。
这题不用在纸上列公式,由于40与45都处于整数的等差数列中,相差为5(不可再分)。故公差就为5;举手两次的是考出白金色的子集。故小于40,仅仅可能是30或者35;若为30,则均未举手的是35,单独蓝黑举手的是45-30=15。单独白金举手的是40-30=10,而30+35+15+10=90≠100;故两次都举手仅仅可能35。
问题9
将1,2,3,......,99,100随意排列成一个圈,相邻两数的差的绝对值求和最多为____。
本题能够拿1,2,3,4做实验,发现最大的4必须和1,2相邻。最小的1必须和最大的3、4相邻。进而推广:
100必须和1,2相邻;1必须和99、100相邻。......
最后排布顺序是:1,100,2,99,3,98.......50,51。故结果为99+98+.......+1+(51-1)=5000
问题10
已知二叉树中有45个叶节点,有25个度为1的节点。则二叉树的总结点数为____。
叶子节点45个,度为2的节点则为44个。结果等于45+25+44=114
问题11
某单链表有5个元素,设单链表的节点结构为(data,next),5个元素的data依次为(1、2、3、4、5),已知指针q指向节点3,指针p指向节点4。那么以下操作能将链表变为data依次为(1、2、3、5)的是____。
(当中temp为节点类型指针,默认指向NULL)
狸猫换太子。这题非常easy。选择最后一个;将5节点的值传给须要4节点,然后在释放5节点即可;详情可參考编程之美。
问题12
在1,2,3,.....1000中,有____个数各位乘积为0。
分为两段:
1-100,仅仅有是10、20、.......100这10个数满足要求。
101-1000,能够分为9段,101-200、201-300........901-1000。每一段情况一样,故拿出101-200这一段。101、102、.......109这9个数满足,110、120、......200这10个数也满足。
故总数为10+9*(9+10)=181。
问题13
A、B、C、D四人应聘一个程序猿职位,此职务的要求条件是:Java熟练;懂数据库开发;会Web开发;有C++经验。
谁满足的条件最多,谁就被雇用。(1)把上面四个要求条件两两组合,每一个组合都恰有一人满足。同一时候已知(2)A和Bjava熟练(3)B和C会Web(4)C和D懂数据库(5)D有C++经验那么,被雇用的是____。
阿里常常会出这种问题,仅仅能大胆如果、小心求证了。
猜測得:JAVA(A、B) 数据库(A、C、D) web(B、C) C++(B、D)
故选择B
问题14
有一个单向链表队列中有一个A、B两个相邻元素,有一个指针p指向元素A,现将一个指针r指向的S元素要插入到A和B之间,该进行操作____。
r->next=p->next;p->next=r
插入节点很easy。仅仅须要注意先后顺序就可以。
问题15
A为整数数组, N为A的数组长度,请问运行下面代码。最坏情况下的时间复杂度为____
void fun(int A[], int n) {
for (int i = n - 1; i >= 1; i--) {
for (int j = 0; j < i; j++) {
if (A[j] > A[j+1]) {
int tmp = A[j + 1];
A[j + 1] = A[j];
A[j] = tmp;
}
}
}
}
类似于冒泡,复杂度O(n2)
问题16
将整数数组(7-6-3-5-4-1-2)依照堆排序的方式原地进行升序排列。请问在整个排序过程中,元素3的数组下标发生过____次改变。
考察堆排序的先后顺序,改变2次。绘图分析就可以。
阿里巴巴2016研发project师笔试题的更多相关文章
- 百度2016研发project师笔试题(四)
百度2016研发project师笔试题(四) 2015/12/8 10:42(网上收集整理的,參考答案在后面.若有错误请大神指出) 1. 关于MapReduce的描写叙述错误的是() A. 一个Tas ...
- 网易2016研发project师笔试题
网易2016研发project师笔试题 2015/12/9 11:25(网上收集整理的,參考答案在后面,若有错误请大神指出) 1. 运行指令find / -name "test.c" ...
- 阿里2015在线研发project师笔试题(部分)
今天lz去阿里的在线笔试打了一把酱油,因为lz的水平有限,时间太他么紧张了.以下把记下来的题给大家分享一下.选择题总共20道,前十题截了图,后面感觉太费时就没有再截了,凭记忆记下了两道.附加题都记录下 ...
- 2015-8-29阿里校园招聘研发project师笔试题
前言:原题来自于网络:http://www.cnblogs.com/nausicaa/p/3946694.html.本人依据自己理解对题目进行解答.因为水平有限.题目有不会做.做错的地方.欢迎大家留言 ...
- 阿里巴巴2014研发project师实习生面试经历
java研发project师的初面是在上周三进行的,终于结果到了晚上才出,而没有通过的则是一结束网上就更新了状态.之后阿里通知这周三,也就是今天进行二面. 凑巧的是今早被舍友吵醒,中午那个困啊,但没时 ...
- 2016届 阿里巴巴校招研发project师C/C++笔试题--2015.08.23
选择题牛客网地址题目1:http://www.nowcoder.com/test/255234/summary. 题目2:http://www.nowcoder.com/test/262758/sum ...
- 阿里巴巴2015研究project普通笔试题,与答案
欢迎您对这篇文章的其他建议.我可以留言在以下平台. 个人博客网站:www.anycodex.com/blog/ Csdn博客网站:http://my.csdn.net/?ref=toolbar 微博: ...
- 网易2016研发project师编程题
http://www.nowcoder.com/test/970447/summary [编程题] 小易的升级之路 小易常常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a ...
- 2014阿里巴巴研发project师暑期实习生面试经验
2014阿里巴巴研发project师暑期实习生面试经验 作者:林子 Blog: http://blog.csdn.net/u013011841 时间:2014年8月 出处:http://blog.c ...
随机推荐
- PHP代码审计---基础
PHP伪协议 PHP伪协议事实上是其支持的协议与封装协议,支持的种类有以下12种. * file:// - 访问本地文件系统 * http:// - 访问 HTTP(s) 网址 * ftp:// - ...
- 代码重构:用工厂+策略模式优化冗余的if else代码块
最近在工作中优化了一段冗余的if else代码块,感觉对设计模式的理解和运用很有帮助,所以分享出来.鉴于原代码会涉及到公司的隐私,因此就不贴出来了.下面以更加通俗易懂的案例来解析. 假如写一个针对员工 ...
- Java中断机制(interrupt)
中断线程 在 run() 方法中,如果语句执行到了最会一句,或是遇到 return 方法,或是方法中出现了没有被捕获的异常,run() 方法将会执行结束.在java中,Thread中的interrup ...
- [转载] Dubbo实现RPC调用使用入门
转载自http://shiyanjun.cn/archives/341.html 使用Dubbo进行远程调用实现服务交互,它支持多种协议,如Hessian.HTTP.RMI.Memcached.Red ...
- ZedBoard开发板学习记录(一)之开发环境的搭建(Ubuntu16.04)以及运行HelloWorld程序的测试
ZedBoard开发板由PL和PS两大部分组成, 对PS操作,一般有两个办法: (1).在Windows系统上面,使用SDK新建C Project SDK自带编译环境,编译后自动产生elf文件.使用U ...
- 工作中用到的一些shell命令
1.将十进制转换为十六进制 for i in `seq 0 127`; do printf "%02x\n" $i; done
- shell的EOF用法
将命令输出的结果给一个循环处理,常用的方式如下: [root@etch171 guosong]# ls |while read line;do echo $line;done processlist ...
- Javaweb学习(一):tomcat服务器配置与启动
目前所使用的集成开发环境为myeclipse10.7,tomcat版本为apache-tomcat-7.0.82,部分编写地方可能有所不同,但是工具不是最主要的,重要的是掌握的知识. tomcat在m ...
- 【朝花夕拾】朝花夕拾-Robot Framework实战演练之开篇
(原创文章,转载请注明出处.) 开博了,简单感慨两句. 前些年一直在做质量体系建设及团队管理的事,忽略了对测试技术热度的保持,这两年有幸重回开发测试第一线,颇感欣喜. 近期随着公司新业务的开展,需要快 ...
- Android 在通知栏实现计时功能
Notification是APP 向系统发出通知时,它将先以图标的形式显示在通知栏中.用户可以下拉通知栏查看通知的详细信息.我们可以在通知栏实现自定义的效果,也可以结合service和BroadCas ...