第一阶段面试题

目录

进程和线程的区别

软硬链接的区别

①Inode号

②删除内容变化

③对目录是否生效

④占用内存

RAID常见类型与使用

RAID0

RAID1

RAID5

RAID6

RAID10

TCP三次握手与四次挥手

三次握手

四次挥手

DNS解析过程

Apache

centos6和centos7有什么区别?

apache与nginx的区别

内存 

功能

漏洞

配置文件

虚拟机和虚拟主机的区别

虚拟机

虚拟主机

网络

http协议的特点

OSI七层模型有哪七层?

传输层,网络层,数据链路层分别有什么作用?

应用层有哪些协议?网络层有哪些协议?传输层有协议以及区别?

哪些网络设备属于网络层,有什么作用?

哪些网络设备属于数据链路层,有什么作用?

写过的脚本?

书写脚本使用的相关知识?

备份和冗灾的区别?什么叫异地备份,什么叫异地冗灾?

关于Linux系统优化以及Linux的安全加固?

系统优化

硬件系统优化:

内核参数优化:

网络性能优化:

进程管理和调度优化:

优化多线程/多进程设计,减少不必要的上下人切换安全加固


进程和线程的区别

进程是资源分配的最小单位,拥有独立的资源,线程是CPU调度的基本单位,共享所属进程的资源,创建进程需要的资源较多,创建线程所需资源较少,一个进程崩溃不会导致系统其他进程,线程崩溃时,可能会导致整个系统崩溃

软硬链接的区别

①Inode号

使用硬链接,链接的文件Inode号一样

使用软连接,链接的文件Inode号不一样

②删除内容变化

使用硬链接,删除源文件,对链接文件没有影响

使用软链接,删除源文件,链接文件失效

③对目录是否生效

使用硬链接不可以对目录进行链接

使用软链接可以对目录进行链接

删除软链接文件的目录时,源文件目录下的内容也会被删除

删除链接目录时,目录后面不加"/"

④占用内存

使用硬链接占用内存大

使用软链接占用内存小

RAID常见类型与使用

RAID0

工作原理:RAID 0使用数据条带化(striping)的方式将数据分散存储在多个磁盘驱动器上,而不进行冗余备份。数据被分成固定大小的块,并依次存储在每个磁盘上。例如,如果有两个驱动器(驱动器A和驱动器B),一块数据的第一个部分存储在驱动器A上,第二个部分存储在驱动器B上,以此类推。

性能:由于可以同时从多个驱动器读取或写入数据,RAID 0提供了较高的读写性能。

磁盘数量:至少两个磁盘

冗余:RAID 0不提供数据冗余,因此如果任何一个驱动器发生故障,所有数据都可能丢失。

RAID1

工作原理:RAID 1使用数据镜像(mirroring)的方式将数据完全复制到两个或多个磁盘驱动器上。当写入数据时,数据同时写入所有驱动器,每个驱动器都具有相同的数据副本。

性能:读取性能有所提升,因为可以并行读取数据;但写入性能可能略低,因为数据需要同时写入多个驱动器。

磁盘数量:至少两个磁盘

冗余:提供数据冗余备份,如果其中一个驱动器发生故障,系统可以继续从剩余的驱动器中读取数据。

RAID5

工作原理:RAID 5使用数据条带化的方式将数据分散存储在多个磁盘驱动器上,并通过分布式奇偶校验实现数据的冗余备份。数据和奇偶校验信息被组织成数据块,其中奇偶校验信息被分布式存储在不同的驱动器上。

性能:通过数据条带化和并行读写操作,RAID 5可以提供较高的数据传输速度和系统性能。同时,由于有奇偶校验信息,可以提供数据冗余。

磁盘数量:至少三个磁盘

冗余:如果其中一个驱动器发生故障,系统可以通过重新计算奇偶校验信息来恢复丢失的数据。

RAID6

工作原理:RAID 6类似于RAID 5,但提供了更高级别的容错能力。它使用两种类型的奇偶校验信息(通常是水平和垂直奇偶校验)来允许在阵列中同时出现两个驱动器故障而不丢失数据。

性能:读写性能与RAID 5相似,但提供了更高的容错能力。

磁盘数量:至少四个磁盘

冗余:允许两个驱动器同时发生故障而不丢失数据。

RAID10

工作原理:RAID 10是先组成RAID 1,然后组成RAID 0。它至少需要4块硬盘,具体做法是把两个RAID 1组成RAID 0。这种模式既有RAID 1的冗余(提供镜像存储),又有RAID 0的性能读写(数据条带形分布)。

性能:提供了高性能的读写能力,因为数据可以在多个RAID 1镜像组之间并行读写。

磁盘数量:至少四个磁盘,通常是偶数

冗余:由于有RAID 1的镜像存储,RAID 10提供了数据冗余备份。如果其中一个RAID 1镜像组中的驱动器发生故障,数据仍然可以从另一个镜像组中恢复。

TCP三次握手与四次挥手

三次握手

四次挥手

DNS解析过程

Apache

centos6和centos7有什么区别?

centos6自带防火墙为iptables,centos7自带防火墙为firewalld

centos6使用init技术作为系统初始化机制,开机过程依赖于shell脚本,启动速度相对较慢,centos7引入了systemd技术作为新的系统初始化机制,采用并行方式启动进程,显著提高了启动速度,兼容init命令降低迁移成本

centos6的文件系统为ext4,centos7的文件系统为xfs

centos6服务通过/etc/inti.d/脚本进行管理,centos7通过systemctl命令管理系统服务,启动速度更快,支持快照和日志分析

apache与nginx的区别

内存 

apache占用的存储比较大,属于重量级软件,nginx占用内存小,属于轻量级软件

功能

nginx支持反向代理,负载均衡等功能,apache没有

漏洞

apache漏洞少,nginx的bug比较多

配置文件

apache配置文件更为复杂,nginx的配置文件容易得多

虚拟机和虚拟主机的区别

虚拟机

虚拟机是通过软件模拟的具有完整硬件系统功能的,运行在一个完全隔离环境中的完整计算机系统,虚拟机本质是一种系统软件,模拟了完整的硬件环境,可以在其中安装和运行操作系统以及应用软件

虚拟主机

虚拟主机是从服务器上划分出来得到‘虚拟空间’,可以放置网站,存储服务等,虚拟主机是一种服务器空间,他利用虚拟主机技术将一台物理服务器划分为多个虚拟服务器,每个虚拟服务器都具有独立的域名和ip地址,具有完整的internet服务器功能

网络

http协议的特点

支持客户/服务器模式

简单快速:客户请求时,只需要传送请求和路径,通信速度快

灵活:可以支持很多类型的数据对象

无连接:限制每次连接只处理一个请求。服务器处理完请求,并收到客服应答后,断开连接。可以节省传输时间

无记忆功能,下载终止之后在下载,会重新进行下载。浏览器上可以继续下载是因为TCP连接的特性

OSI七层模型有哪七层?

物理层,数据链路层,网络层,传输层,会话层,表示层,应用层

传输层,网络层,数据链路层分别有什么作用?

传输层:建立端到端的连接,保证数据的传输

网络层:寻找最佳路径,传输数据包

数据链路层:建立局域网,传输数据帧

应用层有哪些协议?网络层有哪些协议?传输层有协议以及区别?

应用层协议:http https smtp snmp dns

网络层协议: ip

传输层协议: tcp udp

哪些网络设备属于网络层,有什么作用?

路由器:寻找网络中的最短路径并进行数据包的传递

哪些网络设备属于数据链路层,有什么作用?

交换机,网桥

交换机用户局域网的创建

写过的脚本?

系统初始化脚本: 换源 关闭防火墙 关闭Selinux 安装常用软件vim,wget,net-tools...

软件安装脚本: 通过调用yum install 命令 结合read 读取用户输入的软件名,进行软件的安装

数据备份脚本: 通过使用xtrabackup对MySQL数据进行备份

日志定时清除脚本: 通过find命令,查找日期大于7天的日志,并使用-exec对查找到的文件进行删除,结合cron进行循环执行

监控脚本:通过监控磁盘内存剩余量,来对系统性能进行监控,当磁盘和内存剩余量过低时,发送报警邮件

书写脚本使用的相关知识?

流程控制: if判断 case判断 for循环 while循环 while read循环读取文件内容

变量: 自定义变量,变量的默认值,变量的切片

数组: 使用关联数组统计用户数量,使用数组存储功能,结合循环进行输出

函数:使用函数将功能进行封装,在后续进行函数的调用

grep和sed和awk来进行系统所需数值的截取

备份和冗灾的区别?什么叫异地备份,什么叫异地冗灾?

冗余(Redundancy)

指系统或组件中存在多余、重复的元素,用于提高系统的可用性和容错能力。冗余的目的是主动防止故障,通过多重设计确保系统在部分组件失效时仍能正常运行。

关键点:冗余是主动的,通过并行设计实现。备份(Backup)

指对数据或系统状态的复制和存储,用于在故障或灾难发生后恢复。备份的目的是事后恢复,通过存储副本确保数据或系统可还原到某个时间点。

关键点:备份是被动的,通过存储副本实现。

异地容灾和异地备份的区别

 定义与核心差异

异地容灾(Disaster Recovery, DR)

指在远离主数据中心的地理位置部署完整的业务运行环境,包括硬件、软件、网络和人员,用于在主数据中心发生灾难性故障时,快速接管业务,确保业务连续性。

核心:业务接管能力,强调实时或近实时的故障切换。异地备份(Off-site Backup)

指将数据或系统状态复制并存储在远离主站点的位置,用于在数据丢失或损坏时,恢复数据到某个时间点。

核心:数据恢复能力,强调数据完整性和可恢复性。2. 应用场景与实现方式

维度 异地容灾 异地备份

应用场景 关键业务系统(如金融交易、医疗系统)、数据中心级灾难恢复 数据保护(如数据库、文件系统)、合规性要求(如GDPR)

实现方式 冷备(备用设施)、温备(部分预配置)、热备(实时同步,可快速切换) 磁带备份、云存储、异地数据中心存储

技术重点 数据同步(如存储复制、数据库日志传输)、应用层容灾(如应用集群) 数据传输(如FTP、云同步)、存储管理(如去重、压缩)

典型案例 银行数据中心在异地部署热备站点,确保交易系统7×24小时可用 企业将数据库每日备份到云存储,用于勒索软件攻击后的数据恢复

 目的与作用

异地容灾:业务连续性:确保在主站点故障时,业务可快速切换到备用站点,减少停机时间。

灾难恢复:应对地震、洪水等区域性灾难,保护业务不受影响。

示例:AWS在多个区域部署数据中心,客户可通过Route 53实现故障切换。

异地备份:数据保护:防止数据丢失或损坏,确保数据可恢复到某个时间点。

合规性:满足行业法规对数据存储和恢复的要求。

示例:医院将患者数据备份到异地存储,防止因火灾导致数据丢失。

关键区别总结

目标:异地容灾:业务接管,确保系统在灾难发生时继续运行。

异地备份:数据恢复,确保数据在丢失或损坏后可还原。

实现方式:异地容灾:完整的业务环境,包括硬件、软件、网络和人员。

异地备份:数据副本,存储在远离主站点的位置。

作用时间:异地容灾:实时或近实时,在故障发生时立即生效。

异地备份:事后,在数据丢失或损坏后恢复。

成本与复杂性:异地容灾:高成本,需维护备用站点和实时同步机制。

异地备份:相对低成本,主要涉及数据传输和存储。

举例说明

异地容灾:

某银行在A市和B市分别部署数据中心,通过存储复制和数据库日志传输,确保A市数据中心故障时,B市数据中心可在几分钟内接管业务。异地备份:

某企业每天将数据库备份到云存储,当本地数据库因勒索软件攻击被加密时,可从云端恢复前一日的数据。结论:

异地容灾和异地备份都是保护业务和数据的重要手段,但异地容灾侧重于业务接管,异地备份侧重于数据恢复。在实际应用中,两者往往结合使用,以实现更全面的灾难恢复能力。

关于Linux系统优化以及Linux的安全加固?

系统优化

硬件系统优化:

CPU优化

根据应用场合选择合适的CPU架构,如高并发场景选择多核CPU,计算密集型任务选择高频CPU

使用cpufreq工具动态调整CPU频率,平衡性能和功耗

使用taskset绑定关键进程到特定CPU核心,减少上下文的切换

内存优化

增加物理内存,减少交换分区的使用,提升系统响应速度

启用大页内存,减少内存管理开销,适用于数据库等内存密集型应用

调整swappiness参数,降低系统对交换分区的依赖

磁盘I/O优化

使用SSD替代HDD,显著提升I/O性能

配置RAID,提升磁盘读写速度和数据冗余

调整I/O调度器(如noop使用与SSD,deadlind适用于低延迟场景)

内核参数优化:

TCP/IP参数调整

增加TCP窗口大小,提升高延迟网络下的吞吐量

减少TIME_WAIT状态,加快TCP连接回收

调增脏页比例,减少频繁地磁盘写入

文件系统优化

使用noatime选项挂载文件系统,减少文件访问时间戳更新,减低磁盘I/O

调整文件句柄仙子,避免高负载下资源不足

网络性能优化:

网卡参数调整:调整接受/发送缓冲区大小(sysctl -w net.core.rmem_max=16777216),提升网络吞吐量

DNS缓存:

使用nscd服务缓存DNS查询结果,加快频繁的网络请求解析速度

进程管理和调度优化:

进程优先级调整:

使用nice和renice命令调整进程优先级,确保关键任务获得过更多CPU资源

多线程/多进程设计:

优化多线程/多进程设计,减少不必要的上下人切换安全加固

修改最大打开文件数量:

配置/etc/sysctl.conf

fs.file-max=209715

修改配置

sysctl -p

修改最大进程数

配置/etc/sysctl.conf

kernel.pid_max=4194303

sysctl -p

配置/etc/security/limits.conf

* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535

查看dstat每列的含义

CPU使用情况:

usr:用户空间占用cpu的百分比

sys:内核空间占用cpu的百分比

idl:cpu空闲时间的百分比

wai:cpu等待I/O操作的时间百分比

hiq:硬中断占用的cpu时间百分比

siq:软中断占用的cpu时间百分比

磁盘I/O

read:磁盘每秒的读取的数据量(通常以KB/s或者MB/s为单位)

writ:磁盘每秒写入的数据量

网络:

recv:每秒接收的网络数据量(通常以KB/s或者MB/s为单位)

send:每秒发送的网络数据量

分页:

in:每秒从磁盘换入内存的页数

out:每秒从内存换出到磁盘的页数

int:每秒发生的系统中断次数

csw:系统每秒发生的上下文切换次数

查看top每列的含义

基本信息

PID:进程id

USER:进程所属用户

PR:进程优先级

NI:nice值,表示进程的优先级调整值(负值表示提高优先级,正值代表降低优先级)

VIRT:虚拟内存大小,进程占用的总虚拟内存,包括代码,数据和共享库

RES:常驻内存大小,进程实际占用的物理内存

SHR:共享内存大小,使用进程的共享内存部分

S:进程状态;

常见状态:

R:运行中 S:睡眠中 D:不可中断睡眠 Z:僵尸进程 T:停止

CPU和内存使用

%CPU:进程使用的CPU百分比,表示该进程占用CPU时间占总时间的比例

%MEM:进程使用的物理内存百分比,表示该进程占用的内存占总物理内存的比例

时间相关

TIME+:进程使用的CPU时间总和(用户态和内核态)

命令和参数

COMAND:进程的命令名称,可能显示完整路径或者简化名称

ARGS:进程的完整命令行参数

us:用户进程占用的cpu时间

sy:内核进程占用的cpu时间

ni:调整优先级的用户进程占用的cpu时间

wa:I/O等待占用的cpu空间

hi:硬中断占用的cpu时间

si:软中断占用的cpu时间

st:偷取时间,系统中其他用户占用的cpu时间

补充命令:

iostat:

查看磁盘的读取速度和cpu的占用情况

vmstat:

能够提供关于 CPU、内存、I/O 和系统活动的详细信息。

iftop:

iftop 是一个实时网络流量监控工具,类似于 top 命令,但专注于网络接口的带宽使用情况。它能够显示网络连接的源 IP、目标 IP、传输的数据量及流量方向,非常适合用于网络故障排查和流量分析。

mpstat:

监控系统中多核cpu的工具

tcpdump:

流量分析工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河中医第一IKUN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值