计算机理论基础

2023-10-18 11:33:43 浏览数 (1)

1.什么是计算机?为何要有计算机?

  计算机就是人类的奴隶,取代人去干活,提高效率

2、什么是编程语言?什么是程序?什么是编程?为何要编程?

  编程:让计算机用人的逻辑去思考,用编程语言翻译下来

  编程语言:计算机能听懂的语言

  程序:就是一堆代码文件

  为何编程:让计算机取代人去工作

3.程序是计算机的灵魂,程序分为哪几类?

  1.操作系统:就是一个协调、管理、控制计算机硬件资源与应用软件资源的一个控制程序

  2.应用软件:为了某种特定的用途而被开发的软件。

4.计算机体系结构图

5.程序开发流程图

 1.需求分析阶段:

    PM产品经理调研市场,分析需求,画出原型草图,召集相关技术人员开需求分析会,明确需求。

  2.项目开发阶段

    2.1项目设计

      大家分头行动,UE与PM经常沟通,出交互原型图,UI根据原型图画出设计图,FE拿到设计图,理解需求设计前端,RD后端技术设计,QA设计测试用例,运维人员要设计好架构设计。

  2.2项目开发

    前后端确定开发项目整体结构,前端、程序、数据库之间的对接方式,定制开发规范、代码规范、源码管理、版本管理,然后分头开发。

  2.3项目测试     开发人员进行code review,过一遍代码,审查一下,开发人员自测,改bug,QA专业测试,开发人员改bug

  2.4项目上线     运维人员编写上线方案,测试

  2.5环境     测试、staging、线上1:1

    PS:

      PM====》产品经理

      UE====》交互式设计师

      UI=====》视觉设计师

      FE====》前端设计

      RD====》后端设计

      QA====》测试人员

      OP====》运维人员

什么是上线?通常在什么时间上线?上线失败的话怎么办?你们公司大概多久上线一次?

  1.实现产品价值,为用户提供服务。

  2.产品测试没有发现bug,即可上线。

  3.上线失败解决方案:小bug找开发人员修改,重大bug问题需要回滚到上一个版本。

  4.一到两周一个一个小版本,一个月一次大版本,期间不定个数bug修改版本

6运维的三大职责

  1.优化网站,提升用户体验

  2.做好数据备份,保证数据安全

  3、保证服务器7X24小时不间断运行,不宕机,做好监控

7.1u服务器代表什么?

  按照服务器的尺寸分类,1U=4.45cm

8简述机架式服务器、刀片式服务器、塔式服务器、云主机、小型机

机架式:

外型类似抽屉,安装在标准机柜中,多为功能性服务器

刀片:

独立的卡式服务器单元,每个刀片就是一个系统,单片性能较低,成本高,适合用于集群服务器,热插拔维护时间小;(一种高可用、高密度服务器架构,是专门为特殊应用行业和高密度计算环境设计的,其中每一块刀片实际上就是一块系统母板,类似于一个独立的服务器。在这种模式下,每一个母板运行自己的系统,服务于指定的不同用户群,相互之间没有关联。不过可以使用系统软件将这些母板集合成一个服务器集群。)

塔式:

塔式服务器无需专用的机柜,噪音较小,适用于办公室等环境,像台式机一样,占用空间比较大。

小型机:

采用精简指令集CPU,高端定制,专用操作系统,高可靠、高可用、高服务性,价格昂贵,已经被淘汰;

云主机:

把底层硬件资源和网络资源虚拟化后,对外提供计算资源服务;

什么是buffer与cache,它们各自的作用是什么?

    buffer:缓冲区,攒一大波数据,再刷入硬盘     cache:缓存,把硬盘的数据在内存中缓存好,cpu取的时候可以直接从内存取

什么是内核态与用户态?

    内核态——>操作系统正在控制硬件     用户态-->应用程序正在运行

9、简述你使用过的服务器品牌、尺寸、型号、配置信息

戴尔:R720   2U 双路   16个SAS硬盘   32G  64 G

   1个CPU   4个核心   16G

DELL 2U R720

16核心32线程 主频2.0 E5-2650 *2个、

32G内存、

600GSAS硬盘*4块 

DELL H710阵列卡

带512缓存 电池、单750W电源

10.什么是去IOE运动?

  I---IBM服务器提供商

  O---Oracle数据库软件

  EMC--储存设备提供商

  用PC服务器代替IBM服务器,MYSQL代替Oracle,消除这三家企业对商用数据库市场的垄断,降低企业费用成本

11简述计算机五大组成部分及作用

控制器:是计算机的指挥系统,负责控制所有其他硬件的运行-------------》大脑 运算器:负责数学运算与逻辑运算---------------------------------》大脑 控制器 运算器=》cpu中央处理器

存储器:存取数据 内存:比如内存条----------------------------------------》大脑的记忆功能 基于电存取数据,断电数据全部丢失 用于临时保存数据,存取速度都快 外存:比如磁盘------------------------------------------》本子 基于磁存取数据,断电数据仍然存在 用于永久保存数据,存取速度都慢 输入设备 键盘、鼠标 输出设备 显示器、打印机

12什么是复杂指令集?什么是精简指令集?

   复杂指令集:用简单的指令去做复杂的事情

  精简指令集:用复杂的指令去做简单的事情

13 X86-64代表的意思是什么?

   X86:是一种架构的统称

   64:一次性能从内从中读取64位二进制指令

复杂指令集-64位架构(代码CPU每次读取64位二进制指令)

14 4核8线程代表物理几核?逻辑几核心?

   物理4核心,逻辑上8核心

15.什么是RAM?什么是ROM?

  RAM:随机存取储存器,又称主存(内存)

  ROM:只读储存器。

16机械磁盘的IO延迟时间=xxx时间 xxx时间?一个7200转的硬盘带来的IO延迟大概是多少ms?

  平均寻道时间 平均延迟时间=机械磁盘IO延迟时间:9ms

17什么是swap分区?它的作用是什么?

  虚拟内存,当物理内存不够用时,系统会把比较老的数据临时放到swap中,可以腾出一部分空间给应用程序使用

18.简述操作系统启动流程

  1.计算机加电

  2,启动BIOS系统,扫描启动设备,从启动设备中找到操作系统

  3读取启动设备中第一个扇区的大小。

     446 bootloader==》grub程序

     64 分区信息

     2结束标志位

  4 grub程序负责将操作系统内核装载入内存,启动操作系统

  5操作系统会让BIOS检测驱动程序

19.简述防止服务器的解决方案

  选双电源机房,配备ups设备,让电源接到ups设备上

  配备小型柴油发电机

20简述硬盘类型与硬盘接口的组合以及应用场景?什么是冷数据?什么是热数据?

   SSD SAS===》土豪,性能最好,价格昂贵

  SSD SATA===》对读写速度有要求,常规

  机械硬盘 SAS=》对读写速度要求常规,比较核心业务使用

  机械硬盘 SATA=》个人PC,公司内部服务使用

  热数据:用户经常访问的数据

  冷数据:用户不经常访问的数据

21.什么是硬raid?什么是软raid?那种效率高?

  硬raid:通过硬件来实现磁盘阵列

  软raid:通过软件来实现磁盘的阵列

  硬raid效率高

22简述raid0、raid1、raid5、raid10的特点及应用场景?

 raid0

    至少1块盘

    容量:n块盘何在一起的总容量

    性能:理论上是N块盘合在在一起的读写速度,实际上是要略低一些

    冗余性:不允许坏任何一块盘

    场合:追求读写性能,但是对数据安全性没有啥要求,列如集群服务器

    特点:追求速度,不考虑数据安全

  raid1

    至少2块盘

    容量:1快盘的容量

    性能:几乎就是一块盘的读写速度

    冗余性:可以坏一块盘,另外一块盘有完整的数据

    场合:对数据安全有要求,对速度读写速度没有特殊要求,列如服务器的系统盘

    特点:追求数据安全,不考虑速度

  raid5(介于raid0和raid1之间,是一种折中的方案)

    至少3块盘,两两之间做校验===》异或运算,相同结果为0,不同结果为1

    容量:废掉一块盘的容量,等量盘的情况下,容量低于raid0

    性能:读写速度低于raid0,高于raid1

    冗余性:可以坏一块盘,其余两块盘可以通过奇偶校验推导出坏盘的数据

    场合:一般的场合都可以用

  raid10

    至少4块盘

    raid1和raid0之间整合的产物,兼顾了raid1和raid0的性能,但是成本大幅度提升

    通常用于数据库服务器

23什么是IDRAC

  集成戴尔远程控制卡

24.什么是操作系统

  控制计算机软件资源和计算机硬件的应用程序

25什么是多用户多任务操作系统,什么是单用户多任务操作系统?

  多用户多任务:多个用户连接到同一终端执行多个任务

  单用户多任务:只有一个用户但是可以执行多个任务

26、什么是多道技术

  时间上的复用:多道程序在运行前必须加载到内存中

  空间上的复用:CPU在多个程序之间来回切换

简述批处理系统与分时操作系统以及什么叫多用户多任务

  1.批处理操作系统=》单用户单任务:一次把一个或者一道程序读入内存中,运行完毕后,在执行下一条程序,没有并发, 

  优点:充分利用了计算机资源

  缺点:1.整个过程是需要人参与的

     2.让程序员明显感觉到等待

     3.程序的运行是串行

  #串行:多个任务一个任务运行完毕后在运行下一个

  2.分时操作系统=>多用户多任务:应用多道技术来实现多个任务的并发的运行

    多道技术应用:操作系统

     1.空间上的复用:多道程序在运行前必须加载到内存中

     2.时间上的复用:多个任务复用CPU的时间片,通俗的讲就是CPU在程序之间来回切换

      多道技术任务之间的切换:

        I:当一个任务遇到IO是,肯定要切换=》提升效率

        II:当一个任务没有遇到IO时,但是它长时间占用CPU,有也要切换=》降低效率

  PS:

    多个进程在运行时内存空间是相互隔离的,而且是物理隔离。

    并发:多个任务看起来是同时运行的

    并行:真正意义上的同时运行,只有CPU才能实现并行

         6个核心只能并行6个任务,但是可以并发n个任务

  3.多用户多任务:多个连接终端连接操作系统,一个机器上可以运行多个任务。

27、什么是进程?什么是线程?

  进程:操作系统控制硬件来运行的过程

  线程:程序内代码运行过程

  进程:程序读取到内存中运行的状态就进程,进程是资源单位;

  线程:进程下会起多个线程执行程序,线程是执行单位

28、简述并发、并行、串行

  并发:看起来是多个任务在同时运行

  并发:真正意义上的多个任务在同时进行

  串行:当多个任务一个任务执行完在执行下一条

29一个任务运行的三种状态是什么?以及三种状态会在什么情况下会彼此转换?

运行态,就绪态,阻塞态

  就绪态抢到CPU资源时转换为运行态

  阻塞态在读写完IO后转换为就绪态

  运行态在进行IO操作时进入阻塞态

  运行态在失去CPU资源时进入就绪态

30什么是GNU?什么是GPL?

  gnu:开源计划=》创建一套完全自由的操作系统。

   gpl:开源协议=》保证自由软件对所有用户是自由的。

GNU计划:

由理查德.斯托曼发起的自由软件运动,目的是创建一套完整自由的操作系统GNU;

GPL协议:

任何个人或公司可释放出自由软件

任何释放出自由软件的个人或公司,均可由自己的服务来收取适当的费用

该软件的原始代码需要随软件附上,并且是可公开发表的

任何人可透过任何正常渠道获取得此自由软件,且均可取得此授权模式

31 网络的构成与作用是什么?

网络物理连接介质 网络通信协议

 数据之间的通信和传输

作用:实现计算机资源共享,互相通信

32 、OSI七层每一层的作用以及数据的名字

应用层    规定应用程序的数据格式 消息message

表示层      数据处理和加密

会话层      建立连接

传输层    建立端口到端口的通信       数据段fragment

网络层    使用网络地址来区分不同的域/子网  数据包packet

数据链路层   定义了电信号的分组方式     数据帧frame

物理层      基于电器特性发送电信号      数据位bit

33、结合ARP协议原理详细描述两台同一LAN的计算机以及不同LAN的计算机的通信流程

首先通过ip地址和子网掩码分析源IP与目标IP是否处于同一网络

同LAN:

这个包会以广播的方式在LAN内发送,所有主机接收后拆包,发现目标ip为自己的,就响应,返回自己的mac,收到对方mac后即可建立连接进行通信

不同LAN:

这个包会附上目标IP,发送给交换机,再向外逐层发送,找到对方所在LAN,再由对方交换机广播发送,对方主机收到后,返回对方mac,收到后即可建立连接进行通信

34、什么是socket

socket是在应用层和传输层之间的一个抽象层,把TCO/IP层的操作简化为几个接口供应用层调用;

35、述dhcp的工作流程

广播发送请求包,DHCP服务器收到后,分配好IP并发送“DHCP响应”数据包,计算机收到这个响应包,就知道了自己的IP地址、子网掩码、网关地址、DNS服务器等等参数

36、什么是dns, 它的作用是什么?

域名解析,把域名解析成IP

37、简述dns的两种查询方式及过程

递归:每次查询由现域名服务器向下一级域名服务器查询,最后逐级返回结果

迭代:每次查询获得下一级服务器IP,再由本地服务器向下一个域名服务器查询

38、结合dns的查询描述浏览器上网的完整通信流程

解析域名的IP地址,本地缓存或域名服务器查询

发起连接请求,TCP三次握手

发送HTTP请求信息

接受服务器返回的数据并渲染到页面

断开TCP连接,四次挥手

39、我们用浏览器上网需要用到dns解析, dns解析的优先级是什么? 如何清理谷歌浏览器缓存? 如何清理windows系统缓存?

1、浏览器DNS缓存->本地系统DNS缓存->本地计算机HOSTS文件->ISP DNS缓存->递归or迭代搜索

2、登录chrome://net-internals/,选择DNS,点击 clear host cache

3、cmd=》ipconfig /flushdns 

0 人点赞