‘壹’ 如何的才能更好的学习MIT6.824分布式系统课程
首先 Google 的入门三篇(GFS / Big Table / Map Rece) 是一定要读的,有个对分布式系统的基本认识,另外需要理解 lamport 老爷子的 logical clock 的思想,之后去读 Raft。
Raft 其实实现一个玩具还是比较容易的,真正难的是在原论文中没有提到的很多工程优化。但是按照原论文的几个 RPC 实现是没啥大问题的,就是有点慢另外吞吐上不去而已。
参考几个 go 的 raft 实现咯,比如 hashicorp 的那个(consul 这个可能测试少了点,也许有 bug),c++ 的 logcabin (diego 自己写的...不过性能呵呵)
几个工业级别的 raft 实现其实不太适合初学者,比如 coreos 的 etcd 和 pingcap 的 tikv(其实这两个 raft 实现本是同根生,都是源自 etcd 的 raft 实现,由 pingcap 和 coreos 两个团队互相维护和开发). 这两个实现做了大量的工程优化,有些地方和原论文有点不一样。不过这两个不管是测试还是生产环境中的检验,都是其他 raft 实现不可比的。
‘贰’ 从事分布式系统,计算,hadoop 等方面工作需要哪些基础
并行计算或称平行计算是相对于串行计算来说的。所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。 并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问题。 分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果。 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命;您可以寻找超过1000万位数字的梅森质数;您也可以寻找并发现对抗艾滋病病毒的更为有效的药物。这些项目都很庞大,需要惊人的计算量,仅仅由单个的电脑或是个人在一个能让人接受的时间内计算完成是决不可能的。 所谓分布式计算就是在两个或多个软件互相共享信息,这些软件既可以在同一台计算机上运行,也可以在通过网络连接起来的多台计算机上运行。分布式计算比起其它算法具有以下几个优点: 1、稀有资源可以共享。2、通过分布式计算可以在多台计算机上平衡计算负载。3、可以把程序放在最适合运行它的计算机上。其中,共享稀有资源和平衡负载是计算机分布式计算的核心思想之一。 云计算技术的出现是并行计算技术、软件技术、网络技术发展的必然结果。并行计算不是云计算。云计算萌芽于并行计算 云计算的萌芽应该从计算机的并行化开始,并行机的出现是人们不满足于CPU摩尔定率的增长速度,希望把多个计算机并联起来,从而获得更快的计算速度。这是一种很简单也很朴素的实现高速计算的方法,这种方法后来被证明是相当成功的。 3.并行计算、网格计算只用于用于特定的科学领域,专业的用户 并行计算、网格计算的提出主要是为了满足科学和技术领域的专业需要,其应用领域也基本限于科学领域。传统并行计算机的使用是一个相当专业的工作,需要使用者有较高的专业素质,多数是命令行的操作,这是很多专业人士的噩梦,更不用说普通的业余级用户了。 4.并行计算追求的高性能 在并行计算的时代,人们极力追求的是高速的计算、采用昂贵的服务器,各国不惜代价在计算速度上超越他国,因此,并行计算时代的高性能机群是一个“快速消费品”,世界TOP500高性能计算机地排名不断地在刷新,一台大型机群如果在3年左右不能得到有效的利用就远远的落后了,巨额投资无法收回。 5.云计算对于单节点的计算能力要求低 而云计算时代我们并不去追求使用昂贵的服务器,我们也不用去考虑TOP500的排名,云中心的计算力和存储力可随着需要逐步增加,云计算的基础架构支持这一动态增加的方式,高性能计算将在云计算时代成为“耐用消费品”。
‘叁’ websphere 分布式计算和架构是怎么实现的
介绍
分布式计算简单来说,是把一个大计算任务拆分成多个小计算任务分布到若干台机器上去计算,然后再进行结果汇总。 目的在于分析计算海量的数据,从雷达监测的海量历史信号中分析异常信号(外星文明),淘宝双十一实时计算各地区的消费习惯等。
海量计算最开始的方案是提高单机计算性能,如大型机,后来由于数据的爆发式增长、单机性能却跟不上,才有分布式计算这种妥协方案。 因为计算一旦拆分,问题会变得非常复杂,像一致性、数据完整、通信、容灾、任务调度等问题也都来了。
举个例子,产品要求从数据库中100G的用户购买数据,分析出各地域的消费习惯金额等。 如果没什么时间要求,程序员小明就写个对应的业务处理服务程序,部署到服务器上,让它慢慢跑就是了,小明预计10个小时能处理完。 后面产品嫌太慢,让小明想办法加快到3个小时。
平常开发中类似的需求也很多,总结出来就是,数据量大、单机计算慢。 如果上Hadoop、storm之类成本较高、而且有点大才小用。 当然让老板买更好的服务器配置也是一种办法。
利用分片算法
小明作为一个有追求有理想的程序员,决定用介于单机计算和成熟计算框架的过度解决方案,这样成本和需求都能满足了。 分布式计算的核心在于计算任务拆分,如果数据能以水平拆分的方式,分布到5台机器上,每台机器只计算自身的1/5数据,这样即能在3小时内完成产品需求了。
如上所述,小明需要把这些数据按照一定维度进行划分。 按需求来看以用户ID划分最好,由于用户之间没有状态上的关联,所以也不需要事务性及二次迭代计算。 小明用简单的hash取模对id进行划分。
f(memberid) % 5 = ServerN
这样程序可以分别部署到5台机器上,然后程序按照配置只取对应余数的用户id,计算出结果并入库。 这种方式多机之间毫无关联,不需要进行通信,可以避免很多问题。 机器上的程序本身也不具备分布式的特性,它和单机一样,只计算自身获取到的数据即可,所以如果某台机器上程序崩溃的话,处理方式和单机一样,比如记录下处理进度,下次从当前进度继续进行后续计算。
利用消息队列
使用分片方式相对比较简单,但有如下不足之处。
它不具有负载均衡的能力,如果某台机器配置稍好点,它可能最先计算完,然后空闲等待着。也有可能是某些用户行为数据比较少,导致计算比较快完成。
还有一个弊端就是每台机器上需要手动更改对应的配置, 这样的话多台机器上的程序不是完全一样的,这样可以用远程配置动态修改的办法来解决。
小明这种方式引入了个第三方,消息队列。 小明先用一个单独的程序把用户信息推送到消息队列里去,然后各台机器分别取消费这个队列。 于是就有了3个角色:
推送消息的,简称Master。
消息队列,这里以Rabbitmq为例。
各个处理程序,简称Worker或Slave都行。
虽然仅仅引入了个第三方,但它已经具备了分布式计算的很多特性。
计算任务分发。 Master把需要计算的用户数据,不断的推送消息队列。
程序一致性。 Worker订阅相同的消息队列即可,无需更改程序代码。
任意扩容。 由于程序完全一样,意味着如果想要加快速度,重复部署一份程序到新机器即可。 当然这是理论上的,实际当中会受限于消息队列、数据库存储等。
容灾性。 如果5台中某一台程序挂了也不影响,利用Rabbitmq的消息确认机制,机器崩溃时正在计算的那一条数据会在超时,在其他节点上进行消费处理。
Hadoop简介
Hadoop介绍已经相当多了,这里简述下比如:”Hadoop是一套海量数据计算存储的基础平台架构”,分析下这句话。
其中计算指的是MapRece,这是做分布式计算用的。
存储指的是HDFS,基于此上层的有HBase、Hive,用来做数据存储用的。
平台,指可以给多个用户使用,比如小明有一计算需求,他只需要按照对应的接口编写业务逻辑即可,然后把程序以包的形式发布到平台上,平台进行分配调度计算等。 而上面小明的分布式计算设计只能给自己使用,如果另外有小华要使用就需要重新写一份,然后单独部署,申请机器等。Hadoop最大的优势之一就在于提供了一套这样的完整解决方案。
下面找了介绍Hadoop的概览图,跟小明的设计做对比下:
图中“大数据计算任务” 对应小明的100G用户数据的计算任务。
”任务划分“ 对应Master和消息队列。
“子任务” 对应Worker的业务逻辑。
”结果合并“ 对应把每个worker的计算结果入库。
“计算结果” 对应入库的用户消费习惯数据。
PS:为了方便描述,把小明设计的分布式计算,叫做小和尚。
MapRece
由于MapRece计算输入和输出都是基于HDFS文件,所以大多数公司的做法是把mysql或sqlserver的数据导入到HDFS,计算完后再导出到常规的数据库中,这是MapRece不够灵活的地方之一。 MapRece优势在于提供了比较简单的分布式计算编程模型,使开发此类程序变得非常简单,像之前的MPI编程就相当复杂。
狭隘的来讲,MapRece是把计算任务给规范化了,它可以等同于小和尚中Worker的业务逻辑部分。 MapRece把业务逻辑给拆分成2个大部分,Map和Rece,可以先在Map部分把任务计算一半后,扔给Rece部分继续后面的计算。 当然在Map部分把计算任务全做完也是可以的。 关于Maprece实现细节部分不多解释,有兴趣的同学可以查相关资料或看下楼主之前的C#模拟实现的博客【探索C#之微型MapRece】。
如果把小明产品经理的需求放到Hadoop来做,其处理流程大致如下:
把100G数据导入到HDFS
按照Maprece的接口编写处理逻辑,分Map、Rece两部分。
把程序包提交到Maprece平台上,存储在HDFS里。
平台中有个叫Jobtracker进程的角色进行分发任务。 这个类似小和尚的Master负载调度管理。
如果有5台机器进行计算的话,就会提前运行5个叫TaskTracker的slave进程。 这类似小和尚worker的分离版,平台把程序和业务逻辑进行分离了, 简单来说就是在机器上运行个独立进程,它能动态加载、执行jar或dll的业务逻辑代码。
Jobtracker把任务分发到TaskTracker后,TaskTracker把开始动态加载jar包,创建个独立进程执行Map部分,然后把结果写入到HDFS上。
如果有Rece部分,TaskTracker会创建个独立进程把Map输出的HDFS文件,通过RPC方式远程拉取到本地,拉取成功后,Rece开始计算后续任务。
Rece再把结果写入到HDFS中
从HDFS中把结果导出。
这样一看好像是把简单的计算任务给复杂化了,其实如果只有几台计算任务的话,使用Maprece确实是杀鸡用牛刀了。 如果有TB、PB级别的数据、跑在成百上千台计算节点上,Maprece的优势才会体现出来。 其计算框架图架构如下:
离线计算
通常称Maprece及小和尚这种计算为离线计算,因为它对已经持久化的文件数据进行计算,不能实时响应。 还有个原因就是它的处理速度比较慢,它的输入和输出源都是基于HDFS设计,如果数据不是一开始就写入到HDFS上,就会涉及到数据导入导出,这部分相对耗费时间。 而且它的数据流动是基于文件系统的,Map部分输出的数据不是直接传送到Rece部分,而是先写入HDFS再进行传送。
处理速度慢也是Maprece的不足之处,促使了后面实时计算的诞生。
另外个缺点是Maprece的计算任务流比较单一,它只有Map、Rece两部分。 简单的可以只写一部分逻辑来解决,如果想拆分成多个部分,如逻辑A、逻辑B、逻辑C等, 而且一部分计算逻辑依赖上一次计算结果的话,MapRece处理起来就比较困难了。 像storm框架解决此类问题的方案,也称为流式计算,下一章继续补充。
‘肆’ 【分布式】概论
1. 云计算特点:虚拟化、超大规模、高可伸缩性、高可靠性、按需服务、成本低廉、运维简化、计费灵活、走向实用
2. 云计算提供服务:IaaS、PaaS、SaaS
3. 分布式系统分类
分布式计算系统:集群、网格、云
分布式信息系统:事务处理ACID、企业应用整合(通信中间件:RPC、RMI)
分布式普适系统:普适计算、移动计算、传感器网络
4. 分布式系统设计目标:
① 连接用户和资源:以一种安全、可靠的方式进行资源共享和用户协作
② 透明性
③ 开放性:提供服务的规约是完整的和中性的
④ 可伸缩性:
规模:集中式服务、集中式数据、集中式算法
地理:同步通信、WAN通信不可靠、集中式服务
管理:不同管理组织的资源使用,管理和安全的策略有冲突
5. 改善可伸缩性方法:
① 体系结构层面:发现分布的可能性,对数据克隆拆分,将数据、客户分布到不同地点
② 通信层面:异步通信、避免消息总线拥挤、减少通信
③ 容错层面:采用能隔离故障的涉及,避免级联模块,避免形成单点故障
④ 数据层面:复制和缓存;实现无状态
6. 分布式算法与集中式算法区别
① 无全局时钟,分布式算法以没有全局时钟为前提
② 没有任何一台机器具有系统完整的状态信息
③ 每台机器仅根据本地信息进行决策
④ 一台机器故障,不会使整个算法崩溃
‘伍’ 请教一下, 什么大学学软件开发比较好
以下全是我自己整理的~~~5555~~用了一下午~~与朋友你一起分享~~~
山东大学
计算机科学与技术学院 081201
计算机系统结构
01 -- 计算机网络与分布式系统 02 -- 多媒体计算机系统 03 -- 嵌入式网络与实时系统 04 -- 并行处理 硕士研究生 普通统招
计算机科学与技术学院 081202
计算机软件与理论
01 -- 人机交互与虚拟现实 02 -- 智能计算理论与技术 03 -- 软件与数据工程 04 -- 软件工程 硕士研究生 普通统招
计算机科学与技术学院 081203
计算机应用技术
01 -- 智能计算与协同技术 02 -- 信息安全理论与技术 03 -- 几何设计与信息可视化 04 -- 网络与分布式技术 硕士研究生 普通统招
软件学院 081280
软件工程
01 -- 软件工程 02 -- 电子商务 03 -- 数字媒体技术 04 -- 集成电路设计与工程 硕士研究生 普通统招
济南大学
081201计算机系统结构
01计算机网络与分布式系统
02嵌入式系统体系结构及其应用
8
①101 政治理论②201 英语③301 数学一④842计算机专业基础(含:数据结构80分、计算机组成原理70分)
《数据结构》严蔚敏等,清华大学出版社,C语言版,1997;《计算机组成原理》白中英主编 科学出版社,第三版 ,2000;《计算机体系结构》张晨曦等编,高等教育出版社,第一版,2000
复试:计算机体系结构+C语言程序设计
081202计算机软件与理论
01智能计算理论与应用
02图像处理与模式识别
03人机交互与虚拟现实
04生物信息学
7
①101政治理论②201英语③301数学一④842计算机专业基础(含:数据结构80分、计算机组成原理70分)
《数据结构》严蔚敏等,清华大学出版社,C语言版,1997;《计算机组成原理》白中英主编 科学出版社,第三版 ,2000
《离散数学》左孝凌等,上海科技文献出版社,第一版,1982;《计算机操作系统》汤子灜等编着, 西安电子科技大学出版社,修订版,2001
复试:离散数学+操作系统
081203▲计算机应用技术
01数据挖掘技术与数据库
02分布式信息处理技术
03计算机监测与智能控制
04计算机网络与信息安全
(本学院各专业对同等学力考生在复试时将从严掌握,并加试有关课程)
20
①101政治理论②201英语③301数学一④842计算机专业基础(含:数据结构80分、计算机组成原理70分)
《数据结构》严蔚敏等,清华大学出版社,C语言版,1997;《计算机组成原理》白中英主编 科学出版社,第三版 ,2000
《离散数学》左孝凌等,上海科技文献出版社,第一版,1982;《计算机操作系统》汤子灜等编着, 西安电子科技大学出版社,修订版,2001
复试: 离散数学+操作系统
山东科技大学
信息科学与工程学院 081201
计算机系统结构
01网格计算与分布式系统
02网络与多媒体系统
03计算机控制与嵌入式系统
硕士研究生 普通统招 null ①101政治②201英语③301数学一④803数据结构与操作系统或804微机原理与数字逻辑 复试:专业综合;同等学力加试:C语言程序设计、计算机系统结构。本专业不招收同等学力且跨专业的考生。
信息科学与工程学院 081202
计算机软件与理论
01分布式系统理论与算法
02数据库系统与数据挖掘
03软件工程
硕士研究生 普通统招 null ①101政治②201英语③301数学一④803数据结构与操作系统 复试:专业综合;同等学力加试:C语言程序设计、软件工程。本专业不招收同等学力且跨专业的考生。
信息科学与工程学院 081203
计算机应用技术
01CAD与图形图象处理
02网络工程与并行处理
03人工智能与信息处理
硕士研究生 普通统招 null ①101政治或111政治(单考)②201英语或211英语(单考)③301数学一或611数学(单考)④803数据结构与操作系统或804微机原理与数字逻辑 含(单考)的科目为单考生必考科目,统考生不能选考。复试:专业综合;同等学力加试:C语言程序设计、软件工程。本专业不招收同等学力且跨专业的考生。
南开大学
081104模式识别与智能系统 ①101政治②201英语③301数学一④813控制综合基础 和信息技术科学学院共用业务课2试卷。
_ 01智能机器人系统
_ 02语音信号处理
_ 03计算智能
081202计算机软件与理论 ①101政治②201英语③301数学一④812计算机综合基础 和信息技术科学学院共用业务课2试卷。
_ 01软件工程
_ 02智能信息处理
_ 03数据库技术
_ 04多媒体技术
081203计算机应用技术 ①101政治②201英语③301数学一④812计算机综合基础 和信息技术科学学院共用业务课2试卷。
_ 01计算机网络与信息系统
_ 02网络与信息安全
_ 03智能技术与系统
081280软件工程 ①101政治②201英语③301数学一④815C语言与数据结构
_ 01软件系统分析与设计
_ 02软件项目管理
_ 03软件测试技术
南京大学
计算机科学与工程学院 081202
计算机软件与理论
01 新型程序设计语言
02 软件开发方法与技术
03 软件形式化方法
04 软件分析测试与质量保证
05 软件工程与环境
06 语义Web
07 算法及理论
08 智能软件方法与技术
09 知识与信息获取技术
10 基于web系统及其分析测试技术
硕士研究生 普通统招 null ①101 政治理论②201 英语③301 数学一④935 计算机专业基础(数据结构,操作系统) 复试科目:553 计算机综合(计算机组成原理,C/C++程序设计)
北航
计算机学院 081603
地图制图学与地理信息工程
01 地图制图学与地理信息工程 硕士研究生 普通统招
软件学院 081280
软件工程
01 集成电路设计
02 日文应用软件开发
03 嵌入式软件
04 软件工程与管理
硕士研究生 普通统招
计算机学院 081200
计算机科学与技术
01 计算机系统结构
02 计算机软件与理论
03 计算机应用技术
硕士研究生 普通统招
南京航空航天大学
考试科目:(点击科目名称可以查看该科目的详细信息,包括考试大纲和参考书目录)
政治理论 --> 101政治理论
外国语 --> 201英语
业务课一 --> 301数学一
业务课二 --> 822数据结构与操作系统
专业课加试 --> 543计算机组成原理与编译原理 541离散数学与编译原理 (复试时在2门中任选一门作为该单元考试科目)
--------------------------------------------------------------------------------
§研究方向:
01软件工程
02计算机网络与分布式系统
03微小型计算机体系结构
04信息安全
05图形、图像及多媒体技术
06信息系统与集成技术
07数据库系统及其数据仓库
08系统软件
09机器学习与知识工程
10人工智能理论及其应用
11神经计算及模式识别
--------------------------------------------------------------------------------
§该专业招生说明:
报考研究方向01#-08的复试科目,#请选择543计算机#组成原理与编译#原理;报考研究#方向09-11的复试#科目,请选择541#离散数学与编译#原理。
东南大学
计算机科学与工程学院 081202
计算机软件与理论
01 新型程序设计语言
02 软件开发方法与技术
03 软件形式化方法
04 软件分析测试与质量保证
05 软件工程与环境
06 语义Web
07 算法及理论
08 智能软件方法与技术
09 知识与信息获取技术
10 基于web系统及其分析测试技术
硕士研究生 普通统招 null ①101 政治理论②201 英语③301 数学一④935 计算机专业基础(数据结构,操作系统) 复试科目:553 计算机综合(计算机组成原理,C/C++程序设计)
计算机科学与工程学院 081203
计算机应用技术
01 高性能网络体系结构及协议
02 分布对象计算
03 协议工程
04 网络安全和网络管理
05 网格计算
06 计算机协同工作
07 中间件技术
08 数据库管理系统
09 多数据库系统的集成
10 数据仓库与数据挖掘
11 移动数据库系统
12 Web数据资源处理
13 分布式人工智能与多Agent系统
14 电子商务
硕士研究生 普通统招 null ①101 政治理论②201 英语③301 数学一④935 计算机专业基础(数据结构,操作系统) 复试科目:553 计算机综合(计算机组成原理,C/C++程序设计)
东北大学
081201计算机系统结构
_ 01普适计算与并行处理
_ 02计算机网络
_ 03计算机容错技术
_ 04多媒体技术
_ 05网络与信息安全
①101政治②201英语③301数学一④841C语言与数据结构或842计算机组成与汇编语言
081202计算机软件与理论
_ 01分布式数据管理
_ 02自然语言处理
_ 03信息安全
_ 04嵌入式实时系统
_ 05数据仓库与数据挖掘
①101政治②201英语③301数学一④841C语言与数据结构或842计算机组成与汇编语言
省重点学科
081203计算机应用技术
_ 01分布式多媒体系统
_ 02宽带计算机网络与多媒体通信
_ 03计算机互联网络与Web技术
_ 04软件工程
_ 05服务计算的关键技术及系统
①101政治②201英语③301数学一④841C语言与数据结构或842计算机组成与汇编语言
国家重点学科
‘陆’ 《大规模分布式系统架构与设计实战豆瓣》pdf下载在线阅读全文,求百度网盘云资源
《大规模分布式系统架构与设计实战豆瓣》网络网盘pdf最新全集下载:
链接: https://pan..com/s/1kFdPR4e5S1K3PW43mc1RVw
‘柒’ 如何实现分布式计算
你那是在创建小型办公网络
我们不如把问题简单点
买一个陆游器,接上N个电脑 刷新好上网帐户密码就OK了
也可以重新定义一下 IP
就和网吧一样了
求采纳为满意回答。
‘捌’ 想学下分布式,有没有什么书籍推荐
有一些系统设计基础的话,给你推荐几本书吧:《面向模式的软件架构 卷4:分布式计算的模式语言》出版社:人民邮电出版社主要讲分布式计算系统软件的设计和实现。偏软件方向,相对较专业。《分布式计算(第二版)》出版社:电子工业出版社主要介绍分布式计算的数学基础和理论,揭示设计分布式系统的底层问题(通信、协调、同步及不确定)和基本的算法概念及下界技术。容易理解,适合自学。《分布式系统原理与范型》出版社:清华大学出版社全书的第一部分讨论了分布式系统的原理、概念和技术,其中包括通信、进程、命名、同步、一致性和复制、容错以及安全。第二部分给出了一些实际的分布式系统:基于对象的分布式系统、分布式文件系统、基于文档的分布式系统以及基于协作的分布式系统,介绍了一些实际系统的设计思想和实现技术。容易理解,适合自学。
‘玖’ 分布式系统范式是什么如何系统学习分布式计算
复旦大学计算机专业全国排第6左右,所以要靠它的研究生是有难度的 计算机专业方向及其代码 081201计算机系统结构 01计算机网络与分布式系统 02嵌入式系统及应用 03分布式系统的监测与性能分析 04并行处理 081202计算机软件与理论 01数据库与知识库 02软件工程 03Web数据处理 04计算机支持的协同工作 05计算机生物信息处理 06数据挖掘与数据仓库 07电子商务 08网络协议与分布式软件 09密码与信息安全 10算法与程序理论 11人工智能与认知科学 12信息安全与信息编码 13量子信息与计算 14服务计算 081203计算机应用技术 01大规模中文文本处理 02多媒体信息处理与检索 03计算机图形图像处理 04网络与信息工程 05计算机控制与智能系统 06模式识别与人工智能 07信息安全、网络安全 08宽带网络应用技术 初试科目: ①101政治理论②201英语③301数学一④879数据结构与操作系统 复试的笔试要考很多科目. 1. 离散数学 2. 计算机原理 3. 概率论与数理统计 4. 软件工程 5. 计算机体系结构 6. 数据库引论 7. 编译 8. 数据通信与计算机网络 9. 算法设计与分析 10. 计算机图形学 08年起,初试计算机专业课实行全国统考。 复试这10门都要考的, 08年复旦计算机复试笔试回忆题 面试很怪异今年,牛人什么时候都不怕。普通平民还是以专业知识为出发点吧,下面给出8门课的复习思路。 1.离散。离散我的复习思路是代数系统,正规子群的证明,图论,欧拉和哈密顿图,范式 ,推导。这都是大概的章节名称,要求掌握的,结果考了正规子群,命中。 2.原理。寻址,数的计算,补码,反码,移码,原码,还有就是浮点数的乘法。在这些课 的复习中肯定会有加速比的概念,看一遍就非常明白了。我没学过原理,就复习了这些, 这是在赌博,结果算是命中了。 3.概率。不解释,考研怎么复习这个就怎么复习。 4.软工。大方向着手,譬如瀑布模型,重点在测试,白盒,黑盒,还有耦合和内聚,今年 考耦合,明年考内聚。Yes!命中。 5.体系结构。我只看了cpi的计算方法,还有mips的计算方法,流水线的东西,以及流水线 的三个相关。别的东西都是操作系统上的,考好了初试这个就没问题。命中一半。不算命 中。 6.数据库。Sql语言,关系演算,模式内模式外模式,2个映像,2个独立性,还有就是无损 连接,这个最好网络一下,网上有关于怎么证明是无损连接的。命中一半。 7.网络。香农奈奎斯特公式,还有就是数通方面的计算利用率的,不只是停等,滑动窗口 的利用率也要会算,7层协议,TCP IP了解,掌握IP地址的概念,还有就是局域网的组建, 这个都是本科学过的东西,很多专业都学过,相信大家都不会陌生,总之,命中。 8.算法。NP方面的各种问题。我就看这么多。动态规划一点没看,因此未命中。 总结下来大概就50分命中的,对于我这个10门科有7门没有学过的人来说,相当相当牛了