软件工程师知识管理
写在前面
作为一个工作多年的移动软件工程师,在面对层出不穷的前端框架时,有时也感觉力不从心。但这并恰恰体现了自己的知识体系以及学习方法上,存在一些问题。 为了帮助自己解决这些问题,并做一些记录,帮助自己不断的成长,我想用写博客这种方式,不断的总结,不断的让自己把对知识的理解写出来,以达到最佳的学习效果。
这篇博客主要会包含以下内容:
- 软件开发会用到的知识
- 个人的学习计划
- 其他一些相关的内容(项目管理,英语,学习方法等)
关于本博文的计划:
- 列出并不断完善知识体系(粒度以一篇文章能写完为准)
- 针对这些知识,根据制定的学习计划,完成后,写出总结文章
基础知识
数据结构和算法
- 数据结构
- Array
- LinkedList
- Stack
- Queue
- Set
- Map
- HashMap
- Tree
- Binary Search Tree
- Red-Black Tree
- Graph
- B-Trees
- Fibonacci Heaps
- van Emde Boas Trees
- Data Structures for Disjoint Sets
- 算法
- 基础
- 复杂度分析
- Sort
- Quick Sort
- Heap Sort
- Merge Sort
- Priority Queue
- Seach
- Binary Search
- 字符串相关
- 图算法
- 最小生成树
- 最短路径
- Maximum Flow
- 基础
- 进阶设计和分析技术
- 分治算法
- 动态规划
- 贪心算法
- 回溯算法
- 均摊分析
计算机组成原理
操作系统
计算机网络
编译系统
数学
编程范式
OOP
软件设计
- 设计模式
- 设计原则
编程语言
Java
- Concurrency
- JVM
- GC
- 推荐阅读
- Java 2 核心技术
- Java 编程思想
- Effective Java
Kotlin
- Coroutine
Android
API
- 核心组件
- Activity
- Service
- ContentProvider
- BroadcastReceiver
- UI
库
- Google 官方
- Jetpack
- 第三方
- 开发框架
- React-Native
- Flutter
系统框架
- Message System
- Touch Event Dispatch
- View Draw
- IPC
- App Launch
- App Generate