打印
[资料干货]

程序员必知的基础知识有哪些?czhztjz

[复制链接]
372|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
czhzs123|  楼主 | 2021-4-15 14:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序员的核心基础知识

1、数据库

关系数据库是软件开发中最常见的一个组件,它的工作原理是程序员必须要掌握的。我们可以把数据库看做是轮子,学习造轮子是基础中的基础。那么造一个轮子遥涉及到哪些知识呢?

(1)实现对SQL的解析,你需要实现一个语法分析器, 《编译原理》的基础知识就用上了;

(2)数据需要保存到硬盘上,你需要考虑存储引擎,涉及到《操作系统知识》需要对外提供接口,设计数据结构,《数据结构》的知识就会用上;

(3)需要实现索引,B+树是必须的,又是数据结构;

(4)需要做表的Join,事务的ACID,  又有各种算法;

(5)如果需要提供网络访问,还要涉及到socket等计算机网络的知识。

2、操作系统

程序员必备的核心基础知识之一肯定少不了操作系统。当然,这里说的操作系统不是让你写一个像Windows、Linux那样完整的操作系统,而是操作系统的内核,或者更简单一点,操作系统课程的大实验,就是能把一个小系统跑起来,能够把进程、线程、分页、调度这些概念能够真真切切地体现到代码中,有个直观的认识。

中国的知名大学,世界知名大学的操作系统课都有大实验,有一个现成的小系统让你去学习,分析。比如MIT有xv6,哈佛有OS/161,伯克利有Nachos,斯坦福有PrintOS, 清华有ucore等等。这些代码全是开源的,也都在1两万行上下,完全可以花点时间啃下来。

新房装修,二手房装修,大包装修,半包装修,天津装修公司-创之鸿装饰              
http://www.czhztjz.com/

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

121

主题

121

帖子

0

粉丝