笔试题和面试题——软件测试工程师面试秘籍(13)

发表于:2021-12-03 09:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:G. li    来源:51Testing软件测试网原创

  2.2.5  笔试题和面试
  试题1.什么是死锁?举一个在多线程中产生死锁的例子。
  分析:此题主要考查多线程技术、死锁的概念。
  答案:一组线程中,每个线程都无限等待被该组进程中另一个线程所占有的资源,因而永远无法得到资源,这种现象称为死锁。
  例子:有两个线程。
  线程1的锁如下。
pthread_mutex_lock(&mutex1);
pthread_mutex_lock(&mutex2);

  线程2的锁如下。
pthread_mutex_lock(&mutex2);
pthread_mutex_lock(&mutex1);

  若同时运行线程1和线程2,就有可能产生死锁。
  试题2.进程和线程的区别是什么?
  分析:2.2.1节中有描述。
  答案:进程是申请资源的最小单位,进程之间不共享资源,线程之间共享资源。进程是系统资源的拥有者,线程是CPU调度的最小单位。
  试题3.实现进程同步互斥的方法有哪些?
  分析:2.2.1节中有描述。
  答案:通过信号量、管程、汇合和分布式系统。
  试题4.线程调度有哪两种方式?
  答案:线程调度有两种方式抢占式(如Windows NT、UNIX、OS/2中)和非抢占式(如DOS、Windows 3.x中)。
  试题5.举出两个Windows系统间的进程通信方法。
  分析:2.2.1节中有描述。
  答案:套接字通信和内存共享。
  试题6.什么是虚拟内存?虚拟内存有什么优势?
  分析:参见2.2.2节中的内容,考查对虚拟内存的大概认识。
  答案:虚拟内存是管理计算机系统内存的一种技术。虚拟内存的优势是方便用户开发程序,保护内核不受恶意或者无意的破坏,隔离各个用户进程。
  试题7.如何减少换页错误?
  分析:考查对换页算法的理解。
  答案:访问局部性满足进程要求。
  试题8.分页系统的页面是为(    )所感知的。
  A.用户B.操作系统   C.编译系统   D.连接装配程序
  答案:B。
  试题9.在请求分页系统中,LRU算法是指(    )。
  A.最早进入内存的页先淘汰B.近期最长时间以来没被访问的页先淘汰
  C.近期被访问次数最少的页先淘汰D.以后再也不用的页面先淘汰
  答案:B。
  试题10.在一个请求页式存储管理中,一个程序的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,并采用LUR算法。设分配给该程序的存储块数M分别为3和4,在该访问中发生的缺页数F和缺页率f是(    )。
  A.①M=3,F=8,f?≈67%;②M=4,F=5,f?≈42%
  B.①M=3,F=10,f?=83%;②M=4,F=8,f?≈67%
  C.①M=3,F=9,f?≈75%;②M=4,F=10,f?≈83%
  D.①M=3,F=7,f?≈58%;②M=4,F=6,f?=50%
  答案:B。
  试题11.请求页式存储管理中缺页中断率与进程所分得的内存页面数、(    )和进程页面流的走向等因素有关。
  A.页表的位置B.置换算法C.页面大小D.进程调度算法
  答案:B。
  试题12.进程调度是从(    )中选择一个进程并投入运行的。
  A.就绪队列B.等待队列C.作业后备队列D.提交队列
  答案:A。
  试题13.两个进程争夺同一个资源(    )。
  A.一定产生死锁B.不一定产生死锁C.不会产生死锁D.以上都不对
  答案:B。
  试题14.在文件系统中,用户通过(    )直接使用外存。
  A.逻辑地址B.物理地址C.名字空间D.虚拟地址
  答案:D。
  试题15.段式虚拟存储器的最大容量是(    )。
  A.由计算机地址结构长度决定的B.由段表的长度决定的
  C.由内存地址寄存器的长度决定的D.无穷大
  答案:A。
  试题16.段页式管理中,关于地址映像表的描述正确的是(    )。
  A.每个作业或进程有一张段表和一张页表
  B.每个作业或进程的每个段有一张段表和一张页表
  C.每个作业或进程有一张段表,每个段有一张页表
  D.每个作业有一张页表,每个段有一张段表
  答案:C。
  试题17.Linux系统中,kill-9表示的意义是什么?
  答案:kill - 9 表示强制终止该进程,它有局限性,例如后台进程、守护进程等无法终止。执行kill命令后,系统会发出一个信号给对应的程序,SIGTERM信号多半会被阻塞,然后等待执行。而kill -9调用exit(),发送SIGKILL信号,不会被阻塞,可以顺利终止进程。
  试题18.在页式管理中,页表的起始地址存放在(    )。
  A.内存中B.页表中C.缓存中D.寄存器中
  答案:D。
  试题19.在段页式存储管理中,虚拟地址空间是(    )的。
  A.一维B.二维C.三维D.层次
  答案:B。
  试题20.列举Linux操作系统中进程间的3种通信方式,并说明其优缺点(种类越多越好)。
  分析:该题考查测试开发人员对IPC的认识。
  参考答案如表2.2所示。
  表2.2参考答案

  试题21.Linux操作系统中查看任务管理器的命令是什么?
  分析:top命令是Linux操作系统中常用的性能分析工具,它能够实时显示系统中各个进程的资源占用状况。
  top命令可实现一个动态显示过程,即通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确地说,top命令提供了对系统处理器的实时状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用量、内存使用量和执行时间对任务进行排序,而且该命令的很多特性可以通过交互式命令或者在个人定制文件中设定。
  答案:top命令。
  试题22.如何终止进程?
  分析:标准的kill命令通常能终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,则只终止父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在终止父进程之前,先终止其所有的子进程。
  答案:使用kill命令和PID。
  试题23.如何查看某个进程的线程数?
  分析:ps命令常用于监控后台进程的工作情况,因为后台进程是不和屏幕、键盘这些标准输出、输入设备进行通信的,所以如果需要检测其情况,可以使用ps命令。
  下面对命令选项进行说明。
  -e:显示所有进程。
  -f:全格式。
  -l:长格式。
  -w:宽输出。
  答案:使用ps –eLf | grep java| grep –v。
  试题24.请写出更改iptable的Linux命令,并使之生效。
  答案:
/etc/init.d/iptables status
vi /etc/sysconfig/iptables
service iptables restart?

  试题25.如何创建一个目录?
  答案:使用mkdir ×××。
  试题26.如何查看当前目录的全路径?
  答案:使用pwd。
  试题27.如何使用sed将文件中的所有abc替换成def?
  答案:使用sed %s/abc/def/g。
  试题28.如何在当前目录下查找文件中有abc的所有内容?
  答案:使用grep * abc。
  试题29.如何统计文件a.txt中log的行数?
  答案:使用grep a.txt log|wc –l。
  试题30.如何终止所有的Apache进程?
  答案:使用kill all | grep apache。
  试题31.如何终止指定ID的进程?
  答案:使用kill ID。
  试题32.按照要求书写Shell命令。
  文件操作如下。
  (a)如何创建一个目录?
  (b)如何删除一个文件?
  (c)如何创建一个软链接?
  文件内容操作如下。
  (d)如何匹配既包含aa又包含bb的行?
  (e)如何匹配包含站点URL的行?
  系统相关操作如下。
  (f)如何查看SPIDER用户启动的所有服务?
  (g)如何查看目前计算机侦听的所有端口?
  (h)如何查看某进程所占用的各种开销(如CPU、物理内存、虚拟内存、套接字句柄、文件句柄、网络流量、套接字状态等),列出你所知道的尽可能多的命令。另外,还可以通过哪个文件的内容查看?
  (i)如何远程执行一个命令,如查看另一台计算机的pstree结果?
  答案:
  (a)使用mkdir。
  (b)使用rm。
  (c)使用ln?–s?source?target。
  (d)使用grep?aa?file?|grep?bb。
  (e)使用grep?"http://[^/]*/$"。
  (f)使用pstree?spider。
  (g)使用netstat?–anp?|grep?LISTEN。
  (h)使用op、vmstat、netstat、iostat、ps、/proc/pid/fd/*、/proc/pid/stat、/proc/net/dev、df、sar、ifconfig。
  (i)使用ssh?–n?–l?username?address?"ls"。
  试题33.文件words存放英文单词,格式为每行一个英文单词(单词可以重复),统计该文件中出现次数排前10名的单词。
  分析:考查脚本基础知识。
  答案:使用uniq -c words | head -10 | awk '{print $2}'。
  试题34.查找当前目录(及子目录)下文件名中有abc字符串的文件(忽略大小写)。
  答案:使用find –iname “*abc*”。
  试题35.在Vi编辑器中执行存盘退出的命令是什么?
  答案::wq命令。
  试题36.写一个脚本,判断192.168.10/24的网络里当前在线IP地址有哪些。若通过ping命令可以判断网络连接正常,则认为在线。
  答案:
#!/bin/bash
#author:lights
for ((i=1;i<=254;i++));
    do
    ping -c5 192.168.1.$i
    sleep 10
    done?

  试题37.写一个脚本,要求如下。
  (1)创建一个函数,它能接收两个参数:第1个参数为URL,即可下载的文件;第二个参数为目录,即下载后保存的位置。
  (2)如果用户给的目录不存在,则提示用户是否创建。如果创建,就继续执行;否则函数返回51错误值给调用脚本。
  (3)如果给的目录存在,则下载文件,下载命令执行结束后测试文件下载成功与否。如果成功,则返回0给调用脚本;否则,返回52错误值给调用脚本。
  答案:
#!/bin/bash
#author:lights
directory=$2
url=$1
function a()
{
if [ ! -d "$directory" ];
then
    cd $directory
    wget $url
else
    echo "directory not find ISY create?(y/n)"
    read iy
case $iy in
    y)
    mkdir $directory
    ;;
    n)
    echo 51
    ;;
    esac
    fi
    }
    a
    function b()
    {
    if [ ! -d "$2" ];
    then
        cd $2
        wget $1
    else
        echo "directory not find ISY create?(y/n)"
        read iy
case $iy in
    y)
    mkdir $2
    ;;
    n)
    echo 52
    ;;
    esac
    fi
    }
    b $1 $2?

  试题38.写一个脚本,要求如下。
  (1)创建一个函数,它可以接收一个磁盘设备路径(如/dev/sdb)作为参数。在真正开始后面的步骤之前提醒用户有风险,并让用户选择是否继续。而后将此磁盘设备上的所有分区清空(提示:使用命令dd if=/dev/zero of=/dev/sdb bs=512 count=1实现,注意,其中的设备路径不要写错)。如果此步骤失败,返回67。接着,在此磁盘设备上创建两个主分区,一个大小为100MB,一个大小为1GB,如果此步骤失败,返回68。格式化这两个分区,文件系统类型为ext3,如果此步骤失败,返回69。如果上述过程都正常,返回0。
  (2)调用此函数,通过接收函数执行的返回值来判断其执行情况,并将信息显示出来。
  答案:
#!/bin/bash
#author:ligths
fucnction fd()
{
fdisk $1
echo "The following will be making changes to the disk, please careful operation (y/n)"
read -p $isy
case $isy in
y)
;;
n)
;;
Esac
}
fd $1

  试题39.在Linux操作系统下,程序产生核心转储文件后如何调试?由内存越界引起的核心文件转储有什么特点?
  答案:产生核心转储文件后,用gdb进行核心转储文件的调试,调用bt命令查看产生核心转储文件时的程序堆栈状态。通常来说,对于内存越界引起的核心转储文件,堆的调用关系会非常混乱。
  试题40.32位的计算机中一个指针是多少位?
  答案:指针位数只取决于地址总线的位数。使用80386以后的处理器的计算机都采用32位的数据总线,所以指针的位数就是32。

查看《软件测试工程师面试秘籍》全部连载章节
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号