2016阿里Android开发实习生内推面经

Posted 招聘消息汇总

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016阿里Android开发实习生内推面经相关的知识,希望对你有一定的参考价值。

阿里一面(22分钟) 

自我介绍都没有做,上来就问印象最深的一个项目,根据项目中的知识点提问; 

* 项目中使用了哪些材料设计中的东西? 

* ListView和RecyclerView的区别?为什么使用RecyclerView,好在哪里? 

* ListView的优化 

* 为什么使用CardView,好在哪里? 

* 项目中如何做到后台监听的?(项目中BroadcastReceive和Service相关问题) 

* 使用的是什么数据库?(答:Realm)为什么使用,为什么不用Sqlite? 

* 项目中使用那么多开源框架,如何获取这些信息的?如何筛选决定要使用这些东西? 

* 有没有看过开源的代码?(大概说了一下Rxjava) 

* 你有什么问题要问? 

阿里二面(24分钟) 

* 自我介绍,同时问了项目中的细小的问题; 

* 项目中如何让service常驻后台?(告诉他这是我项目中的Bug被杀掉后就没办法了,但是在说了网上提到的QQ的两种常驻方法) 

* Activity的生命周期,每个周期伴随着什么? 

* Activity的启动模式,四种方法? 

* 广播注册的两种方式,区别,优先级? 

* 问了Layout的优化的方法?(这个不清楚,答的是ListView和Activity的优化) 

* 一个singleton如何实现线程的同步问题? 

* Java的垃圾回收机制,垃圾回收算法? 

* 平时如何代码是如何练习的? 

* 使用过那么多开源框架,有没有看过源代码?(答:结合解析看过Retrofit、Rxjava、Okhttp等) 

* 你有什么问题要问? 

阿里三面(45分钟) 

* 自我介绍,同时问了三个项目的大概情况,(对混合开发那个比较感兴趣,问了一下,其他的没有细问) 

* 由于其中一个项目是负责人,所以问了一下项目的整个设计流程 

* 又问了项目中service常驻的方法,(回答和二面一样,但是这次说的比较清晰) 

* 有没有了解过Realm的底层数据库是什么?(没有了解过) 

* 他问有没有读过开源的源码?(说了一下Retrofit和RxJava的内部主要实现,这一次也答的比上一次清楚多了) 

* 又问了ListView的优化 

* 网络中Http get和post的区别 

* 使用哪种数据传输格式?答Json,问还有哪些?答Xml。还有哪些?答:不知道 

* 怎么解析Json?(答的在线解析生成Java类,他表示很感兴趣) 

* 怎么在非UI线程更改UI?(答handle、AsyncTask、RxJava,表示现在我基本不用handle,直接用RxJava。) 

* Handle的工作原理和工作过程?(同时还说了Handle会造成内存泄漏的问题) 

* 有没有了解过跨进程通信;(瞬间心虚,只是简单说了一下远程service的创建和AIDL实现远程通信,这里需要感谢CSDN的郭大神) 

* 问了多线程的并发(说了两种重入锁的实现) 

* 又问使用synchronized关键字的时候底层调用的是哪种锁?(没有了解过不清楚) 

* 问了一个JavaEE的新特性,这个不知道也没听清楚; 

* interface中定义的变量默认的类型是什么(不加任何修饰)?(说是default,他反问default,我说这是方法中变量中的类型,interface中应该也一样吧;后来查了一下才知道,这里是个坑,interface只能是public static final的常量) 

* 父类的方法是public,子类重写后,改为protect,会不会报错?反过来呢? 

* 算法:国际象棋8*8的格子,马走“日”字,设计算法计算马如果走完全部格子?(答的回溯法说了一下思路,后来查了基本差不多) 

* 你有什么问题要问? 

Hr面(30分钟) 

Hr面当天晚上收到Offer,至此为期一个月紧张的找实习经历结束。 

我是怎样准备面试的? 

1、牛客网上面刷题:在面试期间我做完了牛客网上《剑指Offer系列》的题目并写了相关的[博客](http://www.jianshu.com/p/fa9dcbc88a8e)。(虽然本次面试中遇到的算法问题比较少,但是三面最后的一道算法题对我加分不少。)在做往年笔试题的同时也写了一些[博客](http://www.jianshu.com/p/78d9fa2636ee)。 

2、多做笔记,建议使用印象笔记。在网上找一些面经,多纪录,一定要自主思考答案,多看大牛博客,并尝试举一反三。(面经大家都可以看见,但是如何把问题答出彩,让面试官记住你的与众不同?这个是在准备面经的时候需要思考的。) 

3、熟悉自己的项目,对项目中的每个点都需要熟悉,如果面试官问到你不会的问题就往项目上面说,然后。。。自己发挥; 

4、准备一个一篇能吸引人的简历,建议去花钱买简历模板,免费的都不好看。很多公司都是在网上填简历,在线简历一定要认真,尤其是开放性试题,比如本次阿里校招在线简历最后有三道开放性题目。试想,当一千人的项目经历和学历都和你不相上下的时候,Hr怎么从这一千份的简历中筛选出合适的那一百份呢? 

如何找简历模板? 

在[花瓣网](http://huaban.com/)上面搜**一页纸简历**,看到各个网站的简历模板,根据个人需求在不同的网站买模板! 

(切记不要因为省几块钱而去用免费的模板,只能让Hr感觉千篇一律,毫无新意!)


本文由于16.5.16发表在牛客网讨论区,直接点击阅读原文可以和作者勾搭哟~

以上是关于2016阿里Android开发实习生内推面经的主要内容,如果未能解决你的问题,请参考以下文章

阿里巴巴前端实习面经总结(可内推)

2016阿里前端开发实习生面试经历

2016阿里前端开发实习生面试经历

阿里巴巴2016年-校招-实习生岗位-内推

阿里巴巴2016年-校招-实习生岗位-内推

社招4年,朋友内推二线大厂Java岗面经