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