各种风格的 Android 面试题,进来了解一下?
dp 是什么,sp 呢,有什么区别
自定义 View,ViewGroup 注意那些回调?
界面卡顿的原因以及解决方法
android 中的存储类型
service 用过么,基本调用方法
Handler 机制
LinearLayout、Frame
Layout、RelativeLayout 性能对比,为什么
Activity 的生命周期,finish 调用后其他生命周期还会走么?
FW 层熟悉么,源码看过么
GC 回收机制熟悉么,分代算法知道么
Java 的类类加载原理
内存泄漏如何排查,MAT 分析方法以及原理,各种泄漏的原因是什么比如
Handler 为什么会泄漏
gradle 熟悉么,自动打包知道么
介绍下先的 app 架构和通信
自己负责过哪些模块,跟同事相比自己的优势是什么
遇到过什么印象深刻的问题,怎么解决的
现场面试:三场
First:
最近都做了哪些工作?
遇到了什么印象深刻的问题。A:会顺着你介绍的项目问下具体实现。
推送消息有富文本么?
热修复了解么,用的什么?
apk 包大小有限制么?怎么减少包大小?
工作中有没有用过或者写过什么工具?脚本,插件等等
比如:多人协同开发可能对一些相同资源都各自放了一份,有没有方法自动检测这种重复之类的
写过 native 的底层代码么
view 的绘制熟悉么,介绍下
gc 相关的算法
anr 是因为什么产生的,怎么排查
界面上的话,有什么优化措施么?比如列表展示之类的,平时遇到过内存问题吗,怎么优化的?
平时用过哪些设计模式?
Second:
介绍下最近一年主要做了什么工作
会对简历上突出的技能进行详情的询问:
比如:音频合成的具体步骤,以及遇到的一些问题和细节处理。
会根据面试发散一些问题,问到,seek 方法播放到末尾后重新播放会有一些卡顿的不流畅问题,怎么避免,从交互设计或者技术角度。(个人表示没怎么关注这种)。
项目团队多少人,怎么分配工作
线程之间怎么通信的?
app 的架构是怎么样的,并且为什么这样,有什么优缺点?
算法熟悉么?给了一个二叉排序树,出了一个给定节点找到它的下一个元素(指的是大小顺序的下一个)的算法题。
为什么找工作,自己的优势是什么
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 有哪些新特性
差不多就这些吧。。最后每个面试官都会让你问他问题。
公司二:
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 的高度,怎么做
评论