阿里巴巴android高级面试经历

  很偶然的机会,被猎头推荐到阿里巴巴面试。虽然参加工作四年多了,然而并没有什么太多面试经验。在现在这家公司一呆就是四年,回头看看感慨万千,所以决定换个环境。
  简历被送到阿里后,会有几天简历审核期,这个过程会先从简历上筛选掉一部分人。阿里会对应聘者做一个应聘记录,没个关卡都有记录,比如去年你的简历到达阿里,但是没有通过审核,那么这个记录是被保存起来的。你再次投递的话,会被归档,上面会显示你所有的投递记录和面试记录。
  简历审核通过后,会有负责技术面试的人对你进行一个电话面试,我当时接到电话感到很突然,因为简历都已经投递一周了,然后就匆匆跑到楼下进行电话面试。
面试问题还记得一些,一部分已经忘记了,为了防止再忘记,所以写出来。
  1:你是如何理解Android操作系统的。
  2:是否熟悉framework层,如果熟悉,那就对framework做个简介。
  3:是否熟悉多线程,如果熟悉,介绍下线程。
  4:对象锁和类锁是否会互相影响,会举例子让你判断锁的使用是否恰当,并说出原因。
  5:是否熟悉Lopper架构,如果熟悉说下其原理,如果你自己实现,你会怎么实现。这里主要考察阻塞消息队列原理,和其变形。
  6:自定义控件原理,及消息分发流程。
  7:binder工作原理。
  8:ActivityThread,Ams,Wms的工作原理。
  9:如果工作中需要修改framework,你如何寻找切入点。
 
 电话面试就这么多内容,自我感觉给回答打了75分,然后就是等通知;又隔了两天,阿里的HR打电话让我去指定地点面试,心里有点紧张,因为想给马云打工的人太多,竞争激烈程度可想而知(哈哈放平心态就好了,每个人都会有一个最好归宿)。

  和技术负责人聊了聊,大概2小时左右。

  主要聊的是framework、binder、并发容器、线程并发和对象锁,再就是ndk使用的是否熟练,是否熟练hook技术等;还有你遇到过什么技术难点,是如何解决的。还有你读过什么开源工程,有什么感想,你是否考虑过做一个开源工程。最后就是设计一个多线程并发处理大数据量,然后刷新UI的架构。

  最后结果是没能达到他们的期望,跟技术负责人聊的较开心,就留了联系方式。

  面试总结:通过这次面试知道自己还有哪些不足,要继续努力,功夫用在平时很重要。

 

posted @ 2018-03-05 11:46  清澈见底  阅读(225)  评论(0编辑  收藏  举报