前言
许多 Android 开发者经常会问我,要学会哪些东西才能成为一个优秀的 Android 工程师?对于这个问题,他们的描述或多或少都有些差异,但是,总体来说,我们都需要学习一系列的技能,才能成为一个优秀的 Android 工程师。
在我看来,存在这样的困惑是正常的。Android 是一个巨大并且动态的生态系统,你可能需要花好几周时间去了解并学习它相关的一些工具和概念,但是最后你会发现,它们有好多都不是很重要,或者说并不是非常有用。因此,在本文中,我将分享我在 Android 开发中所使用到的重要技能,希望能够帮到你,让你把你的精力集中到重要的事情上。
所以,今天,我将献上一份《Android知识图谱》,以自身的经验 & 所见所闻,旨在告诉大家,学习Android,实际上需要学习什么内容,希望你们会喜欢。
面试准备
- 了解这些,自然无惧面试
- 解读大部分程序员在面试前很关心的一些问题
- 如果面试官问你“你有什么问题问我吗?”时,你该如何回答?
- 面试官问你优点/缺点时该如何回答(避免雷区)?
- 程序员简历就该这样写
非技术性问题 & HR 问题
- 非技术问题
- HR 提出的面试问题
Java
- Java 基础
- Java 容器 List Vector ArrayList LinkedList CopyOnWriteArrayList Map HashMap ArrayMap(Android) LinedHashMap TreeMap Hashtable ConcurrentHashMap Cloneable SparseArray Set HashSet TreeSet Queue LinkedBlockingQueue ConcurrentLinkedQueue ArrayBlockingQueue PriorityBlockingQueue SynchronousQueue 容器面试题
- Java 并发 一
- Java 并发 二
- Java 并发 三
- Java 并发 四
- JVM JVM 基础概念 Java内存区域-比较详细 JVM垃圾回收 类文件结构 类加载过程 类加载器 大白话带你认识JVM
- Java 进阶核心技术面试精讲(一)
- Java 进阶源码解析专题(二)
面向对象
- 面向对象思想
- 设计模式
网络
- 计算机网络
- HTTP
- Socket
Android
Android - 基础
- Context
- Application
- Activity
- Service
- BroadcastReceiver
- ContentProvider
- fragment
- 动画
- 存储
- View
- 接口
- 序列化
- 进程处理
- 内存
- 网络
- 多线程
- 应用无响应
- 屏幕适配
- Android 版本新特性
- Bitmap
- JNI
- Intent
- Lru
- 随机应变
- 其它
Android 中高级专题性能优化
- 图片
- 网络
- 异步
- 注入
- Handler
- 数据库
- 屏幕适配
- 插件化
- 热修复
- 架构
- 组件化
- 路由
- View
- Gradle
- 多渠道
- 性能监控
- NDK
- 音视频
- 混合开发
- 疑难杂症
最后
Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。
人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。
我把自己这段时间整理的Android最重要最热门的学习方向资料放在了我的腾讯文档上,里面还有不同方向的自学编程路线、面试题集合/面经、及系列技术文章等。
间整理的Android最重要最热门的学习方向资料放在了我的腾讯文档上,里面还有不同方向的自学编程路线、面试题集合/面经、及系列技术文章等。**
资源持续更新中,欢迎大家一起学习和探讨。