zoukankan      html  css  js  c++  java
  • 基础考题 试题

    笔试

    1、画出计算机完整体系结构图(2分)

     

     

     

     

     

     

     

    2、画出软件开发完整流程图(2分)

     
       


     

    3、服务器按照尺寸如何分类?按照外形如何分类(2分)

    尺寸:1U 2U 4U

    外形:机架式、刀片式、云主机、塔式、小型机

    4、说一下你在公司里用的服务器的品牌、型号、配置信息(2分)

    DellR720  2U  双路 16个sas硬盘32G 64G 一个cpu 4核 16G

     

    5、什么是ups,它的作用是什么?(1分)

    ups(不间断电源):ups类似于一个蓄电池,相当于服务器的电池,可以在断电的情况下,为服务器供电一段时间,服务器ups一般可以撑到几个小时,期间可以为运维人员腾出时间解决电的问题.

     

    6、硬盘+接口如何组合?(4分)

    1、土豪组合是?

    SSD+SAS

    2、对速度要求比较高场景下的常规组合是?

    SSD+SATA

    3、对速度没有特殊要求场景下的常规组合是?

    机械磁盘+SAS

    4、穷人套餐,对速度要求较低,通常用于企业内部应用的组合是?

    机械磁盘+SATA

    7、什么是冷数据,什么是热数据?(2分)

    冷数据就是用户不经常访问的数据

    热数据就是用户经常访问的数据

    8、什么是阵列卡?(1分)

    阵列卡就是RAID卡

    1、把所有硬盘的容量加在一起

    2、可以让数据更安全

    3、可以获得更高的性能

     

    9、简述raid0、raid1、raid5、raid10的特点及适用场景(4分)

     

    Raid0

    至少一款盘,n块盘的总容量,n块盘加在一起的读写速度,实际略低一些,不允许坏任何一块盘,用于队速度有要求,对数据安全没有特殊要求的。

    Raid1:

    只能两块盘,一块盘的容量,几乎是一块盘的读写速度,允许坏一块盘,另一块盘里有完整的数据,用于对数据安全有要求,对速度没有特殊要求的,例如系统盘

    Raid5:(介于raid0与raid1之间,折中的一种方案)

    至少三块盘,两两之间奇偶效验,相同结果位0,不同结果位1,坏掉一块盘等量的情况下容量低于raid0,读写速度低于raid0高于raid1,可以坏掉一块盘,可以通过其余两块盘推断出坏盘的数据,一般场合都可以用

    Raid10:

    至少四块盘,raid1和raid0的整合产物,兼顾了raid1的数据安全性与raid0的性能,但是成本大幅度提升,通常用于数据库服务器

     

    10、简述从bit、Byte、KB....EB之间的单位转换(1分)

    1Byte=8bit

    1KB=1024Byte

    1MB=102KB

    1GB=1024MB

    1TB=1024GB

    1PB=1024TB

    1EB=1024TB

    11、什么是IDRAC?(2分)

    集成DELL的远程控制卡

    12、buffer与cache的作用分别是什么(2分)

    buffer 缓冲区,先把数据攒一波,然后在刷入磁盘

    cache 缓存区,把经常访问的数据放到cache中,提高访问的速度

    13、简述多道技术(4分)

    空间上的复用:将多个任务在运行前加载到内存中

    时间上的复用:多个任务复用cpu的时间段,就是cpu在多个程序之间来回切换。当cpu遇到任务io的时候会切换(提高效率),当任务长时间占用cpu不做io的时候也会切换(降低效率)

     

     

    14、什么是进程? 什么是线程?什么是并发、并行、串行、同步、异步(6分)

    进程:一个程序在运行过程当中产生的资源

    线程:线程就是代码运行过程,cpu执行的就是线程

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

    并行:过个任务同时运行,cpu必须是多核

    串行:多个任务一个运行完运行下一个

    同步:同步就是发送者与接收者同步交流,一方退出,另一方也随之中断通信,类打电话

    异步:发送者发送信息后,就不再管,发送者并不管接收者在不在线,类发短信

    15、在一个系统中,有四个任务要同时运行起来,你有几种方案?(2分)

    两种:并行,需多核

    并发,看起来是同时

    16、简述OSI七层是每一层的作用(7分)

    应用层:规定应用程序的数据格式(数据)

    表示层:数据处理和加密

    会话层:建立连接

    传输层:建立端口到端口的通信(数据段)

    网络层:把数字改为网络地址(数据包)

    数据链接层:把点信号成组,组意(数据帧)

    物理层:电信号,高电压1,低电压0表示(电信号)

     

    17、描述arp协议的完整流程(4分)

    通过ARP协议拿到目标地址:

    在同一lan下:

    (主机1IP,主机1Mac,主机2IP,12F)=》所有主机收到包,主机2响应,返回自己Mac。发真正数据(主机1IP,主机1Mac,主机2IP,主机2Mac,数据)

    在不同lan下:

    (主机1IP,主机1Mac,网关IP,12F)=》网关返回自己Mac。发真正数据(主机1IP,主机1Mac,主机2IP,网关Mac,数据)

     

     

    18、画出详细的tcp三次握手图、与四次挥手图(10分)

     

     

    19、tcp又称之为什么协议? udp又称之为什么协议? tcp为何靠,udp为何不可靠(4分)

    tcp协议=》可靠协议

    udp协议=》不可靠协议

    tcp必须双方都在线,需要建立链接三次握手四次挥手,每次数据都包含确认号,序列号保整数据完整性

    udp不管对方在不在线,直接发送过去,可能出现数据丢失的问题

    20、什么是syn洪水攻击?什么是半连接池(2分)

    syn洪水攻击:模拟大量虚假的ip向服务端发送syn请求建立连接,服务端会一直处于syn_rcvd状态,大量占用服务端资源,导致正常客户端无法连接

    半连接池类似排队的凳子

    21、什么是socket(2分)

    socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信

    22、什么是dns? dns的两种查询方式是?(2分)

    DNS: 域名解析服务,负责把域名解析成ip地址

    递归查询,迭代查询

     

    23、浏览器访问一个域名、dns的查找顺序如下(2分)送分题

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

    24、什么是dhcp?(2分)

    动态获取,IP地址、子网掩码

    25、描述一个浏览器从输入网址到最终从服务器拿到想要的数据的整个流程(6分)提示涉及知识:url地址、dns解析、tcp三次握手、osi七层封包与解包

    1.通过dhcp动态获取或者静态配置本机的网络

    本机的IP地址

    子网掩码

    网关的IP地址

    DNS的IP地址

    2.打开浏览器,输入域名

    3,DNS协议解析域名

    4,HTTP服务

    5.TCP协议,本机端口随机,接收方端口默认80

    6.IP协议

    本机IP 目标IP

    7.以太网协议

    本机Mac地址 网关Mac地址

    8 服务器端响应

    经过多个网关的转发,将数据包发送给服务器,服务器也用TCP协议把请求结果返回,本机收到后就可以将网页显示出来

     

    26、子网掩码的作用是什么?什么是子网划分?(2分)

    为了区分是不是在同一个局域网内

    借主机位给网络位使用,以此来达到把一个大网段划分为n个儿子网段的目的

    27、什么是vlan?

    就是虚拟局域网

    28、什么是三层交换机?什么是四层设备?什么是七层设备(1分)

    带有部分路由功能的交换机,工作在osi的网络层

    工作在传输层

    工作在应用层

     

     

    29、安装操作系统时需要对磁盘进行分区,请写出至少两种分区方案(4分)

    方案一:

    /boot:存放引导程序,建议大小是300-500MB

    swap: 虚拟内存,1.5-2倍内存大小,如果物理内存>8G,swap封顶8G

    /:根分区,存放所有数据,剩余空间都给根

    方案二:

    /boot:存放引导程序,建议大小是300-500MB

    swap: 虚拟内存,1.5-2倍内存大小,如果物理内存>8G,swap封顶8G

    /:根分区,50-200G,只存放系统相关文件

    /data:剩余硬盘空间大小,放数据库及存储重要数据的

    30、操作系统的启动流程是?(2分)

    通电=》进入bios,扫描启动设备=》读取启动设备第一个扇区=》grub程序把操作系统载入内存=》启动操作系统=》操作系统让bios去检测驱动程序

     

    31、简述shell的两层意思(2分)

    编程语言

    Shell解释器

    32、什么是posix,它存在的意义是什么(1分)

    可移植的操作系统接口,操作系统为应用程序提供的接口标准

    33、如何永久设定主机名(2分)

    两种:

       Hostnamectl set-hostname 主机名

       /etc/hostname

    34、linux文件是没有扩展名的,区分方式通过ls-l的首位信息,那么下述代表的文件类型是什么?(2分)

    -  普通文件

    d  目录文件

    b  设备文件

    l  链接文件

    35、网卡配置文件路径? dns配置文件录?本地解析文件路径?自动挂载文件路径?(4分)

    /etc/sysconfig/network-scripts/ifcfg-eth0

    /etc/resolv.d

    /etc/hosts

    /etc/fstab

     

    36、黑洞文件路径?基于“吐零机“文件制作一个10M的文件(2分)

    /dev/null

    dd if=/dev/zero of=a.txt bs=10M count=1

     

    37、什么是绝对路径?什么是相对路径?(1分)

    绝对路径:路径是从根开始的,即/作为前缀

    相对路径:路径不是从根开始的

    38、一个文件有三种时间,分别会在什么情况下发送变化?(2分)

    修改,访问,改变

    39、默写文件管理命令(6分)

    创建文件:touch 文件名

    删除文件与文件夹:

    rm -f 文件,rm -rf 目录

    移动文件:

    mv -p 文件路径 文件路径

    复制文件与目录:

    cp 文件路径 文件路径

    浏览文件信息:

    ll 文件路径

    查看文件内容:

    cat 文件路径

    40、vim操作文件内容(4分)

    如何快速跳到行尾及行首?

    行尾:$  行首:0

    如何快速跳到整篇文档的开头与末尾?

    开头:gg 末尾:G

    如何批量替换?:

    %s/old/new/g

    41、有下述文件

    egon1111

    22222egon

    3333egon33333

    4444xXx44444

    5555xxx55555xxxx555xxx

    6666egon6666egon666egon

    用sed命令将文件内容中的所有egon替换成EGON(1分)

    sed -i 's/name/NAME/g'

    用sed命令删除文件内容的1、3、5行(1分)

    sed -i ‘1d;3d;5d

    41、针对/etc/passwd文件,用awk命令取出root开头行的uid与登录shell(2分)

    cat /etc/passwd | awk -F:’ /^root/{print $3,$7}’

    42、过滤出ssh进程(2分)

    ps aux | grep [s]sh

    43、过滤出/etc下包含root这一内容的文件名字(2分)

    grep -rl “root” /etc

    44、找出/etc下类型为普通文件、大于3M的文件并删除(2分)

    find /etc -type f -size +3M -delete

    find /etc -type f -size +3M | xargs rm -f

     

    45、如何覆盖文件内容、如何追加内容(2分)

    echo 111 > a.txt  覆盖

    echo 111 >> a.txt 追加

    47、有文件内容如下,要求统计出重复的行及其重复的行数

     

    sort a.txt | unip -cd

    48、编写一条计划任务,要求每天凌晨3点备份/data目录,备份文件放置在/bak文件夹下,文件名需要包含时间(6分)

    00 3 * * * /usr/bin/tar zcf /bak/`date "+ %F_%H-%M-%S"`_data.tar.gz /data &>/dev/null

     

    49、什么是文件系统?一个文件的数据分为元数据与真实数据两部分,其中元数据存在哪里,真实数据存在哪里(4分)

    文件系统是操作系统内核中负责组织管理磁盘的程序

    元数据存在inode的块中

    真实数据存在block块中

    50、如何制作软连接?如何制作硬链接?总结出二者的关键的相同点与不同点(2分)

    软连接:ln -s  硬链接 ln

    相同点:可以连接文件

    不同点:目录不可以创建硬链接,软连接可以跨分区,硬链接不可以,软连接删除源文件,连接文件不可用,硬链接删除源文件,连接文件可用,软连接inode不同,硬链接相同

    51、查询结果如下,请说明所有的查询结果代表什么?(2分)

     

    普通文件,属主读写权限,属组读权限,其他读权限,在selinux开启的状态下创建的文件,没有硬连接数,属主,改变属组,文件大小,日期,文件名

    51、rwx权限对文件与目录的作用是什么(4分)

                  文件

                  r:读文件内容

                  w:修改文件内容

                  x:执行文件

                 

                  目录:

                  r:浏览

                  w:创建、删除、移动子文件与子目录

                  x:进入该目录

                 

     

    52、linux软件包分为几类,简述区别?(2分)

    rpm包: 预先编译打包,安装简单 通常软件的稳定版会被官方做成rpm,所以软件版本偏低

    源码包: 手动编译打包,安装繁琐 软件版本丰富,可选择性强

    二进制包: 解压即可使用,安装简单 不能修改源代码

    54、下述进程状态代表什么意思(8分)

    R  运行状态

    S  可中断睡眠状态

    D  不可中断睡眠状态

    T  暂停状态

    Z  僵尸状态

     

    <  优先级较高的进程

    N  优先级较低的进程

    +  表示是前台的进程组

    55、依据平均负载的三个数值我们如何判断系统的健康情况?(10分)

    如果1分钟5分钟15分钟负载数值相差不大,系统较“稳定”

    如果1分钟的数值远小于15分钟的数值,说明系统之前经历过大风大浪,但已逐渐趋于平均,至于15分钟区间数值上升的原因,还需要查明

    如果1分钟的数值远大于15分钟的数值,证明系统负载逐渐升高,有可能是临时的也有可能逐渐上升,需要观察

    一旦1分钟的负载接近或超过cpu个数,就意味系统正在发生过载的问题,需要赶快分析问题并优化

    56、利用top命令查看进程,然后基于内存使用率降序排序,应该敲什么命令(2分)

    Top  M

    57、将进程3333的优先级调整到最高

    renice -20 3333

    58、写出至少两种方案保证当前窗口关闭后该窗口内运行的进程继续运行(2分)

     

    59、什么是僵尸进程?什么是孤儿进程?如何杀死僵尸进程(2分)

    僵尸进程:操作系统负责管理进程

    孤儿进程:父进程死掉子进程还在

    方法一:父进程死后子进程会被1 pid接管,发送wait/waitpid来通知操作系统清理僵尸

    方法二:发信号给父进程,通知他发起系统调用wait/waitpid来清理僵尸儿子,kill -CHLD 父进程PID

    60、MBR与GPT的区别是什么(2分)

    MBR:4个主分区

    GPT:128个主分区

    61、如何修复文件系统(2分)

    先尝试修复: xfs_repair /dev/sdb1

    如果不行再强制修复,但是数据会丢失,所以需要提前做好备份:

    xfs_repair -L /dev/sdb1

    如果是ext文件系统,可以使用fsck命令:

    fsck -f -y /dev/sda1

    62、什么是全量备份?什么是增量备份?(2分)

    全量备份:只备份原始数据

    增量备份:只备份新增的数据

    63、什么是CRC?简述网卡收包到操作系统处理的整个过程(2分)

    CRC循环冗余校验码

    网卡收包后,先进行crc校验,验证数据正确性和完整性,把数据帧放入网卡fifo缓冲区,发出中断请求程序,系统把数据帧从网卡缓冲区拷贝到内存,交给内核处理

     

    64、如果网卡的overruns一直增大,应该如何处理(2分)

    Ethtool -g eth0

    Ethtool -G eth0 rx 2048

     

    65、写出配置静态ip地址的配置信息及生效的步骤(4分)

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    1 TYPE=Ethernet

    2 BOOTPROTO=static

    3 NAME=eth0

    4 DEVICE=eth0

    5 ONBOOT=yes

    6 IPADDR=10.211.55.5

    systemctl restart network

    66、什么是交换?什么是路由?(2分)

    交换:指同网络访问,两台机器连在同一个交换机上,配置同网段的不同IP就可以直接通讯

    路由:指跨网络访问的路径选择

    67、添加/删除主机路由、网络路由、默认路由?简述如何区分路由的优先级(6分)

    vim /etc/syconfig/network-scripts/route-eth0

    route add/del -host 1.1.1.5/24 via 2.2.2.4

    route add/del -net 1.1.1.0/24 via 2.2.2.4

    route add/del default via 2.2.2.4

    systemctl restart network

    先匹配掩码位长度,掩码越长的优先级高

    若掩码位相同,则比较节点间的管理距离,管理距离短的生效

    68、运行shell程序的两种方式是什么?如果要执行一个shell程序,至少需要当前用户对其有什么权限(2分)

    bash 脚本

    .脚本

    执行和读权限

    69、如何制作环境变量(2分)

    临时:PATH=$PATH:/root

    永久:vim /etc/profile

    PATH=$PATH:/root

    export PATH

     

     

    70、vim编辑完软件的配置文件后为何必须重启软件?(2分)

    vim把源文件删除,新建了一个文件,需要重新加载inode号

    机试

    1、            创建用户并以非交互的方式设定用户的密码(2分)

    Useradd love && echo 1 |passwd love --stdin

    2、            进入单用户模式破解root密码(4分)

     

    3、            grub加密,然后进入光盘修复模式清除grub加密(4分)

     

    grub2-setpassword 加密

    vim /boot/grub2/grub.cfg

    4、            手动创建一个用户(4分)

    vim /etc/passwd

    vim /etc/group

    vim /etc/gshadow

    vim /etc/shadow

    mkdir -m 700 /home/feitiandundizhu && cp -a /etc/skel/.[mb]* /home/feitiandundizhu/

    cd /home

    chown -R love.love

    touch /var/spool/mail/love && chmod 660

    /var/spool/mail/love && chown love.mail

    /var/spool/mail/love

    5、            开启两台机器,一台当做远程的yum源头,另外一个台配置yum配置文件指向该源,然后基于该源安装vsftp软件,并将软件包缓存到本地(8分)

    源头主机:yum install -y vsftpd

    systemctl start vsftpd

    systemctl enable vsftpd

    systemctl status vsftpd

    systemctl stop firewalld

    systemctl disable firewalld

    systemctl status firewalld

    setenforce (临时关闭)

    vim /etc/selinux/config ###SELINUX=disabled(永久关闭)

    mount /dev/cdrom /mnt

    cp -a /mnt/[Pr]* /var/ftp/pub/

    客户端:

    vim /etc/yum.conf

    keepcache=1

    mv /etc/yum.repos.d/[!b]* /etc/yum.repos.d/bak/

    vim /etc/yum.repos.d/local.repo

    [local.yum]

    name="xxx"

    baseurl=ftp://10.0.0.253/pub

    enabled=1

    gpgcheck=0

    yum install -y vsftpd

    6、            sudo提权配置(4分)

    visudo

    visudo-c

    让用户egon02可以在所有主机上登录都可以转换成管理员身份来执行网络管理命令

    让devops组内的成员可以在所有主机上登录都可以转换成管理员身份来执服务管理命令,且不需要输入密码

    7、            开启top命令监控系统状况,模拟系统系统超载(4分)

    While true;do echo $(( 1+1 ));done

    8、            假设根目录挂载在/dev/sda1下,而该分区已满,若我们还想往/data目录下新建文件,我们需要新增一个分区,请采用gpt分区方式,分区结束或格式化制作文件系统,然后设置开机自动挂载来解决该问题(4分)

    mkdir -p /data/data1

    gdisk /dev/sdb

    mkfs.xfs /dev/sdb1

    mount /dev/sdb1 /data/data1

    vim /etc/fstab

    mount -a

    9、            制作lv,然后完成在线扩容(4分)

    准备一个硬盘 然后硬盘分区

    pvcreate /dev/sdb

    pvcreate /dev/sdc

    vgcreate vg1 /dev/sdb /dev/sdc

    lvcreate -l 1G -n lv1_you_vg1 vg1

    mkfs.xfs /dev/vg1/lv_you_vg1

    mount /dev/vg1/lv_you_vg1 /opt

    10、        编写自动源码部署nginx的脚本(4分)

    wget htts://nginx.org/download/nginx-1.18.0.tar.gz &>/dev/null

    yum -y install gcc gcc-c++ autoconf automake make &>/dev/null

    yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel &>/dev/null

    tar xf nginx-1.18.0.tar.gz -C /opt

    cd /opt/nginx-1.18.0/ && ./configure --prefix=/usr/local/nginx1.18.0 &>/dev/null

    make && make install &>/dev/null

    ln -s /usr/local/nginx/sbin/nginx /nginx-1.18.0

    chmod 744 nginx.sh

    11、        编写检测同网段ip地址存活情况的脚本(4分)

    Vim love.sh

    #!/bin/bash

    for i in {1..254}

    do

    (ping -c 1 10.0.0.$i &>/dev/null

    if [ $? = 0 ];then

    echo "10.0.0.$i up" >> up.txt

    else

    echo "10.0.0.$i down" >> down.txt

    fi) &

    done

    chmod u+x checkip.sh

     

    12、        编写自动备份/data目录的脚本,备份文件放入/bak下,然后写入计划任务,每隔一分钟执行一次,然后截图备份成功是ok的即可(4分)

    vim bak.sh

    #!/bin/bash

    cd / && tar zcf /bak/`date "+%F_%H-%M-%S"`_data_tar.gz /data &> /dev/null

    chmod u+x bak.sh

    [root@allenzhu ~]# crontab -e

    # backup data by:allenzhu

    * * * * * /root/bak.sh &> /dev/null

    13、开启四台机器,网络拓扑如下,vment全部都是仅主机模式(20分)

     

     

    vm1

    route add default gw 1.1.1.2

    vm2

    echo 1 > /proc/sys/net/ipv4/ip_forward

    route add -net 3.3.3.0/24 gw 2.2.2.3

    route add -net 4.4.4.0/24 gw 2.2.2.3

    vm3

    echo 1 > /proc/sys/net/ipv4/ip_forward

    route add -net 1.1.1.0/24 gw 2.2.2.2

    route add -net 4.4.4.0/24 dev eth1

    vm4

    route add -net 1.1.1.0/24 gw 3.3.3.3

    route add -net 2.2.2.0/24 gw 3.3.3.3

    14、配置xshell可以秘钥登录上述4台机器(4分)

    mkdir -m 700 .ssh

    touch .ssh/authorized_keys

    chmod 600 .ssh/authorized_keys

    vim .ssh/authorized_keys

    把xshell 生成的公钥复制下来粘贴上去

    15、清理干净4台机器上的所有所有的历史命令,注意是所有,要擦干净不留痕迹(2分)

    > ./.bash_history

     history -c

  • 相关阅读:
    perl练习——FASTA格式文件中序列GC含量计算&perl数组排序如何获得下标或者键
    短序列组装Sequence Assembly(转载)
    MEGA软件——系统发育树构建方法(图文讲解) 转载
    R语言中的read.table()
    网络七层模型OSI(Open System Interconnection)
    MySQL报错“The server time zone value '�й���׼ʱ��' is unrecognized”
    JDK环境变量配置
    netstat命令
    敏捷方法论(Agile Methodologies)
    0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded解决方法
  • 原文地址:https://www.cnblogs.com/dachangtui/p/13977574.html
Copyright © 2011-2022 走看看