oppo安卓面试题,阿里、百度、美团、携程、蚂蚁面经分享

360 阅读3分钟

学习思维脑图

对应脑图学习笔记

Android 开发分成 :

1. "开发" 一般的开发技能 2. "移动应用开发" 移动应用开发相关概念思想 3. "Android 开发" 特指与 Android 开发直接相关知识技能

正如你可能所想的那样,这样的问题不像1 + 1等于2那样,有一个简单确切的答案.真正答案因人而异. 下面我以自己几年的Android 开发经验,与你分享一二,就按我上面所分解的几个方面来说一说:

一: 开发技能

你可以看成是一般的编程技能,这方面你可以从:

  • 编程语言的熟练掌握
  • 面向过程编程思想
  • 面向对象的思想
  • 函数式编程思想
  • 设计模式
  • 算法与数据结构
  • 网络编程,TCP/IP 协议
  • 重构
  • 版本管理(Git 等)
  • 等方面的检查和提高自己

二: 移动应用开发

你可以看成是 App 开发,估计这可能是你更感兴趣的,这方面你可以从: MVC 这成三个方面来对照检查下

M: 数据层

  • 移动应用数据结构特点
  • 数据存储 :SQLite数据库,文件存储
  • 数据格式: XML 格式,JSON格式 序列化与反序列化
  • 数据查询: 移动应用一般数据库主要是 用SQLite
  • (说回来,单是 SQLite 数据库,就可以花不少时间来深入学习下,
  • 因为对一个应用来说,数据基本是核心)

V: 视图层

  • 移动应用界面特点
  • 移动应用构建界面常用方法
  • 移动应用交互特点
  • 移动应用动画
  • 系统 UI 系统特点,优点,缺点及局限

C: 控制层

  • 移动应用控制层特点
  • 控制层的生命周期
  • 多线程,UI 线程,后台线程

E: 事件层

  • 事件处理,触控事件,手势,事件响应链

三: Android 开发

工具篇 - 工欲善其事,必先利其器

  • Android Studio 掌握用得怎么样了?
  • Adb 及相关工具会用吗?
  • Gradle 构建系统呢?
  • 文档篇 - 看 Android 官方是怎么定义开发各种技能的.

相信常看 Android 开发者官方网站,你会收益良多,我下面写的也不必看了.

系统篇

  • Android 多线程编程,异步编程特点 - Loop,Handler,IntentService,Broadcast,MessageQueue
  • Android UI 框架特点,优势和不足

然后你再按 MVC 将 Android 各部分再分析分析,总结总结.

尾声

一转眼时间真的过的飞快。我们各奔东西,也各自踏上了自己的旅途,但是即使多年不见,也因为这份情谊我们依旧如从前那般“亲密”。不忘初心方得始终。加油吧,程序员们,在我看来35岁,40岁从来不是危机,只要永远不要忘记自己为何踏上征程!

最后需要同款资料的,可以 私信我点击【学习 我愿意分享给你!

为了让更多在学习中或者最近要准备面试的朋友们看到这篇文章,希望你们能多多评论,点赞+转发!

再次感谢所有给我提供过题目的朋友们,感谢一路有你!