最新的阿里云面试题(java无线)

面试题分2部分 10题选择 7题简答 60分钟 个人觉得在这个时间做好很困难
选择题大多考的java的基础题就不多说了,看后面的简答吧
1.某国家的家庭都喜欢生男孩,而且一个家庭直到生有男孩为止,否则继续生小孩,
该国当前的男女均衡,问若干年后该国家的男女比例的趋势?

2.有一个Hashmap<String,String> a 对一个给定的value = 12,遍历该Hashmap,找到该value,
并打印出对应的key,value?
(比较简单,不多说)

3.创建3个线程,1个启动线程(main),一个线程负责向List中添加数据,1个线程负责取出数据
用代码描述出来?
(简单的生产者和消费者问题,网上很多)

4.有这样的一个2叉树 ,结构如
class BinaryNode{
int data;
BinaryNode mLeft;
BinaryNode mRight;

}
给定一个整数和一棵2叉树,从根节点开始遍历,直到叶节点止,要求打印出所经过的所有节点的data
值累加等于该整数,如给出22,输出 10 12;10 5 7 ;
函数名为 void printBinaryTree(BinaryNode root,int num)
(不知是否描述清楚,当时没做,期待大家的答案)

5.对于一个已经排好序的数组a,给定一个数X,判断该数组中是否存在2个数的和等于X
要求时间复杂度为0(n);
我的答案 (数组按升序)
  int i = 0; int j = a.length;
int temp ;
while(i != j){
temp = a[i] + q[j];
if(temp == X){
System.out.println("存在这样2个数 :"+num[i]+num[j]);
break;
}else if(temp > X){
j--;
}else if(temp <X){
i++;
}
if(temp != X){

System.out.println("不存在这样2个数");

}
}



6.一栋楼房的底层有101根电线,一直延伸到顶层;但是不直到顶层的线头跟底层的线头是否是一根电线。现在有一些灯泡和若干短线,只上下楼一次,怎样能够把这些线分清楚;


7.有一个电子书阅读器,如下功能:
1)能网上下载电子书
2)打开各种格式的文本(txt,doc,pdf)
3)。。。。(不记得了)
让你设计这个阅读器,怎样保证他的可扩展性和复用性,用UML图和一些描述;

ps:60分钟做这些感觉很困难,做的很差,不过还是收到一面,开始面试官问了一些数据结构,java相关的还好回答,
结果面试官看到我们是一个专业的(信息与计算科学),顿时悲剧了,先是一个话概括一下微积分。。。,微积分的可积条件...., 黎曼微积分,顿时hold不住了 ,在学校都是快考试的时候突击一下你懂的 这些早忘记了 然后,没然后了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值