安卓开发博客面试面试

比较高级的Android面试题

2018-07-15  本文已影响133人  Jannonx

写在前面:别人面试遇到的问题,没给答案,尝试写回答,查缺补漏。原博地址

天猫

一面

1. Retrofit的实现与原理
2. 应用详细启动过程,设计的进程,fork新进程(Linux)

3. HashMap原理,Hash冲突,并发集合

4. Android两种虚拟机区别与联系

6. Activity的onNewIntent

7. View的绘制原理
8. 类的加载机制

**9. requestLayout,invalidate,postInvalidate区别与联系

项目架构
项目详细优化
项目难点与亮点
Glide缓存源码,加载原理
网络优化,服务端与客户端两方面

三面

1. ActivityThread工作原理
2. 设计模式与实际应用
3. adb常用命令行

**5. 多线程同步

四面

微信小程序实现原理
Java反射
Binder机制,共享内存实现原理
Android动画
混合开发
笔试(5道题,两小时)

五面

业务需求分析与建议
黑盒排序算法

51信用卡

一面

项目介绍
Retrofit的实现与原理,封装
Java泛型
设计模式与实际应用
RecyclerView与ListView(缓存原理,区别联系,优缺点)
ButterKnife实现原理
EventBus实现原理
AOP与APT
RxJava
自定义LayoutManager
嵌套滑动实现原理
混合开发
微信小程序

二面

View的绘制原理
第三方框架选择标准
项目难点与亮点
插件化,热修复
项目优化

美术宝

笔试

具体场景分析Activity的生命周期
Android消息机制
Bitmap内存计算,如何压缩
SurfaceView与View
Application生命周期
Http与Https
手写单例模式
手写算法代码

面试

EventBus实现原理
自定义View里,onDraw详细优化
SurfaceView替换方案
高清加载巨图且支持手势缩放的实现方案
算法题目其他思路

贝贝

一面

项目介绍
架构的搭建与原理
MVC,MVP,MVVM模式理解与使用
微信小程序实现原理
ArrayList与LinkList区别与联系
HashMap源码,JDK1.8前后详细区别,负载因子,Fail-Fast机制
线程安全的集合及各自实现原理
Synchronized原理
Volatile实现原理
详细描述应用从点击桌面图标到首页Activity展示的流程(应用启动流程,Activity的Window创建过程)
Glide加载原理
组件化

二面

Fragment的懒加载实现,参数传递与保存
ViewPager的缓存实现
Android消息机制,post与postDelay
ActivityThread工作原理
子线程访问UI的验证与后果
主线程Looper.loop为什么不会造成死循环
Android里的多线程与实现原理
热修复实现方案
EventBus实现原理
Android内存优化与分析
类加载机制,加载过程
组件化实现方案,路由原理
单链表添加具体实现

三面

进程与线程
项目详细优化
设计模式与实际应用
ListView与RecyclerView的对比
自定义View的优化
具体场景分析高并发访问服务器的解决方案

小影

项目介绍,整体框架搭建
Glide加载原理,缓存方案,LRU算法
Glide加载长图,图片背景变色
ArrayList与LinkList区别与联系
RecyclerView缓存原理,局部刷新原理
Android事件分发机制
结合具体场景处理滑动冲突事件
Android消息机制
ActivityThread工作原理

二面

EventBus实现原理
View的绘制原理
热修复实现原理,解决方案
组件化具体实现
项目详细优化
Android权限管理
编码风格与规范
项目管理

上一篇下一篇

猜你喜欢

热点阅读