正文
从我个人的角度写写30多岁码工的感受:的确是受年龄压力开始增大了。比如二十多岁的小年轻,可能什么都懂,对组里的东西很熟悉。有时候我也怀疑自己是不是智商不够,是不是自学能力太差,是不是基础不行,别人是不是都玩命加班,你知道30多岁的人那种危机感。
常规电话面试
1 JAVA基础思想:设计模式与面向对象
2 安卓View绘制流程
3 常规的组件问题
4 事件分发机制
5 多线程和安全问题
6 安卓性能优化和兼容问题: 性能优化回答
具体面试
1 线程池原理
2 线程安全有多少种实现方式
3 图片加载框架原理
4 Http 协议原理
5 Okhttp 原理
6 各种内存优化
7 垃圾回收机制原理
8 谈谈对同步请求和异步请求的理解
9 怎么保证同步和异步
10 Intent servise ,底层原理实现
11 Handler 为什么能够进行跨进城通讯
12 Handler 为啥不能在子线程声明,声明后,报运行时异常异常
13 通讯协议Rxjava 和Retrofit 的结合使用
14 谈谈你对线程安全的理解
15 自定义线程池原理?你如何定义
16 Glide框架原理
17 膨胀锁
18 TCP协议栈讲讲
19 Socket 链接,到底怎么连接
20 Git 怎么提交两次请求,保证是同一个ID(命令行操作)
21 如何定位ANR,OOM ,快速
设计模式部分
·设计模式讲一讲
·单例模式,几种,优缺点
·观察者模式,可以讲讲EventBus设计实现
·适配器模式以及应用场景
·工厂相关的模式
·策略模式,Android中的应用场景
·MVC,MVP,MVVM,比较异同,选择一种着重讲就行
1月收集(某公司中级Android开发)
·讲讲handler的理解
·项目中用到了Rx,优势是什么,项目使用Rx时有没有遇到内存泄露,怎么解决的
·安卓8.0的相机适配有没有遇到什么问题
·谈谈对android权限机制的了解,有没有了解过自定义权限
·在集成地图时遇到过什么问题
·项目使用listview还是recycler,recycler对比list有什么优势
·onNewIntent的调用时机
·聊聊对插件化的理解,组件化和插件化区别是什么,组件化的好处
·如何解决推送传达率的问题
·穿插了一些fragmentmanager对于fragment的管理,调试工具,线程池以及进程相关的东西
2月收集(某公司初中级Android开发)
·如果后台的Activity由于某些原因被系统回收,如何在系统回收之前保存当前状态?
·Service的生命周期,如何启动和关闭一个Service?
·Service和Activity在同一线程吗?
·四大组件都用过哪些?简单的接收一下他们的用法?
·UDP链接和TCP的不同之处,socket的使用方法?
·Android开发中怎么去调试debug?写出你常用的adb调试命令
结尾
我还总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料,免费分享给大家。
(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。