Linux开发岗位笔试试题及详细参考答案_第1页
Linux开发岗位笔试试题及详细参考答案_第2页
Linux开发岗位笔试试题及详细参考答案_第3页
Linux开发岗位笔试试题及详细参考答案_第4页
Linux开发岗位笔试试题及详细参考答案_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux开发岗位笔试试题及详细参考答案适用岗位:Linux后台开发、服务器开发、嵌入式Linux开发考试时长:90分钟满分:100分考试形式:闭卷一、单项选择题(每题2分,共20分)1、Linux系统中,用于查看当前系统进程快照的命令是()A、topB、psC、netstatD、df2、以下不属于Linux进程状态的是()A、运行态B、就绪态C、挂起态D、终止态3、在Shell中,想要后台运行程序,需要在命令末尾添加的符号是()A、!B、&C、*D、#4、Linux系统中,端口号范围0-1023属于()A、动态端口B、熟知端口C、私有端口D、临时端口5、下列关于硬链接和软链接的说法,正确的是()A、硬链接可以跨分区创建B、软链接删除源文件后依然有效C、硬链接会新建独立inodeD、软链接文件inode与源文件一致6、查看Linux系统开机启动日志的命令是()A、dmesgB、cat/etc/passwdC、lslogD、top7、TCP协议中,用于主动关闭连接的四次挥手过程中,主动方最后进入的状态是()8、Linux权限体系中,权限数字755对应的权限组合是()A、rwxr-xr-xB、rwxrw-rw-C、r-xrwxr-xD、rwx------9、下列命令中,可实现递归删除目录及所有文件的是()A、rmdirB、rm-rdirC、deldirD、rm-fdir10、Linux系统中,用来设置进程CPU亲和性的命令是()A、niceB、reniceC、tasksetD、ulimit二、填空题(每空1分,共20分)1、Linux系统中,一切皆文件,主要分为普通文件、目录文件、_______、_______、套接字文件五类。2、进程的基本组成包括进程控制块PCB、_______和_______。3、Shell脚本中,$0代表_______,$#代表_______,$?代表_______。4、Linux文件系统中,_______记录文件属性信息,_______记录文件实际数据内容。5、TCP三次握手的核心目的是_______和_______。6、Linux进程创建的两个核心系统调用是_______和_______。7、实现端口监听、网络连接查看的常用命令是_______和ss。8、后台进程挂起后,可通过_______命令恢复前台运行,_______命令恢复后台运行。9、Linux系统中,_______命令用于统计文件行数、单词数、字符数。10、孤儿进程是指_______,僵尸进程是指_______。三、判断题(每题1分,共10分)1、Linux是多用户、多任务、分时操作系统。()2、软链接相当于文件副本,删除软链接会直接删除源文件。()3、fork函数创建子进程后,子进程会复制父进程的地址空间。()5、root用户可以修改系统中所有文件的权限和属性。()6、kill-9命令可以优雅终止进程,释放资源。()7、静态链接生成的可执行文件体积更大,运行不依赖外部库。()8、grep命令仅能匹配文本内容,不支持正则表达式。()9、缓冲区溢出漏洞本质是程序越界读写内存空间。()10、守护进程脱离终端运行,不受终端关闭影响。()四、简答题(每题5分,共25分)1、简述硬链接与软链接的核心区别及各自使用场景。2、简述僵尸进程的产生原因、危害及解决办法。3、简述Linux中fork和vfork的区别。4、简述TCP四次挥手的完整过程。5、简述静态链接与动态链接的优缺点。五、实操编程题(共25分)1、(12分)编写一段简单Shell脚本,实现功能:遍历当前目录下所有.txt文件,统计每个文件的行数,并输出文件名和对应行数。2、(13分)用C语言实现基础fork进程创建,要求:父进程创建一个子进程,子进程打印“子进程运行完成”,父进程等待子进程结束后,打印“父进程运行完成”,避免产生僵尸进程。参考答案及详细解析一、单项选择题答案及解析1、答案:B解析:ps为进程快照查看命令,展示瞬间进程状态;top为动态实时监控进程命令;netstat用于网络端口查看,df用于磁盘空间查看。2、答案:C解析:Linux标准进程状态包含运行、就绪、阻塞、终止,无挂起态,挂起是部分操作系统的拓展状态,不属于Linux原生进程状态。3、答案:B解析:命令末尾加&可将程序放入后台运行,脱离当前终端前台阻塞。4、答案:B解析:0-1023为熟知端口,绑定系统默认服务;1024-49151为注册端口;49152-65535为动态临时端口。5、答案:B解析:硬链接不可跨分区、共用同一inode;软链接为独立文件,存储源文件路径,删除源文件后软链接失效但文件本身存在。6、答案:A解析:dmesg用于查看内核开机、硬件加载、系统启动日志,是排查开机异常的核心命令。7、答案:A8、答案:A解析:权限数字对应:r=4、w=2、x=1,7=4+2+1(rwx),5=4+1(r-x),755即所有者可读可写可执行,组用户、其他用户可读可执行。9、答案:B解析:rm默认无法删除目录,-r参数递归删除目录及内部所有文件,-f为强制删除忽略提示。10、答案:C解析:taskset用于绑定进程至指定CPU核心,设置CPU亲和性;nice/renice用于调整进程优先级,ulimit用于限制系统资源。二、填空题答案1、字符设备文件、块设备文件2、程序段、数据段3、脚本本身文件名、传入脚本的参数个数、上一条命令执行返回状态码4、inode节点、block数据块5、建立可靠连接、同步双方序列号6、fork、exec7、netstat8、fg、bg9、wc10、父进程先退出,子进程由init进程接管;子进程退出后,父进程未回收子进程退出状态,子进程残留PCB资源三、判断题答案及解析1、正确解析:Linux核心特性为多用户、多任务、分时复用,支持多进程并发运行。2、错误解析:软链接仅记录源文件路径,删除软链接不影响源文件,删除源文件软链接失效。3、正确解析:传统fork会完整复制父进程地址空间,现代Linux采用写时复制机制优化性能。5、正确解析:root为超级管理员,拥有系统最高权限,可修改所有文件权限与属性。6、错误解析:kill-9为强制杀死进程,直接终止进程,不执行资源释放、收尾操作,属于暴力终止;kill-15为优雅终止。7、正确解析:静态链接将库代码打包进可执行文件,体积大、独立性强;动态链接仅引用库地址,体积小、依赖系统库。8、错误解析:grep默认支持基础正则表达式,加-E参数可支持扩展正则表达式,是文本匹配核心工具。9、正确解析:缓冲区溢出是程序未校验输入长度,导致数据越界覆盖内存,引发漏洞风险。10、正确解析:守护进程脱离终端、后台常驻运行,关闭终端不会终止进程,多用于服务程序。四、简答题详细答案1、硬链接与软链接的核心区别及使用场景核心区别:①inode差异:硬链接与源文件共用同一个inode,软链接拥有独立inode;②跨分区限制:硬链接不能跨分区、跨文件系统,软链接支持跨分区;③源文件影响:删除源文件,硬链接依然可用,软链接失效;④目录限制:硬链接不支持目录链接,软链接可链接目录。使用场景:硬链接多用于重要文件备份,防止误删文件;软链接多用于程序快捷启动、目录路径映射、多版本库切换。2、僵尸进程的产生原因、危害及解决办法产生原因:子进程执行完毕退出,释放自身数据资源,但进程控制块PCB仍保留,若父进程未主动调用wait/waitpid回收子进程退出状态,子进程就会变为僵尸进程。危害:僵尸进程占用系统进程PID资源,大量僵尸进程会耗尽系统PID,导致系统无法创建新进程,引发服务异常、系统卡顿。解决办法:①父进程主动调用wait/waitpid循环回收子进程;②父进程注册SIGCHLD信号处理函数,子进程退出时自动回收;③杀死父进程,僵尸进程由init进程自动回收。3、fork和vfork的区别①地址空间:fork复制父进程地址空间(写时复制),vfork共享父进程地址空间,不复制;②运行顺序:fork父子进程随机调度执行,vfork优先执行子进程,子进程退出或执行exec后父进程才运行;③性能损耗:vfork开销极小,适合快速创建进程,fork开销相对更大;④适用场景:vfork多用于子进程立即调用exec执行新程序的场景,fork适用于父子进程独立运行的场景。4、TCP四次挥手完整过程TCP四次挥手实现双向连接断开,过程对称独立:③被动关闭方数据传输完成后,发送FIN报文,请求关闭己方连接,进入LAST_ACK状态;5、静态链接与动态链接的优缺点静态链接优点:可执行文件独立性强,不依赖系统外部库,移植性好,运行加载速度快;缺点:文件体积大,占用磁盘空间多,库更新后需重新编译链接,资源冗余严重。动态链接优点:可执行文件体积小,节省磁盘与内存资源,系统库全局共享,库升级后程序无需重新编译;缺点:依赖系统动态库环境,移植性较差,运行时需要加载库文件,启动速度略慢。五、实操编程题参考答案1、Shell脚本(统计当前目录所有txt文件行数)shell

#!/bin/bash

#遍历当前目录下所有后缀为txt的文件

forfilein./*.txt

do

#判断文件是否存在,避免匹配为空

if[-f"$file"];then

#统计文件行数并输出

line_num=$(wc-l"$file"|awk'{print$1}')

echo"文件名:$file总行数:$line_num"

fi

done脚本说明:遍历当前目录txt文件,判断文件合法性,通过wc-l统计行数,awk截取纯数字行数,格式化输出结果,适配绝大多数文本文件统计场景。2、C语言fork进程代码(无僵尸进程)c

#include<stdio.h>

#include<unistd.h>

#include<sys/wait.h>

#include<sys/types.h>

intmain()

{

pid_tpid=fork();

if(pid<0)

{

//进程创建失败

perror("forkerror");

return-1;

}

elseif(pid==0)

{

//子

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论