Android开发6年,互联网寒冬公司倒闭后,耗时3个月北上广求职

  • 做过哪些性能优化?是怎么评测和具体优化的?

  • 为什么WebView加载会慢呢?

  • 如何优化自定义View

  • FC(Force Close)什么时候会出现?

  • Java多线程引发的性能问题,怎么解决?

二、Android Framework相关

  • Android系统架构

  • View的事件分发机制?滑动冲突怎么解决?

  • View的绘制流程?

  • 跨进程通信

  • Android系统启动流程是什么?

  • 启动一个程序,可以主界面点击图标进入,也可以从一个程序中

  • 跳转过去,二者有什么区别?

  • AMS家族重要术语解释

  • App启动流程(Activity的冷启动流程)

  • ActivityThread工作原理

  • 说下四大组件的启动过程,四大组件的启动与销毁的方式

  • AMS是如何管理Activity的?

  • 理解Window和WindowManager

  • WMS是如何管理Window的?

  • 大体说清一个应用程序安装到手机上时发生了什么?

  • Android的打包流程?apk里有哪些东西?签名算法的原理?

  • 说下安卓虚拟机和java虚拟机的原理和不同点?(JVM、

  • Davilk、ART三者的原理和区别)

  • 安卓采用自动垃圾回收机制,请说下安卓内存管理的原理?

  • Android中App是如何沙箱化的,为何要这么做?

  • 一个图片在app中调用R.id后是如何找到的?

  • JNI

  • 请介绍一下NDK?

三、Android优秀三方库源码

  • 你项目中用到哪些开源库?说说其实现原理?

  • Android中软引用与弱引用的应用场景

四、热修复、插件化、模块化、组件化、Gradle

  • Android中ClassLoader的种类&特点

  • 热修补技术是怎样实现的,和插件化有什么区别?

  • 热修复原理

  • 为什么选用插件化?

  • 插件化框架对比

  • 插件化原理

  • 模块化的好处

  • 分析现有的组件化方案

  • 组件化开发的好处

  • 跨组件通信方案分析

  • 如何管理过多的路由表?

  • 多模块开发的时候不同的负责人可能会引入重复资源,相同的字符串,相同的icon等但是文件名并不一样,怎样去重?

五、设计模式与架构设计

  • 设计模式谈谈你对Android设计模式的理解

  • 项目中常用的设计模式

  • 手写生产者/消费者模式

  • MVC MVP MVVM原理和区别?

    • MVP架构存在的问题与解决办法
  • MVC的情况下怎么把Activity的C和V抽离?

  • MVP 架构中 Presenter 定义为接口有什么好处?

  • MVP如何管理Presenter的生命周期,何时取消网络请求?

  • aop思想

  • Fragment如果在Adapter中使用应该如何解耦?

  • 从0设计一款App整体架构,如何去做?

  • 实现一个库,完成日志的实时上报和延迟上报两种功能,该从哪些方面考虑?

  • 说一款你认为当前比较火的应用并设计(比如:直播APP,P2P金融,小视频等)

六、其它高频面试题

  • 如何保证一个后台服务不被杀死?(相同问题:如何保证service

在后台不被kill?)比较省电的方式是什么?

  • Android动画框架实现原理

  • Activity-Window-View三者的差别?

  • 低版本SDK如何实现高版本api?

  • 说说你对Context的理解?

  • Android的生命周期和启动模式

  • ListView和RecyclerView系列

  • 如何实现一个推送,消息推送原理?推送到达率的问题?

  • 动态权限系列

  • 自定义View系列

  • 对谷歌新推出的Room架构

  • 没有给权限如何定位,特定机型定位失败,如何解决?

  • Debug跟Release的APK的区别?

  • android文件存储,各版本存储位置的权限控制的演进,外部存

储,内部存储

  • 有什么提高编译速度的方法?

  • Scroller原理

  • Hybrid系列

  • 如果在当前线程内使用Handler postdelayed 两个消息,一个

  • 延迟5s,一个延迟10s,然后使当前线程sleep 5秒,以上消息的执行

时间会如何变化?

  • Android中进程内存的分配,能不能自己分配定额内存?

  • 下拉状态栏是不是影响activity的生命周期,如果在onStop的

时候做了网络请求,onResume的时候怎么恢复

  • Android长连接,怎么处理心跳机制

  • CrashHandler实现原理?

  • SurfaceView和View的最本质的区别?

  • Android程序运行时权限与文件系统权限

  • 曲面屏的适配

  • TextView调用setText方法的内部执行流程

  • 怎么控制另外一个进程的View显示(RemoteView)?

  • 如何实现右滑finish activity?

  • 如何在整个系统层面实现界面的圆角效果。(即所有的APP打开

界面都会是圆角)

  • 非UI线程可以更新UI吗?

  • 如何解决git冲突?

  • 单元测试有没有做过,说说熟悉的单元测试框架?

  • 实现一个Json解析器(可以通过正则提高速度)

  • Jenkins持续集成

  • 为什么 Google 会推出Fragment ,有什么好处和用途? 直接

用 View 代替不行么?

  • 工作中有没有用过或者写过什么工具?脚本,插件等等;比如:

多人协同开发可能对一些相同资源都各自放了一份,有没有方法自动检测这种重复之类的

  • 如何绕过9.0限制?

Android开发6年,互联网寒冬公司倒闭后,耗时3个月北上广求职

面试之外

学习分享

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021最新上万页的大厂面试真题

Android开发6年,互联网寒冬公司倒闭后,耗时3个月北上广求职

七大模块学习资料:如NDK模块开发、Android框架体系架构…

Android开发6年,互联网寒冬公司倒闭后,耗时3个月北上广求职

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。

这份体系学习笔记,适应人群:
**第一,**学习知识比较碎片化,没有合理的学习路线与进阶方向。
**第二,**开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。如有需要获取完整的资料文档的朋友点击我的GitHub免费获取。

容比较多,篇幅不允许,部分未展示内容以截图方式展示 。如有需要获取完整的资料文档的朋友点击我的GitHub免费获取。

上一篇:Android开发工程师:都想要进大厂,那么大公司面试的方向和面试官套路你都摸透了吗


下一篇:Android中RelativeLayout和LinearLayout性能分析,企业微信移动应用