阿里
- 进程间通信方式?Binder的构成有几部分?
- HttpClient和HttpConnection的区别
- View的事件传递机制
- MVC,MVP,MVVM分别是什么?
- Android中常用的设计模式,说三个比较高级的?
- 内存优化,OOM的原因和排查方法
- 想改变listview的高度,怎么做
- Https是怎么回事?
- 除了日常开发,其他有做过什么工作?比如持续化集成,自动化测试等等
滴滴
- ActivityA跳转ActivityB然后B按back返回A,各自的生命周期顺序,A与B均不透明。
- Synchronize关键字后面跟类或者对象有什么不同。
- 单例的DCL方式下,那个单例的私有变量要不要加volatile关键字,这个关键字有什么用
- JVM的引用树,什么变量能作为GCRoot?GC垃圾回收的几种方法
- ThreadLocal是什么?Looper中的消息死循环为什么没有ANR?
- Android中main方法入口在哪里
- jdk1.5?SparseArray和ArrayMap各自的数据结构,前者的查找是怎么实现的,与HashMap的区别
- Runnable与Callable、Future、FutureTask的区别,AsyncTask用到哪个?- AsyncTask是顺序执行么,for循环中执行200次new AsyncTask并execute,会有异常吗
- IntentService生命周期是怎样的,使用场合等
- RecyclerView和ListView有什么区别?局部刷新?前者使用时多重type场景下怎么避免滑动卡顿。懒加载怎么实现,怎么优化滑动体验。
- SQLite的数据库升级用过么
- 开放问题:如果提高启动速度,设计一个延迟加载框架或者sdk的方法和注意的问题。
- Scroller有什么方法,怎么使用的。
- 分享下项目中遇到的问题
- webwiew了解?怎么实现和javascript的通信?相互双方的通信。@JavascriptInterface在?版本有bug,除了这个还有其他调用android方法的方案吗?
- ReactiveNative了解多少
- JNI和NDK熟悉么?Java和C方法之前的相互调用怎么做?
几点建议
1、简历要如实写,相关的知识点一定要烂熟于心。
2、基础扎实,android和java相关的知识树网上有很多资料,看过但让你讲出来未必能说的好。
3、提前总结,你还擅长什么其他技术?这种开放问题要看知识面了。
4、学会提问,你有什么问题要问我吗?这种礼貌性问题也是一个了解对方的好机会。
5、良好的心里素质,无论遇到什么情况,面试官迟到、面试官态度冰冷说话不客气、质疑你的回答等等各种问题都不要慌也不要排斥,一定要沉住气,耐心积极的思考并回答对方的提问。
6、推荐几本书,也是好几次面试后发现里面涵盖了大部分答案。《Android开发艺术探索》《Android源码设计模式-解析与实战》《Android进阶之光》《深入理解Java虚拟机》《Android音视频开发》《Android进阶解密》多看几遍。
以上面试中问到的题目基本上都可以在其中找到答案,所以做准备是很重要的,但技术是一点点积累的,就算你全会背了,面试过了,真正等到工作的时候还是会捉襟见肘的,所以踏实点吧骚年。
而且大厂的面试流程比较长,面试是一场全面大考验,如果想换个工作,最好提前充分准备。
最后
在这里我和身边一些朋友特意整理了一份快速进阶为Android高级工程师的系统且全面的学习资料。涵盖了Android初级——Android高级架构师进阶必备的一些学习技能。
附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)
识点、常见算法题汇总。)
[外链图片转存中…(img-rlK9wO4Z-1624135097107)]
本文在开源项目:【腾讯文档 】中已收录,里面包含不同方向的自学编程路线、面试题集合/面经、及系列技术文章等,资源持续更新中…