Android-Common-Interview-Questions

面试题总结

#通用

  • 安卓学习途径, 寻找资料学习的博客网站
  • AndroidStudio使用, 插件使用
  • 安卓和苹果的区别

#初级(基础1年左右)

  • 四大组件
  • 五大存储方式
  • Layout布局有哪几种 FrameLayout什么时候用
  • ListView的优化
  • 点击事件设置监听的几种方式
  • 安卓主线程和子线程的关系
  • Activity生命周期 onStart onResume区别
  • Fragment生命周期 Activity和Fragment区别
  • 页面之间如何传递数据, 如果传递一个对象如何处理, 如何传递集合
  • dp px sp的区别
  • gravity和layout_gravity的区别
  • margin和padding的区别
  • weight的作用
  • Handler机制
  • 什么的ANR, 如何避免
  • 显式意图和隐式意图区别,隐式意图的使用
  • 广播几种接收方式, 广播有几种类型, 区别
  • 开启Service的几种方式, 区别, Service和Activity之间如何传递数据
  • Service中如果要start一个Activity要如何特殊处理,为什么
    ...
    还有很多,都是网上常见面试题, 百度搜看看, 背下来即可

#中级(2~3年, 也问部分基础问题)

  • 自定义控件
  • 常用开源框架的使用
  • 动画类型
  • 任务栈,页面启动方式
  • Material Design / 新控件RecyclerView CardView等使用
  • 图片压缩和双缓存原理
  • 多层View的onTouch事件分发
    ...
    简单了解记下来, 最好自己写个demo试验下

#高级(3年+, 也问部分中级问题)

  • Android绘制原理 onMeasure onLayout onDraw作用
  • MeasureSpec的集中类型区别和作用
  • 自定义控件
  • 什么是MVC MVP,区别
  • 响应式编程
  • 常见开源框架源码
  • 单元测试常用框架和实际使用 场景
    ...
    需要阅读源码和项目编码练习

其他

#多媒体

  • 音频的环绕声和混响等如何处理
  • 音频录制播放
  • 视频的录制和播放
  • 播放使用的常用框架
  • Android原生支持格式
  • 软解码硬解码的区别
  • 如果要做一个按住屏幕右侧滑动调整声音功能如何处理
    ...
    特殊公司做这方面相关的会问的多