安卓开发者的知识清单

临近学校课程结束,回顾和梳理了下几门主要课程的脉络:

1.数据结构和算法
基础数据结构:数组、链表、栈、队列、哈希表、堆、二叉树、(图、并查集、Trie...)
基础算法:各种排序算法、二分查找、广度优先、深度优先
基本算法思想:递归、分治、回溯、贪心、动态规划

2.计算机网络
网络这一块可以分为两部分:协议体系和网络安全
协议体系:OSI七层结构、简化的五层结构
网络安全:对称与非对称加密体系、数字签名、SSL与Https

3.操作系统
当时老师提了个问题很经典,双击 word 到打开经过了哪些流程?首先要在磁盘上找到程序的位置(文件管理),然后将程序载入内存(IO),在内存中找块地儿存放刚载入的程序(内存分配),为这个程序创建一个进程(进程管理),最后等待 CPU 调度执行(调度策略)

回忆这个过程,能够很清楚的了解操作系统扮演的角色

4.数据库
CRUD,以及围绕这些操作进行的高效性、安全性的研究

5.编译原理
词法分析 → 语法分析 → 语义分析 → 中间代码生成 → 代码优化 → 目标代码生成

结合上面的内容,我(Android developer)总结了一份自己目前的知识清单:

安卓开发者的知识清单_第1张图片

你可能感兴趣的:(安卓开发者的知识清单)