阿里2015在线研发project师笔试题(部分)
今天lz去阿里的在线笔试打了一把酱油,因为lz的水平有限,时间太他么紧张了。以下把记下来的题给大家分享一下。选择题总共20道,前十题截了图,后面感觉太费时就没有再截了,凭记忆记下了两道。附加题都记录下来了。
选择题
第1题:
第2题:
第3题:
第4题
第5题:
第6题:
第7题:
第8题:
第9题:
第10题:
回顾起来的题(11-20中的某2道)
1. 一个博物馆,以每分钟20人的速度进入,平均每人待20分钟,问博物馆最少须要容纳多少人?
A.100 B.200 C.300 D.400 E.500(可能另一个以上都不是的答案,记不清楚了)
2. 有一个二叉树,(详细题目记不清楚了,主要是说有先序和中序,求后序)
问答题
第一题
给定一个query和一个text,均由小写字母组成。要求在text中找出以相同的顺序连续出如今query中的最长连续字母序列的长度。比如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出如今query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。(答案仅仅是考试时候的答案)
package com.wj; public class aLiTest {
public static void main(String[] args) {
String query ="acbac";
String text ="acaccbabb";
//调用findCLS方法计算text中最长的连续出如今query中的字母序列及其长度
findLCS(query.toCharArray(), text.toCharArray());
} public static void findLCS(char[] query, char[] text) {
String result =""; //接收结果字符串
int m =query.length;
int n = text.length;
int[][] c = new int[m][n];
int max = 0;
int maxPosX = 0; for (int i = 0; i< m; i++) {
for (int j = 0;j < n; j++) {
if (query[i] == text[j]) {
if ((i== 0) || (j == 0)) {
c[i][j] = 1;
} else {
c[i][j] = c[i - 1][j - 1] + 1;
} if(c[i][j] > max) {
max= c[i][j];
maxPosX = i;
}
} else {
c[i][j]= 0;
}
}
} for (int i = maxPosX- max + 1; i <= maxPosX; i++) {
result +=query[i];
} System.out.println("最长序列为:" + result); //输出序列
System.out.println("最长的序列长度为:" + max); //输出序列的长度
}
}
第二题
写一个函数,输入一个二叉树,树中每一个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。(答案仅仅是考试时候的答案)
int absMax(BinaryTree root){
Queue<BinaryTree> btree = new Queue<BinaryTree>();
BinaryTree p = new BinaryTree();
BinaryTree q = new BinaryTree();
btree.add(root);//元素入队
int max = btree.peek().getdata();//max和min初始化
int min = btree.peek().getdata(); while(!btree.isempty()){ p = btree.poll();//元素出队
if(!p.isLChild()) //isLChild()推断左孩子是否存在,假设存在就入队列
btree.add(p.getLChild());
if(!p.isRChild())
btree.add(p.getRChild()); if(btree.isempty()){ //假设队列中不存在元素,就直接与max和min比較,然后返回
int temp = p.getdata();//取得节点的值
if(max<temp)
max = temp;
elseif(min > temp)
min = temp;
return abs(max-min);
} q = btree.poll(); //队列中还存在值就出队,把孩子节点放入队列
if(!q.isLChild()) //isLChild()推断左孩子是否存在,假设存在就入队列
btree.add(q.getLChild());
if(!p.isRChild())
btree.add(q.getRChild()); if(q.getdata() >= p.getdata() ){ //先q节点的值与p节点的值比較,大值和max在比較,小的和min比較,以降低比較次数
if( max < q.getdata())
max = q.getdata();
//考试过程中因为紧张思考不严密遗漏的两行代码
if(min > p.getdata())
min = p.getdata();
}
else{
if(min > q.getdata())
min = q.getdata();
//考试过程中因为紧张思考不严密遗漏的两行代码
if( max < p.getdata())
max = p.getdata();
} } } return abs(max-min);//返回max和min之差的绝对值 }
第三题
java中的wait()方法和sleep()方法的差别是什么?
阿里2015在线研发project师笔试题(部分)的更多相关文章
- 2015-8-29阿里校园招聘研发project师笔试题
前言:原题来自于网络:http://www.cnblogs.com/nausicaa/p/3946694.html.本人依据自己理解对题目进行解答.因为水平有限.题目有不会做.做错的地方.欢迎大家留言 ...
- 百度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" ...
- 阿里巴巴2016研发project师笔试题
问题1: 假设下列的公式成立:78+78=123,则採用的是_______进制表示的. 本题实则考察进制转换.能够设为x进制.可是x进制有一个问题.即我们无法对x进制直接进行加减乘除.故转化为我们常见 ...
- 网易游戏2015年暑期实习生面试经历-游戏研发project师
首先,我还是先介绍一下网易游戏吧.引用别人的一段话 作者:王选易.出处: http://www.cnblogs.com/neverdie/ 欢迎转载 .也请保留这段声明.假设你喜欢这篇文章,请点[推荐 ...
- 阿里巴巴2014研发project师实习生面试经历
java研发project师的初面是在上周三进行的,终于结果到了晚上才出,而没有通过的则是一结束网上就更新了状态.之后阿里通知这周三,也就是今天进行二面. 凑巧的是今早被舍友吵醒,中午那个困啊,但没时 ...
- 2014阿里巴巴研发project师暑期实习生面试经验
2014阿里巴巴研发project师暑期实习生面试经验 作者:林子 Blog: http://blog.csdn.net/u013011841 时间:2014年8月 出处:http://blog.c ...
- 当当网-前端project师測试题
前端project师測试题(笔试时间20分钟.面试时间20分钟) 一.笔试 1.基础问题 (1)前端页面有哪三层构成,各自是什么? ...
- 最美应用-从Android研发project师的角度之[最美时光]
最美应用-从Android研发project师的角度之最美时光 @author ASCE1885的 Github 简书 微博 CSDN 近期发现最美应用这样一个站点.它会定期推介一些非常有意思的app ...
随机推荐
- http://fonts.googleapis.com/css?打开很慢解决方案
最近, 在写一个demo的时候突然发现加载超级慢, 寻找之下发现了"罪魁祸首", 系引用了http://fonts.googleapis.com/css. 接着在网上看到有网友反映 ...
- Velocity缓存与穿透(转)
原文 http://fantaxy025025.iteye.com/blog/2283904 主题 Java 总评:只是标记一下这种用法hack方法.这种场景下用这种方法还是比较雷人的. Veloc ...
- java去全半角空格,trim(), replaceAll(" +",""),replaceAll("\\s*", ""), replaceAll(" | ", "")
JAVA中去掉空格 . String.trim() trim()是去掉首尾空格 .str.replace(" ", ""); 去掉所有空格,包括首尾.中间 St ...
- Exec l 中分列的作用
- NYOJ 45 棋盘覆盖 模拟+高精度
题意就不说了,中文题... 小白上讲了棋盘覆盖,于是我就挖了这题来做. 棋盘覆盖的推导不是很难理解,就是分治的思想,具体可以去谷歌下. 公式就是f(k) = f(k - 1) * 4 + 1,再化解下 ...
- gc overhead limit exceeded eclipse错误解决方式
在Eclipse打包的时候报错:gc overhead limit exceeded eclipse 原因是Eclipse默认配置内存太小须要更改安装Eclipse目录下的eclipse.ini文件. ...
- 对HGE游戏引擎的一次封装
HGE游戏引擎是一个开源2D游戏引擎,基于directX. 它的渲染及逻辑是基于帧回调的框架模式, 其提供一些主要的图像操作和输入控制功能. 我在之前写一个2D游戏的时候对它整个框架进行了一次封装,非 ...
- javascript实现的一个信息提示的小功能/
//什么状况.CSDN的排版怎么这么多状况,还是本人太次?调整几次都没弄好.最后一遍了-- 最近由于公司业务问题.须要做一些面向公众的平台,于是对UI要求会高一点, 对于传统的alert的这样的方式来 ...
- 尝到awk
我前几天写的sed,这个时候继续了解它的兄弟,awk,两者都使用,一种感觉.既可以用来处理场.假设你想要做文本处理.sed删除.匹配,一些频繁更换使用,假设每一行文本,你想深入,一些每行和列处理的,例 ...
- 【Win7】【磁盘管理】删除相似“33fbc1d57e9aaf1ea88e6f08”缓存目录
一般,在计算机磁盘.移动硬盘.或U盘出现,类别似"33fbc1d57e9aaf1ea88e6f08",你不能删除缓存目录.能Win7删除. (1).使用管理员,打开命令提示符窗口( ...