####Third:
- 技术问题不再局限于简历,可能根据简历和回答情况渐进并扩散。
- 感觉各个技术面试官之前并没有沟通,可能会问到类似的问题
- 介绍下自己主要负责的工作
- Activity的生命周期有哪些,知道onRestart么,介绍下
- savedInstanceState知道么,干什么用的,什么时候有值,什么时候为空,平时是怎么用的
- View绘制熟悉么,介绍下,能说下是实现原理么?
- 平时用过什么开发工具,分析工具?
- ANR是怎么回事?怎么查?Service会引起ANR么?
- Activity的启动模式有哪些?栈里是A-B-C,先想直接到A,BC都清理掉,有几种方法可以做到?这几种方法产生的结果是有几个A的实例?
- 有什么工具可以看到Activity栈信息么?多个栈话,有方法分别得到各个栈的Activity列表么
- 都熟悉哪些命令?知道怎么用命令启动一个Activity么?
- SharedPrefrences的apply和commit有什么区别
- java里带$的函数见过么,是什么意思
- MD5是加密方法么,Base64呢
- 有博客和github,主要是写的什么?有哪些关注
- android 8.0 有哪些新特性
- 差不多就这些吧。。最后每个面试官都会让你问他问题。
最近面试被怼了?缺面试题刷提升自己吗?
点击:
来获取学习资料提升自己去挑战一下BAT面试难关吧
###某公司
- glide缓存策略?同一个图片跟size有关么
- android中的动画有哪些
- View事件传递机制
- 界面卡顿怎么排查和优化?
- Fragment的replace和end??的区别?
- MVP,MVVM,MVC解释和实践
- 项目之外的,对技术的见解,拓展知识
####二面:
- 微信跳一跳外挂怎么实现,检测怎么做的?
- 一张纯色背景下怎么有效检测各个矩形?
- 对接的so算法了解么,有接触过相关的库么?
- 三个算法题选一个并写出测试用例:打印n-m之间所有的素数;计算n-m之间1出现的次数;指定数字序列的排序;
- android api层的源码熟悉哪些?解释一下
- ACTION_CANCEL什么时候触发,触摸button然后滑动到外部抬起会触发点击事件吗,在+ + 滑动回去抬起会么
- 怎么处理嵌套View的滑动冲突问题
- 热修复相关的原理,框架熟悉么
- gradle打包流程熟悉么
- 任意提问环节:其实可以问之前面试中遇到的问题:比如,多模块开发的时候不同的负责人可能会引入重复资源,相同的字符串,相同的icon等但是文件名并不一样,怎样去重?
###NetBase:
- Canvas的底层机制,绘制框架,硬件加速是什么原理,canvas lock的缓冲区是怎么回事
- surfaceview, suface,surfacetexure等相关的,以及底层原理
- android文件存储,各版本存储位置的权限控制的演进,外部存储,内部存储
- 上层业务activity和fragment的遇到什么坑??页面展示上的一些坑和优化经验
- 网络请求的开源框架:OKHttp介绍,写过拦截器么
###Netbase:AI
- 数据层有统一的管理么,数据缓存是怎么做的,http请求等有提供统一管理么?
- 有用什么模式么,逻辑什么的都在Activity层?怎么分离的
- 如果用了一些解耦的策略,怎么管理生命周期的?
- 有什么提高编译速度的方法?
- 对应用里的线程有做统一管理么?
- jni的算法提供都是主线程的?是不是想问服务类的啊
- 边沿检测用的啥?深度学习相关的有了解么?
- 上线后的app性能分析检测有做么
###yz
- 进程间通信方式?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进阶知识体系学习脑图
- Android进阶高级工程师学习全套手册
- 对标Android阿里P7,年薪50w+学习视频
- 大厂内部Android高频面试题,以及面试经历
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
](https://bbs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!