写点什么

各种风格的 Android 面试题,进来了解一下?

  • 2021 年 11 月 07 日
  • 本文字数:2110 字

    阅读完需:约 7 分钟

  • dp 是什么,sp 呢,有什么区别

  • 自定义 View,ViewGroup 注意那些回调?

  • 界面卡顿的原因以及解决方法

  • android 中的存储类型

  • service 用过么,基本调用方法

  • Handler 机制

  • LinearLayout、Frame


《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
浏览器打开:qq.cn.hn/FTe 免费领取
复制代码


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 的高度,怎么做

评论

发布
暂无评论
各种风格的Android面试题,进来了解一下?