阿里巴巴做题总结.docx
- 文档编号:30156006
- 上传时间:2023-08-05
- 格式:DOCX
- 页数:33
- 大小:91.93KB
阿里巴巴做题总结.docx
《阿里巴巴做题总结.docx》由会员分享,可在线阅读,更多相关《阿里巴巴做题总结.docx(33页珍藏版)》请在冰豆网上搜索。
阿里巴巴做题总结
1.假设有Alibaba网站最近一个月的查询日志,记录了用户的查询行为,每条查询都至少包含有一个产品词,称之为查询意图,总计有查询意图3000万条,请统计出这3000万条。
2.为了保护我们的地球,全世界都在倡导绿色环保,在高效能计算和绿色计算方面,请谈谈你的一些想法。
3.聊聊最近最吸引你的互联网事件,谈谈你对此事件的看法。
4.在进入我的淘宝页面时,此页面需要获取登陆的用户相关信息。
在访问量少的情况下,可以采用直接访问数据库的方式;但当访问量太高时,会导致数据库压力过高,因此通常采取的方法为将用户信息进行缓存。
在用户数不多的情况下,这个方案还是提供了很大的帮助的;但用户数增多了一点后,出现的问题就是缓存占用了太多的内存,而经过分析,原因是这些缓存中有很多是不访问的用户信息。
1.1请写一段存储用户信息的缓存实现代码,并实现缓存到达一定大小后,如继续新增用户信息,则将最近不访问的用户信息从缓存中踢出。
1.2由于我的淘宝是部署在多台机器上的,如果用户每次访问不同的机器,以上方案会造成每台机器都需要去数据库中加载此用户信息,请给出一个方案来避免此问题。
5.有阿里巴巴每层办公室茶水间都有一台饮料自动贩卖机,可选饮料包含有奶茶,咖啡,果珍等,由于是公司福利不需要投币即可私用,先假定每层员工为500名,请写出针对饮料自动贩卖机的测试方法。
6.你接触过哪些LINUX发行版,请比较一下这些发行版的优缺点。
7.用3个关键词表现你想从阿里巴巴得到什么?
兴趣,梦想,成功
8.连接两个单向链表,返回排序后的结果。
9.c语言能否进行面向对象的设计和编程?
为什么?
如果可以,怎么实现?
10.extjs里对一个支持事件监听的控件,取出监听器的方法有哪些?
11.ApachWebServer区别于其他应用服务器的主要特点是什么?
12.Java的特点是什么?
13.Web层的主要作用?
14.五种颜色涂到一个田字格里,相邻两个格子的颜色不能相同,颜色可以重复使用。
问你一共有多少种涂法?
15.一天24小时内,时针、分针、秒针一共重合多少次?
16.一个牧场的草,10头牛可以吃20天,15头牛可以吃10天,并且每天牧场的草都是均匀的生长,问你25头牛可以吃多少天?
17.菲波纳契数列f(i),1,1,2,3,5.。
。
。
。
问你f(50)-1最少可以写成多少个菲波纳契数之和?
18.提高网络安全你有什么建议?
19.对下一代互联网你有什么设计?
20.在平面上有n个点,(x1,y1),(x2,y2)...(xn,yn),请用最快的算法找到是否有三个点共线。
21.关于图片文件存储的一个开放性的题目。
22.有一颗树,每一个树节点存储着一个数字,现在想要找到两个相同的节点(这两个节点存储的数字及其所有子树均相等)。
[查找树中相同节点对]
思路1:
1)首先通过一个遍历(如前序遍历)得到一个数字序列,并对树中的叶
子节点在这个序列中做标记(现在问题退化为在一个数字串中找出重
复的字符串,且这些字符串应该是以标记的叶子节点结尾的)。
2)采用后缀树可以很方便的求得相同的数字串序列。
3)验证2)中得到的结果(应该是一个小结果集)是否满足要求,验证
的时间复杂度应该是比较小的。
思路2:
1)对树中的每一个节点设定一个权值,这个权值为其所有子节点的权值
及其自身数字值之间的乘积(可能需要bignumber,或者考虑将这些
数字进行移位异或)。
2)采用后序遍历,计算每一个节点的权值,并顺带记录其树深度。
统计
权值和深度均相同的节点。
3)验证2)中得到的结果是否满足要求,验证的时间复杂度应该是比较
小的。
23.参加百年阿里培训的N位同学结伴去西湖旁边为游人指路,两人一组,他们打算先让体重之和恰好为102公斤的同学一组,请给出一个算法找到这样的组合,或者确定他们之间不存在这样的组合,其中最有的算法复杂度为?
(假设体重恰好为整数)
------解决方案--------------------------------------------------------
比如ABCDE,其中2*C=F,则以C为分割点,两边对称取组合,满足要求了
------解决方案--------------------------------------------------------
(a)从小到大排序成大小为n的数组Array
(b)定义下标i=0,j=n-1
(c)若Num=Array[i]+Array[j],则输出,且i++,j--;
若Num>Array[i]+Array[j],则i++;
若Num (d)若i 24.简述隐马尔可夫模型(HMM)的三个基本问题。 令λ={A,B,π}为给定HMM的参数,σ=O1,...,OT为观察值序列,隐马尔可夫模型(HMM)的三个基本问题为: (1)评估问题: 对于给定模型,求某个观察值序列的概率p(σ|λ); 向前算法(a)定义向前变量(b)采用动态规划算法,复杂度 。 (2)解码问题: 对于给定模型和观察值序列,求可能性最大的状态序列; 韦特比(Viterbi)算法(a)采用动态规划算法,复杂度 。 (3)学习问题: 对于给定的一个观察值序列,调整参数λ,使得观察值出现的概率p(σ|λ)最大; 向前向后算法(a)EM算法的一个特例,带隐变量的最大似然估计。 隐马尔科夫模型(hiddenMarkovmodel,缩写为HMM)的提出最初是在语音处理领域。 HMM是在Markov链的基础上发展起来的一种统计模型。 由于实际问题比Markov链模型所描述的更为复杂,因此在HMM中观察到的事件与状态并不是一一对应,而是与每个状态的一组概率分布相联系。 它是一个双重随机过程,其中之一是Markov链,描述状态的转移;另一个描述每个状态和观察值之间的统计对应关系。 这样,HMM以概率模型描述观察值序列,具有很好的数学结构,能够比较完整地表达观察值序列的特征。 评估问题: 对于给定模型,求某个观察值序列的概率p(σ|λ); 解码问题: 对于给定模型和观察值序列,求可能性最大的状态序列; 学习问题: 对于给定的一个观察值序列,调整参数λ,使得观察值出现的概率p(σ|λ)最大。 HMM的状态是不确定或不可见的,只有通过观测序列的随机过程才能表现出来;观察到的事件与状态并不是一一对应,而是通过一组概率分布相联系;HMM是一个双重随机过程。 25.有两个有序整数集合a,b。 请写一个函数,实现找出a,b集合中的交集,并打印出来。 (见试卷) 26.分析MergeSort的原理及算法复杂度,并用最擅长的编程实现MergeSort。 原理: “归并”的含义是将两个或两个以上的有序表组合成一个新的有序表。 假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到 个长度为2或者1的有序子序列;再两两归并,……,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法称为2-路归并排序。 它的核心操作是将一维数组中前后相邻的两个有序序列归并为一个有序序列。 算法复杂度和编程见笔记。 27.给定一个数t,以及n个整数,在这n个数找到加和为t的所有组合,例如t=4,n=6,这6个数为【4,3,2,2,1,1】,这样输出就有4个不同的组合他们的加和为4: 4,3+1,2+2and2+1+1,请设计一个高效算法实现这个需求。 (a)解题思路 先将数据按从大到小进行排序,然后使用回溯法遍历所有可能。 注意去掉重 复的结果。 (b)代码实现 #include using namespace std; int a[100]={4,3,1,2,1,2}; bool x[100];//标记第i个元素是否已经使用 int N=6;//元素个数 int t=4;//目标和 int sum;//当前和 int cmp(const void *a,const void *b) { return *(int *)b-*(int *)a; } void backtrace(int n) { if(sum>t)//当前和大于t return ; if(sum==t)//当前和等于t,输出结果 {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 阿里巴巴 总结