|
十几年前计算机领域的知识比较单纯的,那时候还没有太多ABC(AI,Big Data, Cloud), 并行计算,没有区块链、微服务、Mobile、小程序、中台、VR等。那时候面试基本上就是操作系统知识、数据结构、算法、OOD、设计模式、数据库等。
语言层面也就是C++、Java、.Net等,那是JavaScript比较沉默,还没有Node、Angular、React、H5等。
那时还没有DevOps,也没什么自动化测试。
现在计算机领域的分类太广了,内容太多,语言、架构、框架、新技术、新模式、生态是层出不穷,百花齐放。每个人的时间总是有限的,时间只能花在有限的知识中。但是我们还是要对自己提高要求,日三省吾身,时代变化快,保持对新知识的好奇,不要被淘汰!
下图是泛泛而谈的计算机领域涉及的方方面面,其实每个分支都可以扩展...

Level 1 Level 2 Level 3 Level 4 Level 5 Level 6
软件开发知识体系 开发平台、环境 桌面开发 Windows
OSX
Linux
Web 开发
移动开发 iOS
Android
Hybrid
嵌入式开发
小程序
微服务
开发语言 Java
C/C++
Python
C#
VB
Javascript
NodeJS
Go
Objective-C
Swift
Bash/Shell
开发框架 桌面开发UI框架 MFC
WinForm
WPF
QT
Web框架 Angular
Vue
React
django
Java框架 Sprintboot
NodeJs框架 Express
Koa
Web服务器 IIS
Tomcat
NodeJS
nginx
编译、打包、部署 gradle
maven
ant
webpack
grunt
测试 Unit Test
Automation Test Celinium
NightWatch
Smoke Test
Regression Test
DevOps CI/CD
虚拟化 VM
Container
Kubernates (k8s)
Jenkins
工具、IDE IDE Visual Studio
VS Code
Intellij Idea
Eclipse
WebStorm
Sublime Text
vim
版本管理 Git
p4
SVN
CVS
版本管理工具 GitBucket
Github
Gitlab
Jenkins
Docker
VM
其他 i18n
Localization
versioning
Accessbility(AX)
GC
调试技巧
编程方式 面向方法的编程
面向对象的编程OOD
函数式编程
正则表达式
页面自适应
负载均衡
弹性伸缩
BlockChain
Cloud Amazon Cloud
Microsoft Azure
阿里云
腾讯云
BigData Spark
Hadoop
AI 机器学习
深度学习
消息队列 Kafka
RocketMQ
RabbitMQ
数据库 结构化数据库 Oracle
MSSQL
MySQL
PostgreSQL
SQLite
非结构化数据库 MongoDB
分布式数据库 HBase
ElasticSearch
Solr
基于内存的数据库
SQL
ORM
缓存技术 Redis
数据库分库、分表
设计模式 创建型 单例模式
创造者
原型
工厂方法
抽象工厂
结构型 适配器模式
装饰者模式
行为型 策略模式
观察者模式
迭代器模式
MVC
MVVM
计算机网络 协议 IP
TCP
UDP
HTTP RESTful
SOAP
GraphQL
通信 Socket
RPC
WebSocket
WebRTC
操作系统 进程
线程
进程通信
锁
同步
作业调度
临界区
互斥
算法 基本算法思想 动态规划
贪心算法
回溯算法
分治算法
枚举算法
复杂度分析 时间复杂度 最好
最坏
平均
均摊
空间复杂度
搜索 深度优先
广度优先
查找 二分查找
散列表查找
树结构查找
字符串匹配 暴力匹配
BM
KMP
Trie
排序算法 O(n*2) 冒泡排序
选择排序
插入排序
希尔排序
O(nlogn) 归并排序
堆排序
快速排序
O(n+k) 计数排序
计数排序
桶排序
数据结构 数组
栈
队列
链表
堆
树 二叉树 二叉查找树
二叉平衡树
平衡二叉查找树 红黑树
多路查找树 B树
B+树
2-3树
2-3-4树
图 关键路径
最小生成树
最短路径
拓扑排序
散列表 |
|