2021非科班生的Android面试之路,看完你还觉得算法不重要?文末有彩蛋

前言

程序员说不焦虑其实是假的,因为无论是现在还是最近几年,很早就有人察觉Android开发的野蛮生长时代已经过去。过去的优势是市场需要,这个技术少有人有,所以在抢占市场的时候,基本上满足需要就已经可以了。但是现在,各式各样的APP层出不穷,APP的质量成为新的竞争标准。这也意味着不管是系统设计还是性能优化等方面,市场都给Android开发者提出了更高的要求。那么,Android是不是真的不吃香了呢?其实不是的,高级及以上还有很大的需求缺口,非常稀缺人才。但是初级开发者真的已经不吃香了。丧气的说一句,初级学者在市场中的竞争优势其实是很少的。

学习思维脑图

对应脑图学习笔记

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 各部分再分析分析,总结总结.

最后

下面是辛苦给大家整理的学习路线,有需要的可以点击这里免费获取

posted @ 2021-08-19 10:47  程序媛米菲  阅读(45)  评论(0)    收藏  举报