计算机专业的那六大件:组成原理,操作系统,数据库,编译原理,计算机网络,数据结构, 其次还得加上分布式的基础知识, 因为现在的系统都变成分布式的了。如果你是做应用层开发的,那几门课程中的有些内容和日常工作关联度不大,我挑那些最重要的来说一说,也算是一个最小集合吧!

1,计算机组成原理

如果你不是做操作系统/驱动程序的,直接和硬件打交道的机会很少,因为操作系统已经把他们屏蔽掉了,提供了抽象的API给我们使用。

但是还必须理解冯诺依曼体系的结构,CPU和内存,硬盘,各种外设之间的关系,寄存器、缓存等知识。CPU有哪些指令,如何执行这些指令,如果实现数组,结构体,函数调用,这就涉及到汇编的知识。像原码,反码,补码,定点数、浮点数的表示和运算也是编程中必备的知识,几乎每种语言都要涉及。

现在很多语言都是在虚拟机上运行的,你只要是了解了计算机的组成原理,再去看哪些虚拟机,就会发现概念都是相通的。另外CPU中的缓存,缓存一致性协议,DMA的异步思想都会在应用层中有所体现。《编码》是一个更加科普性,但是也更加有趣的讲组成原理的书。

2,操作系统

操作系统是比较枯燥的, 站在应用层的角度,我认为重点是掌握操作系统对外提供的抽象,包括进程、线程,文件,虚拟内存,以及进程间的通信问题。几乎所有的编程语言都会涉及到对多进程或者多线程编程的支持, 特别是多线程的并发编程,所以必须得搞明白他们的本质是什么,线程都有哪些实现方式。得真正地体会到“进程是资源分配的最小单位,线程是调度的最小单位。” 这句话的含义。

几乎所有的编程语言都会涉及到锁和死锁,最好在最底层理解锁是怎么实现的。需要理解虚拟内存和物理内存直接的关系,分段和分页,文件系统的基本原理。对于进程的调度,页面分配/置换算法,磁盘的调度算法,I/O系统,我认为优先级比较低。

3,计算机网络

必须要理解的是这些:什么分组交换。

TCP可靠性传输原理,TCP/IP的协议细节, 三次握手,四次挥手,TCP状态转换。

几个重要的协议DHCP,UDP, ARP, DNS。

能够说出一个客户端如何在接入网络以后,通过这些协议,跨域网络和服务器通信的。

和应用层结合非常紧密的Socket知识和网络安全(对称加密,非对称加密,Hash, 数字签名,以及集大成者Https)

至于网络层的路由选择算法,链路层的各种协议,我认为优先级比较低。

以上这些知识,在你学习Redis ,Ngnix, Tomcat, LVS等软件时将有极大的帮助。

4,数据库

这个和日常工作结合极其紧密,不用我再多说,包括最基本的SQL,各种范式,事务及其隔离级别,事务的实现方式,索引及其实现方式,B+树等等。

5,编译原理

你一辈子也许都不会去写一个编译器,但是很有可能会利用现成的工具去生成/操作一个抽象语法树(AST),甚至可以会写一个DSL(领域特定语言)。所以你得理解词法分析、语法分析、语义分析,中间代码生成,代码优化这个基本编译的过程。

6,分布式的理论知识

由于现在的系统慢慢地变成了分布式, 所以又扩展出了很多相关基础知识需要学习:

6.1,数据复制与一致性:

CAP理论, BASE原则,幂等性, 2PC, TCC,Paxos , Raft , Gossip

6.2,数据分片和路由:

Hash分片:Hash取模(实际中非常常见的算法), 虚拟桶(Redis使用),一致性Hash(memcached使用)

7,最后想说的是,不能带着特别功利的目的去学习这些基础,不能想着立刻、马上就应用到实战中,从中获益。更重要的理解掌握它们背后的思想!

计算机基础知识大全100,计算机基础知识汇总相关推荐

  1. 大学计算机技术知识大全,大学计算机全章节重点基础知识归纳大全.doc

    大学计算机全章节重点基础知识归纳大全 PAGE \* MERGEFORMAT 18 大学计算机基础重点归纳 第一章:计算机概论 19646年,第一台计算机,ENIAC 计算机分类(6):巨型,小巨型, ...

  2. 计算机通信技术知识大全网络,计算机通信技术

    <计算机通信技术>是2008年北京邮电大学出版社出版的图书,作者是冯友谊.本书主要介绍了现代计算机通信技术的基本原理和实现技术,适用信息工程学生使用.[1] 书    名 计算机通信技术 ...

  3. python爬虫知识大全_(硬知识)Python爬虫知识点梳理,认真看好好学

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理 以下文章来源于腾讯云 作者:企鹅号小编 ( 想要学习Python?Python学习 ...

  4. 计算机基础表格函数基础知识大全,大一计算机题库和答案:大一计算机基础excel表格操作题求解if函数部分...

    大一计算机基础excel表格操作题求解if函数部分 引号呢?字符串必须要用引号引起来,不然就是变量,就非法了.要类似这样: =IF(C3="电子",11000) 大学计算机基础期末 ...

  5. 计算机专业考研知识大全,2019计算机专业考研备考知识点

    进入备考冲刺期,知识点的回顾与强化是这一阶段必须要做的事情,为了帮助大家更好的进行计算机专业考研备考知识点的积累,新东方在线为大家准备了计算机专业考研备考知识点的相关内容. 一.队列和栈结构的概念理解 ...

  6. 老计算机知识大全,电脑小技巧知识大全

    经常用到的电脑技巧有哪些?怎么学习电脑知识呢?而对于电脑初学者来说,恨不得一天学会电脑所有的操作技巧,那是不可能的事情,只有一步一步的来,下面就让小编带你去看看那些经常用到的电脑技巧吧,希望能帮助到大 ...

  7. UI设计入门知识大全!零基础小白必看

    很多零基础入门UI设计的朋友们,可能对于学习UI有很多疑问,今天我就来简单回复一些大家常问的问题吧~ 1.UI设计是什么? UI即User Interface(用户界面),简称UI,是指对软件的人机交 ...

  8. python基础知识点大全-【python基础学习】基础重点难点知识汇总

    python中decorator装饰器 语法示例: @decorator 什么是装饰器: 问题: 定义一个函数后 在运行时动态增加功能 又不想改动函数本身的代码 示例: # 希望对下列函数调用增加lo ...

  9. python基础代码大全-python零基础入门命令方式汇总大全,快速恶补你的Python基础...

    原标题:python零基础入门命令方式汇总大全,快速恶补你的Python基础 无意中浏览到这篇来自大牛的分享,总结的很全面,我重新排版下放在这里,希望能帮助到大家.在此十分感谢原作者! 在开始之前还是 ...

  10. 计算机英语词汇大全pdf,计算机英语(编程词汇大全).pdf

    计算机英语(编程词汇大全).pdf (44页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 计算机英语(编程词汇大全) applicati ...

最新文章

  1. 【MySQL】MySQL的事务
  2. 节能信标组:让我们一起来内卷
  3. 2014 Super Training #10 D 花生的序列 --DP
  4. php cgi远程控制,php-cgi如何使用(php cli模式执行php文件)
  5. python之时间日期time
  6. 多线程 循环 锁_大多数人还不清楚的iOS多线程
  7. 全国计算机准考证打印2015年,甘肃2015下半年全国计算机等级考试准考证打印时间...
  8. 某大厂外包员工在工作群抢新年红包,却被要求退回...
  9. R读取MySQL数据出现乱码,解决该问题的方法总结
  10. 自定义action消息
  11. C# 根据地址调用 Google Map 服务得到经纬度
  12. C++11 chrono库
  13. 遥控器鼠标模式切换 android 4.4
  14. 统计学——单因素方差分析
  15. 数据分析师工作内容 数据分析的六个步骤
  16. 163邮箱提示: 535 Error: authentication failed
  17. 为什么公交Wi-Fi还不如地铁上普及?
  18. Java将一个堆栈进行反转,如何使用Java中的堆栈反转数组的元素?
  19. Windows7 Embedded Standard x64更新代码80072EFE解决方法
  20. 计算机上自带的打字游戏,在学校上电脑课打字游戏的日子

热门文章

  1. web打包app(h5+app)版本自动更新的实现
  2. 计算机coreldraw课程PPT,[计算机]CorelDRAW_12基础教程.ppt
  3. 【PLSQL】PLSQL安装、破解以及汉化教程
  4. 《黑马程序员 MySQL数据库入门到精通,从MySQL安装到MySQL高级、MySQL优化全囊括》——学习笔记基础篇
  5. 黑马程序员最新Python教程——第一阶段(3)第二阶段(1)
  6. win10任务栏透明_几款软件让你的 Win10 与众不同(简洁篇)
  7. 电机驱动芯片——DRV8833、TB6612、A4950、L298N的详解与比较
  8. Aruba7010 默认密码_收藏 | 各大品牌的变频器默认密码、万能密码、超级密码汇总...
  9. 风哥Oracle数据库视频培训教程大合集(网盘下载.共18套)
  10. 泰文Unicode编码表及排版规则