写在前面

作为一个工作多年的移动软件工程师,在面对层出不穷的前端框架时,有时也感觉力不从心。但这并恰恰体现了自己的知识体系以及学习方法上,存在一些问题。 为了帮助自己解决这些问题,并做一些记录,帮助自己不断的成长,我想用写博客这种方式,不断的总结,不断的让自己把对知识的理解写出来,以达到最佳的学习效果。

这篇博客主要会包含以下内容:

  • 软件开发会用到的知识
  • 个人的学习计划
  • 其他一些相关的内容(项目管理,英语,学习方法等)

关于本博文的计划:

  • 列出并不断完善知识体系(粒度以一篇文章能写完为准)
  • 针对这些知识,根据制定的学习计划,完成后,写出总结文章

基础知识

数据结构和算法

  • 数据结构
    • 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

学习方法

如何学习

项目管理

自我管理

德鲁克的自我管理(翻译)(未完成)

参考&引用

ACM分类
算法导论