版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux开发面试题及详细答案(实战版)一、Linux基础命令与文件系统(高频基础题)1、简述Linux绝对路径和相对路径的区别,工作中如何选用?参考答案:绝对路径是以根目录「/」开头的完整路径,唯一指向文件位置,不受当前工作目录影响。相对路径是相对于当前所在目录的路径,不以/开头,写法更简短。工作场景选择:固定脚本、配置文件、服务路径统一使用绝对路径,避免切换目录导致路径失效;日常临时操作、快速切换目录使用相对路径,提升操作效率。2、rm-rf命令的作用是什么?使用时有哪些风险和规避方式?参考答案:-r表示递归删除,可删除文件夹及内部所有文件、子目录;-f表示强制删除,忽略不存在文件、无需交互确认。风险:误删系统关键目录(/etc、/usr等)会直接导致系统崩溃;误删业务数据无法恢复(普通删除不进回收站);批量匹配符(*)使用不当会批量误删文件。规避方式:操作前先用ls核对路径和文件;禁止直接执行rm-rf/*;重要服务器可配置rm别名替代为mv移动到回收站;脚本中删除操作先做路径校验。3、find和grep命令的区别,分别适用什么场景?参考答案:find是查找文件/目录本身,基于文件名、大小、修改时间、权限等文件属性检索,作用于文件层级。grep是查找文件内部内容,基于文本正则表达式匹配内容,检索文件中的关键字、日志信息、配置参数。实战场景:需要找某个日志文件、配置文件、超大文件用find;需要过滤日志报错、检索代码关键字、匹配配置项用grep,工作中常组合使用(find|xargsgrep)。4、简述Linux文件权限rwx对文件和目录的不同含义参考答案:针对文件:r(读):可查看、读取文件内容;w(写):可修改、覆盖文件内容;x(执行):可运行脚本、二进制程序。针对目录:r(读):可列出目录内的文件列表(ls);w(写):可在目录内创建、删除、重命名文件/子目录;x(进入):可cd进入目录,是访问目录内文件的基础权限。核心要点:目录仅有w权限无x权限,无法对内部文件进行操作,权限不生效。二、进程与线程(Linux开发核心考点)1、Linux进程和线程的核心区别?开发中如何选型?参考答案:1、资源隔离:进程是系统资源分配的最小单位,每个进程拥有独立的内存空间、文件描述符、进程ID;线程是调度执行的最小单位,同进程内所有线程共享堆内存、全局变量、文件句柄等资源。2、开销:创建、销毁进程开销极大,需要重新分配内存资源;线程开销极小,仅创建栈和寄存器上下文。3、通信方式:进程间通信复杂,依赖管道、socket、共享内存、消息队列等;线程间直接读写共享内存即可通信,效率更高。4、稳定性:一个进程崩溃不影响其他进程;同进程内一个线程异常崩溃,会导致整个进程退出。选型:高隔离、高稳定性、多独立任务场景用多进程;高并发、轻量任务、频繁切换、需要高频数据交互场景用多线程。2、什么是僵尸进程和孤儿进程?产生原因及解决办法参考答案:孤儿进程:父进程提前退出,子进程被init进程(PID=1)收养。无害,init会自动回收子进程资源,无需手动处理。僵尸进程:子进程执行结束退出,父进程未调用wait/waitpid获取子进程退出状态,导致子进程PCB(进程控制块)无法释放,常驻系统进程列表。危害:大量僵尸进程会占用PID资源,导致系统无法创建新进程。解决方式:1、父进程主动调用wait/waitpid回收子进程;2、父进程注册SIGCHLD信号处理函数,子进程退出时自动回收;3、临时解决方案:杀死父进程,让init进程回收僵尸子进程。3、top、ps、htop命令的区别,如何排查CPU占用过高进程?参考答案:ps:静态查看当前瞬间进程状态,适合批量查询进程信息、脚本过滤进程;top:动态实时刷新进程资源占用,默认3秒刷新一次,原生系统自带;htop:top的增强版,界面可视化、支持鼠标操作、排序更直观,需手动安装。CPU过高排查步骤:1、top查看全局CPU使用率,定位占用最高的PID;2、shift+H查看线程占用,定位高耗CPU线程;3、通过strace、pstack追踪进程调用栈,排查死循环、频繁IO、锁竞争问题;4、结合业务日志,判断是代码bug、并发过高还是资源瓶颈导致。三、Linux网络与IO模型(后端/嵌入式开发重点)1、简述Linux四种IO模型的优缺点参考答案:1、阻塞IO:最简单,读写数据时线程阻塞等待,资源利用率极低,不适合高并发场景。2、非阻塞IO:读写不阻塞,立即返回结果,需要循环轮询状态,CPU空转消耗大,效率低。3、IO多路复用(select/poll/epoll):单线程监听多个文件描述符,就绪后再处理IO,CPU利用率高,是高并发服务核心模型。select/poll存在遍历上限,epoll无最大fd限制,效率更高。4、异步IO:内核完成IO后主动通知应用程序,全程不阻塞,无需轮询,理论效率最高,但编程复杂度高,业务场景使用较少。2、epoll的三种触发模式区别(LT、ET)参考答案:LT水平触发(默认模式):只要文件描述符有未处理的可读/可写数据,epoll会持续触发事件,直到数据处理完毕。容错性高,编程简单,但可能重复触发事件,效率略低。ET边缘触发:仅在状态发生变化的瞬间触发一次事件(例如从无数据到有数据)。需要一次性读完所有数据,否则残留数据不会再次触发。效率更高,高并发框架(Nginx、Redis)默认使用ET模式,编程需要严谨处理数据读写。3、TCP三次握手、四次挥手原理,为什么不能两次握手?参考答案:三次握手:1、客户端发送SYN报文,请求建立连接;2、服务端接收SYN,返回SYN+ACK确认;3、客户端接收确认,发送ACK报文,连接建立。四次挥手:1、主动方发送FIN,请求关闭读通道;2、被动方返回ACK,确认关闭,连接进入半关闭状态;3、被动方数据处理完毕,发送FIN报文;4、主动方返回ACK,双方连接彻底关闭。为什么不能两次握手:两次握手只能保证客户端发送、服务端接收成功,无法保证客户端收到服务端的确认报文。会导致服务端建立无效连接,一直占用资源,造成服务端资源泄露。三次握手可以双向确认收发能力,确保连接可靠。四、系统运维与故障排查(面试实操题)1、服务器磁盘满了如何排查和解决?参考答案:排查步骤:1、df-h查看磁盘分区占用情况,定位爆满分区;2、du-sh/*逐层查找大文件、大目录;3、重点排查日志文件、coredump、临时文件、未释放的删除文件;4、lsof|grepdeleted查找已删除但进程未释放的文件(高频磁盘爆满原因)。解决方式:1、清理无用日志、临时文件、垃圾文件;2、大日志文件不要直接rm删除,优先用cat/dev/null>日志文件清空,避免进程不释放句柄;3、配置日志切割(logrotate),防止日志无限膨胀;4、扩容磁盘或迁移大文件数据。2、Linux内存过高如何排查?buff/cache占用高需要处理吗?参考答案:排查步骤:free-h查看整体内存;top/htop排序查看内存占用最高进程;cat/proc/meminfo查看详细内存分布。buff/cache是系统文件缓存、页缓存,是Linux的内存优化机制,系统空闲内存会自动缓存文件,提升读写速度。正常占用高无需处理,当应用需要内存时,系统会自动回收cache内存。仅当业务内存不足、频繁OOM时,可手动执行sync;echo3>/proc/sys/vm/drop_caches手动释放缓存,生产环境不建议频繁操作。3、端口被占用如何排查和释放?参考答案:五、Shell脚本与开发实操1、Shell中$0、$1、$#、$?分别代表什么?参考答案:$0:当前脚本的文件名;$1、$2...:脚本的第1、2...个传入参数;$#:传入脚本的参数总个数;$?:上一条命令的执行返回状态码,0代表执行成功,非0代表失败。2、写一个简单脚本,批量删除指定目录下7天前的日志文件参考答案:PlainText
#!/bin/bash
#定义日志目录
LOG_DIR="/var/log/test"
#删除7天前后缀为.log的文件
find$LOG_DIR-name"*.log"-mtime+7-delete
解析:-mtime+7表示修改时间超过7天的文件,-delete直接删除,可配合crontab定时执行做日志清理。六、内核与系统原理(进阶开发面试题)1、简述Linux用户态和内核态的区别,为什么要区分?参考答案:用户态:应用程序运行的状态,权限受限,无法直接操作硬件、访问内核资源、修改系统配置,安全性高。内核态:系统内核运行状态,拥有最高权限,可直接操作硬件、管理内存、调度进程、读写硬件资源。区分目的:隔离用户程序和内核系统资源,防止应用程序异常、越权操作导致系统崩溃,保障系统稳定性和安全性。应用需要执行系统操作时,通过系统调用陷入内核态完成。2、什么是OOM
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025医疗护理员考试题及答案
- 2025中医执业医师资格考试实践技能第一站真题及答案
- 2026年复工复产安全培训试卷(附答案)
- 2026年人工智能公需课试题及答案
- 肿瘤综合治疗策略与新技术
- 基因工程的重组连接专家讲座
- 2026下半年初中信息技术教资面试编程库
- 轨道工程施工技术及施工管理(附图)
- 广东人工智能创新平台
- 饮食健康与腹股沟疝防治
- 2025年叉车事故应急预案
- 家禽屠宰兽医卫生检验员考试题及答案2025新版
- 2.6 热对流 课件(内嵌视频)2026-2027学年科学五年级上册苏教版
- 新人教版九年级英语上册单词过关每日一练Unit1-8(含答案可打印)全册单词训练
- 2026年托育机构负责人岗前培训考试试题(带答案)
- JTG-GQS-010-85公路桥涵设计图
- 人教版九年级上册化学全册单元测试题及详细答案【9套】
- JC-T 2104-2012水泥工业用耐磨件堆焊通用技术条件
- 腹腔镜下肾囊肿去顶减压术课件
- 冲击波治疗仪产品技术要求普门科技
- 高考688个高频词汇 word版
评论
0/150
提交评论