阿里面试

阿里面试主要问的是一些原理性的东西,比如HashMap实现原理,线程间通讯,线程间数据共享,android对java在哪些方法上 有优化,android的异步任务是怎么实现的等等,接下来我们一一讲解

1,HashMap实现原理,

2,在Android子线程中初始化handler后,为什么该子线程也能更新UI

答:首先明确在子线程是没办法更新UI线程的视图的。

题目:在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可(内存限制为 2G的意思就是,可以使用2G的空间来运行程序,而不考虑这台机器上的其他软件的占用内存)。

关于中位数:数据排序后,位置在最中间的数值。即将数据分成两部分,一部分大于该数值,一部分小于该数值。中位数的位置:当样本数为奇数时,中位数=(N+1)/2 ; 当样本数为偶数时,中位数为N/2与1+N/2的均值(那么10G个数的中位数,就第5G大的数与第5G+1大的数的均值了)。

解法:

(1)根据整数二进制数高12位取值, 对10G个文件进行分割, 分割成2的12次方(4096)个文件, 每个文件大约有2.5M个整数。

(2)因为4096个文件按整数高12位分割的, 所以文件间是有序的, 例如高12位为0000 0000 0000的文件里的数字是所有数字里最小的, 高12位为 0000 0000 0001的文件中的数字是所有数字中相对次小的。

(3)以此按从小到大的顺序对文件中数字的个数进行统计, 分别记为x1, x2, ..., xk..., 直到某个文件i使x1+x2+...+xi和大于5G结束, 中位数就在这个文件中。然后对这个文件进行处理。

(4)第i个文件中, 大约有2.5M个数字, 取值有1M个,遍历文件对1M个数字出现的次数进行统计。

(5)对1M个取值, 按照从小到大进行加和, 第一个使总和到达5G的数字就是中位数。

时间: 2024-08-24 08:34:46

阿里面试的相关文章

阿里面试回来,想和Java程序员谈一谈

引言 其实本来真的没打算写这篇文章,主要是LZ得记忆力不是很好,不像一些记忆力强的人,面试完以后,几乎能把自己和面试官的对话都给记下来.LZ自己当初面试完以后,除了记住一些聊过的知识点以外,具体的内容基本上忘得一干二净,所以写这篇文章其实是很有难度的. 但是,最近问LZ的人实在是太多了,为了避免重复回答,给自己省点力气,干脆就在这里统一回复了. 其实之前LZ写过一篇文章,但是那篇文章更多的是在讨论"面试前该不该刷题"这个话题,而这篇文章将会更加聚焦在面试前如何准备,以及工作当中如何学习

学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》

我们分享的上一篇文章是一位学长在大三的时候面试阿里实习生成功的经历的分享,其实就像学长在上一篇文章最后说的那样"面试并没有想的那么难,运气也会占一部分.",其实我个人觉得,对于我们而言,自己越努力就会越幸运,西方有句谚语"上帝助自助者",其实说的都是一个道理.对于怀有梦想的技术宅而言,既要仰望星空看世界浪潮,也要脚踏实地努力奋斗. 面试时对于技术人员而言,技术能力肯定是衡量优劣的标准,所以只有技术过硬,你才会"有料",胸中"有料&quo

学生党如何拿到阿里技术offer:《阿里面试(失败)》

今天和大家分享的这篇博文的作者经历了阿里的校招面试,但是遗憾的是他最终未能成功拿到阿里的技术offer,甚至都没有机会能参加二面,也就是说在一面的时候就已经被pass掉了.我之所以给大家看这篇失败的经历,是想告诉大家"机遇只会青睐有准备的人",当自己的技术能力还不够时,那么就潜心下来积累,编程能力欠缺就练习编程,知识储备不足就看书,看技术博客,向比你优秀的人学习.面试失败不是因为其他原因,其实就是自己的能力还没有达到面试官的要求.   从这位学长失败的经历,我们可以看出,我们学习知识也

阿里面试官:什么样的人能在阿里晋升?

提到面试官,你有些啥印象?他们坐在你的对面,手里握着笔,会抛出一些让人难以招架的问题--似乎在1-2个小时内与他们的对话将影响你当下的"前途"-- 阿里的面试官是怎样看待候选人的?什么样的阿里人能够得到晋升?面试中的哪些细节会影响到结果?来听听他们怎么说. 小编请来了一位被称为"评委中的战斗机"的阿里资深晋升面试官Q哥.前段时间的年度晋升面试中,他三天面了20位候选人--而他本人素以"压力面试"著称-- 第一印象是否会影响面试官的判断? Q哥:会

学生党如何拿到阿里技术offer:《阿里实习生面试经验(成功)》

上次的博文为大家分享了一篇来自成功拿到阿里offer的研究生学姐的面试经验,其实阿里每年都会为大三或者研二这样的在校学生提供实习生的机会,不久之前还在微信中看到阿里淘宝招聘实习生的微信文章,虽然毕业实习对于我而言还有一段时间,但是我怀着好奇的心情进点进入看了看(没办法,从小好奇心爆棚,从大一开始就在学校里蹭各种专业相关的宣讲会,比方说中科院计算所,阿尔法特朗讯,科大讯飞之类的,只要感兴趣并且没课,我就会默默地坐在一群要毕业的怀揣简历的学长中间-并且默默记下他们的技术要求,毕竟"学不到老,就活不到

学生党成功拿到阿里技术offer:面Java开发,却是C++考官,几个意思?

作为一枚计算机软件专业的学生党,从进入大学校园的第一门课程<职业发展概论>上就明白一个道理:"在计算机软件行业,学不到老那就活不到老".我们的专业是当下世界中发展最快的,我们不得不紧跟时代的脚步,不断学习,只有站在行业的前沿,才能保证自己不被行业淘汰. 双十一时,宿舍里全线熬夜往购物车里加商品还在讨论,"阿里的服务器不能爆了吧-",买完商品后,宿舍里一群作为软件攻城狮的我们就开始躺在床上脑补,从"哎,什么技术能让天猫接受这么大的高并发量?&qu

学生党如何拿到阿里技术offer: 《阿里巴巴常考面试题及汇总答案(Java方向)上篇》

之前和大家分享了几位学长学姐们在阿里面试的经验,他们其中有成功的,也有留下遗憾的.但是总之,我认为作为技术人员,首先打铁需要自身硬,在学校里不光要学精学透基础的专业知识,还要有过硬的编程能力,当然我们所谓的计算机软件的科班出身更不能将自己定位为所谓的程序而应该是软件攻城狮-这样我们要对自己有一个比较高的要求,记得有一个计算机大牛曾说过"Talk is cheap,show me the code!",的确与其空谈,不如实干,多看书,多思考,多动手编程,多参与项目实践. 好了,今天就不多

学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》

大学里有这样一句话"现在流的泪,都是当初选专业是脑子进的水",从见闻中了解很多中学非常优秀的同学因为选择了自己不喜欢不感冒的专业,很多人不懂得为自己寻找方向,而是继续延续应试教育下的学习方式,这样,他们的学习便成为了"面向考试"的学习,当他们走出大学校门,往往会发现,自己出了成绩单上的几个数字之外收获甚少.   但其实学习的主动权就在自己手中,你不喜欢自己的专业,但是你可以为自己选择未来的路.在计算机互联网行业,不是科班出身但是取得辉煌成就的人大有人在,问及为什么不

参加阿里巴巴校招面试经历

本文主要是讲述我参加阿里巴巴2013年校招的经历,感谢并发编程网博主的推荐. 电面 说是电话面试,其实和正常面试感觉没啥区别,也是聊,也是写代码. 用的是这个工具,http://codassium.com/ ,双方写东西,对方都能看到.面试最开始普遍都是让自我介绍,这是吹牛的良好机会,主要内容为:看了哪些牛逼的书,认识哪些牛逼的人,做了哪些牛逼的事.然后就到了问问题的阶段. 问题1.主要是根据做所项目,由于之前做了一个操作系统的模型,所以问了一下进程间调度和通信是如何实现的.又问了一下linux