ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

2020奇安信秋招运维笔试复盘:安全运维考点全解析

2020奇安信秋招运维笔试复盘:安全运维考点全解析 2020年秋招我投了奇安信的运维岗笔试刚拿到手的时候说实话比预想的要硬核。大家通常觉得安全公司的运维就是修机器、管网络、部署服务结果试卷第一页就把终端安全、漏洞扫描、安全运营这些概念拉进来了搞得像在考一个“懂安全的运维”而不是单纯的“能敲命令的系统管理员”。这篇文章就围绕《2020奇安信秋招运维方向试卷1》做个完整复盘。我会把试卷背后的考察逻辑拆开结合当年我实际答题时踩过的坑、后来复盘时补的知识点把运维和安全交叉的考点一条条讲清楚。无论是准备安全公司运维岗还是想系统补一补“安全运维”这个方向的知识这篇内容都能直接用。1. 奇安信运维岗笔试到底考什么1.1 这张试卷是为谁设计的奇安信运维方向笔试题面向的不是通用互联网公司的运维而是安全公司的运维。这意味着试卷默认你至少具备三类能力基础运维硬技能包括 Linux 系统管理、网络协议、Shell 脚本、数据库基本操作网络安全基础素养包括常见漏洞类型、安全设备作用、终端安全产品逻辑应急处置意识比如收到安全告警之后怎么判断、怎么止血、怎么给结论。我在做这套题的时候最明显的感觉是它不会单独考你“apache 和 nginx 的区别”这种纯八股而是把这类问题包装在“网站访问很慢你怎么排查”这种场景里让你在真实问题中暴露基础功底。所以准备这个岗位死记硬背没用要把知识串成一个排查链路。1.2 试卷结构和时间分配根据记忆里的题型安排2020 这一卷整体结构大致是这样的题型题量建议用时考察重点单选题20 题左右30 分钟Linux、网络、基础安全概念多选题10 题左右20 分钟安全产品、数据库、配置细节简答题4 题左右40 分钟进程管理、日志分析、安全场景场景题2 题左右50 分钟入侵处置、性能排查、方案设计整套卷子满分 100 分笔试总时长 120 分钟。我当年最大的失误是在单选题上纠结太久导致最后一道场景题只能草草写几行。现在回头看选择题不会的可以先跳过简答题和场景题才是拉分关键因为阅卷时看到的不仅是你会不会而是你有没有清晰的处理思路。1.3 知识模块占比梳理如果把这套卷子的考点按模块拆开大概可以分成这几块Linux 相关约占 30%主要集中在命令、权限、进程、日志网络基础约占 20%TCP/IP 协议、HTTP 状态码、DNS 这些常客数据库约占 10% 到 15%以 SQL 查询、索引优化、主从概念为主安全基础与安全产品约占 25%这部分是奇安信笔试最有区分度的模块场景分析和方案设计约占 10% 到 15%通常结合前四块内容出综合性题目。占比明确之后复习顺序就很清楚了。先打 Linux 和网络的地基再补数据库最后集中啃安全产品和应急响应。千万不要一上来就背“WAF 的工作流程”因为你连 TCP 三次握手都说不清楚的话安全产品那些状态检测、代理转发逻辑根本理解不透。2. Linux 与脚本能力运维的基本盘2.1 高频 Linux 命令与常见丢分点这套卷子里的 Linux 命令题覆盖面比较常规但出题角度很刁钻。它不是直接问你“查看磁盘空间用什么命令”而是给你一段现场输出让你判断系统出了什么问题。比如[rootlocalhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 38G 1.9G 96% /这里第 4 列 Used 接近 98%最简单的一句话就是“根分区使用率过高需要清理日志或扩容”。很多人会只写“查看磁盘”三个字这在简答题里基本不得分因为你没有说出后续动作。另一个高频考点是进程管理。选择题可能会问你kill -9和kill -15的区别是什么正确的理解是kill -15先给进程发送 SIGTERM 信号让进程有机会做清理和退出kill -9发送 SIGKILL强制结束进程没有机会处理收尾工作。实际生产环境建议优先用kill -15等几秒无效再用kill -9。端口和连接排查也是必考项。ss -tunlp和netstat -tunlp都要熟悉前者更快更现代。题目如果问“有一个进程占用了 8080 端口怎么找到它并处理”标准思路是ss -tunlp | grep 8080 # 或者 lsof -i :8080找到 PID 之后先确认是什么进程再决定是停服务还是改配置不要一上来就杀。试卷里偶尔还会混入一个ps -ef | grep java让你判断进程是否存在这种题简单但要细心别把 grep 自身那行当成业务进程。2.2 Shell 脚本题怎么答Shell 脚本题基本是必出的而且一般不离“日志统计”和“文件处理”这两个方向。给我留下很深印象的一题是统计 nginx 访问日志中访问次数最多的 10 个 IP。这个题在命令行里一行就能解决awk {print $1} access.log | sort | uniq -c | sort -rn | head -10解题思路拆开讲awk {print $1}取第一列nginx 默认日志格式里第一列就是客户端 IPsort把相同 IP 归到一起uniq -c统计每条记录出现次数sort -rn按数字倒序排最后head -10取前 10 个。当年有些人在uniq之前忘了sort统计结果就会错得离谱因为uniq只能去连续重复的行。如果题目要求输出结果到文件可以用重定向awk {print $1} access.log | sort | uniq -c | sort -rn | head -10 top_ip.txt还有一类常见题是“找出 5 分钟内修改过的文件”考察的是find时间参数find /var/log -type f -mmin -5-mmin -5表示 5 分钟以内修改过注意这里的减号是“以内”的意思不是“第 5 分钟”。这种细节很容易丢分写答案的时候我会顺手写一句注释向阅卷人展示自己确实理解参数含义。2.3 日志分析与文件处理日志分析题在安全公司的笔试卷里比重比普通互联网公司高得多。原因很简单安全产品每天产生大量日志运维需要有能力从日志里快速定位异常。试卷里出现过这样一个场景系统日志/var/log/messages里大量出现Connection timed out问可能的原因和处理思路。常见答案有这几类对端主机网络不通或防火墙拦截检查网络连通性本机文件描述符或 TCP 连接队列满了用ss -s或dmesg看是否存在丢包目标端口没有服务监听检查服务状态。答这种题不要只写一个原因要按“网络层 → 传输层 → 应用层”的层次去排查。阅卷人看的是你有没有排查框架不是你能不能蒙对正确答案。另一个常考的点是grep和awk、sed的组合用法。比如从日志里提取某个时间段的请求、过滤 5xx 状态码、按 URL 统计次数。题目可能不会直接告诉你要用什么命令而是给你一段日志样例让你写命令完成统计任务核心还是考察对文本处理工具的理解。3. 网络与数据库笔试里的硬骨头3.1 TCP/IP 高频考点网络相关的选择题基本绕不开 TCP 三次握手和四次挥手。但安全公司笔试会更深入一点会问你“TCP 第三次握手失败会怎样”“SYN Flood 的原理是什么”这类问题。SYN Flood 是典型的网络层攻击攻击者不断发送 SYN 包但不完成握手导致服务端维护大量半连接最终耗尽资源。这个问题在安全公司出现频率极高因为运维需要理解攻击原理才能配置防护策略。答这个题的关键点是半连接队列、SYN Cookie、超时重传这三个概念至少要说清楚一个。HTTP 状态码也是必考。选择题常见的几个200 请求成功301 永久重定向302 临时重定向403 没有权限404 资源不存在500 服务器内部错误502 网关错误503 服务不可用。其中 502 和 503 很容易混淆。502 表示 nginx 作为代理上游服务没给出有效响应503 表示服务暂时不可用通常是过载或正在维护。这种题在安全设备场景里也经常出现比如配置 WAF 后访问网站返回 502很可能就是代理链路上某个环节配置错误。3.2 数据库基础和高频 SQL 题数据库在运维岗笔试里占得不算多但几乎每年都会考一道 SQL 查询题和一道索引概念题。SQL 题最容易出的是“统计每个用户的订单数量”“查出去重后的记录数”这类写法。我印象里有一道题是给一张用户表和一张登录记录表要求统计每天活跃用户数。标准写法是SELECT date(login_time) AS login_date, COUNT(DISTINCT user_id) AS active_users FROM login_log GROUP BY date(login_time);注意一定要用COUNT(DISTINCT user_id)因为一个用户一天可能登录多次。这个细节是题目埋的坑也是实际运维中常犯的逻辑错误。索引题一般问“哪些情况会导致索引失效”。常见的答案包括对索引列使用函数、隐式类型转换、like 以通配符开头、联合索引不满足最左前缀等。比如WHERE name LIKE %abc是没办法正常走索引的而WHERE name LIKE abc%只要数据分布合理还是有机会用索引。这类题没有太多技巧理解“索引是 B 树结构最左匹配的物理特性决定使用限制”之后基本就能推理出来。3.3 网络故障排查思路场景题里一旦出现“网站访问很慢”答题思路基本是固定套路。我复盘时给自己总结了六步法先确认是不是大面积故障还是个别用户反馈本地 curl 看响应时间用-w输出时间明细检查 DNS 解析是否正常检查服务器负载uptime、free -h、top三件套检查中间件访问日志和错误日志查数据库慢查询和连接数。curl -o /dev/null -s -w DNS:%{time_namelookup} 连接:%{time_connect} 首字节:%{time_starttransfer} 总耗时:%{time_total}\n https://example.com这套命令在回答性能类问题时可以直接写出来并说明每个时间指标对应的瓶颈位置。比如time_namelookup时间过长就是 DNS 问题time_connect时间过长可能是网络链路或服务端连接队列满time_starttransfer之前的时间过长多半是应用处理慢。一个命令就能把问题定位到具体环节这种答案比空谈“排查网络”有说服力得多。4. 安全产品与安全运营奇安信笔试的差异化考点4.1 终端安全产品在考卷里的位置奇安信笔试和其他公司最大区别就在这里。试卷里会出现“天擎”这类终端安全产品的相关题目问的通常是产品能力边界而不是具体使用方式。比如“终端安全管理系统应该包含哪些能力模块”或者“企业部署终端安全产品后运维如何保证策略有效落地”。结合实际的答法是从五个维度展开病毒查杀与实时防护补丁管理主机入侵检测软件合规管控终端准入控制。如果题目问“离线网络环境下怎么升级病毒库”就不能只回答“下载离线包”要补充说明离线包的分发机制、更新频率、灰度发布策略以及升级后如何验证。哪怕只是简单写“在生产环境先小范围测试再全量”也会让阅卷人觉得你有工程意识。提示网上搜索“奇安信天擎卸载”之类的词很容易被带偏但笔试和面试真正关心的不是怎么拆掉安全软件而是怎么用好它。安全软件作为企业防线的一部分运维要理解的是策略配置、告警分析和故障排查不是绕过保护。4.2 漏洞扫描、基线核查和代码安全这部分考点包括“中高危漏洞的处置流程”“什么是基线核查”“代码卫士这类工具的作用”。题目问“发现服务器存在一个高危漏洞你应该怎么做”答案不能只写“打补丁”而是要有完整流程确认漏洞影响范围和版本信息评估线上是否有相关服务暴露优先通过临时缓解措施降低风险在维护窗口执行补丁升级或配置变更升级后做业务验证确认无副作用复盘漏洞原因完善补丁管理流程。路径遍历是另一类绕不开的安全名词。试卷可能给你一段 URL里面出现../问可能导致什么问题。路径遍历漏洞的本质是攻击者通过../或编码后的指针符号跳出应用目录读取服务器上的任意文件。作为运维至少要能说出缓解方案校验用户输入过滤路径关键字和控制字符对上传和下载接口做白名单限制应用容器以低权限用户运行隔离 Web 目录和系统敏感目录。代码卫士这类源码安全扫描工具笔试里通常只会问作用不要求深入。答题时抓住“在开发阶段自动发现代码缺陷降低漏洞流到生产环境的概率”这个核心就够了。4.3 安全运营思路从告警到处置安全运营是奇安信这类公司特别强调的能力。试卷里常见的是一段告警信息比如“某台服务器连续出现多次登录失败并在凌晨 2 点出现成功登录记录”让你分析并给出处置建议。这种题不能只有一种结论。正确思路是先看登录失败来源 IP 是否是内网段、是否有规律再看成功登录的时间和行为确认是否有异常文件落地、是否有新建用户、是否有计划任务变更。如果是暴力破解成功必须立刻修改密码、排查后门、检查日志保留情况然后根据影响面决定是否要隔离机器。答题时可以列出处置顺序比如“断开外网连接 → 保留现场 → 备份关键日志 → 修改所有账号密码 → 查杀恶意文件 → 复盘攻击路径”。这种答案在卷面上非常吃香因为它展示了一个完整的应急处置闭环而不是零散的知识点。5. 经典题型复盘题目还原与解题思路5.1 选择题里的陷阱单选题的陷阱通常不大但多选容易踩坑。有一个题我印象很深关于chmod 4755这个权限位代表什么选项里混着“属主可读可写可执行、属组可读可执行、其他用户可读可执行、设置 SUID 位”。很多人只看到 755 就选了前三个漏掉了 SUID。这类题考的是对特殊权限位的熟悉程度。4对应 SUID2对应 SGID1对应 sticky bit。看到四位权限数字第一位应该是特殊权限不能只盯着后三位。另一个容易错的是“Linux 系统中查看系统负载的指标”有人会把load average和 CPU 使用率混为一谈。但 CPU 使用率是瞬时快照load average 反映的是一段时间内处于可运行和不可中断状态的进程平均数量两者不是一回事。如果系统 load average 很高但 CPU 空闲很可能是 D 状态进程太多常见原因是磁盘 IO 卡住。5.2 简答题的答题结构简答题如果不注意结构很容易写得又长又没分。我总结的答题公式是“结论 原因 动作 验证”。举个例子题目问“系统出现大量 TIME_WAIT 连接怎么办”。如果只回答“调整内核参数”基本只能拿一半分。比较完整的写法是先说明 TIME_WAIT 是 TCP 四次挥手的正常状态由主动关闭连接的一方产生再分析大量 TIME_WAIT 通常意味着有大量短连接请求常见于高并发的 web 服务然后给出优化措施比如开启长连接、调整连接池或视情况调整tcp_tw_reuse等内核参数最后说明调整后如何验证比如用ss -s对比优化前后的连接状态分布。这个结构放在任何简答题上都通用。阅卷人看的是你能否把知识点组织成可执行方案而不是罗列关键词。5.3 场景题服务器疑似被入侵怎么处置这套卷子最后一道场景题我记得是给了一段“发现服务器异常”的描述让写出处置思路。这道题是整张卷子分值最大的一道也是最容易拉开差距的。答题时我先写总原则先止损、再取证、后恢复。然后分步展开第一步确认异常现象比如 CPU 异常高、网络连接异常、出现未知用户或定时任务第二步隔离主机如果无法断网至少限制可疑连接第三步保留证据复制日志、记录进程和网络连接状态不要直接重启第四步排查可疑项包括/etc/passwd、/etc/crontab、/tmp目录、隐藏文件、rootkit第五步清理和加固删除可疑文件、修改密码、回收权限、修补漏洞第六步复盘梳理入侵路径更新安全策略。答题时只要把“为什么要隔离”和“为什么不立刻重启”这两个关键点写出来就能看出你对应急处置的价值取向是“保留现场”而不是“急着恢复”。这也是安全运维区别于传统运维的地方。6. 备考建议与上岸经验6.1 三个月备考时间线如果你准备的是下一年秋招的奇安信运维岗我建议把复习分成三个阶段。第一个月用来打基础每天花一小时过 Linux 系统管理和 Shell 命令周末集中做网络协议和数据库题。这个阶段不要追求难题把top、free、df、ps、netstat这些命令的常见用法刷到条件反射。第二个月开始进入安全场景主攻漏洞类型、安全产品作用、应急响应流程。可以找一套通用题库把选择题刷完再对照解析给自己讲一遍“为什么是这个选项”。这个过程很痛苦但对建立安全思维帮助很大。第三个月进入真题模拟和查漏补缺阶段严格按照 120 分钟做整套卷子。做完之后不要只看分数把每道错题对应的知识点写在旁边整理成一个“错题弱点清单”考前最后一周只背这个清单。6.2 参考材料和实战环境备考资料不需要贪多我当时用的组合比较固定一本 Linux 系统管理手册、一本 TCP/IP 协议讲解类书籍、官方文档加一个本地虚拟机环境。最推荐的做法是自己在虚拟机里搭一套 LAMP 或 LNMP 环境边学边操作。比如自己搭建 nginx 之后再尝试写日志统计命令比单纯看别人的笔记记得牢得多。学数据库索引时建一张几十万行的测试表跑一下带索引和不带索引的查询时间差异会让你对索引的理解深不少。有一点要注意安全公司笔试里出现厂商产品名不要求你了解具体产品 UI而是考察你能不能理解产品背后的原理。所以复习时多问自己“这个产品解决什么问题”“它工作在哪个网络层次”“它的核心防护思路是什么”少去背“点击某个按钮会怎样”这种操作细节。6.3 笔试稳过的一些小习惯最后分享几个实操中很好用的小习惯。第一个是答题时先写框架再填细节。遇到简答题或场景题先用一两分钟在草稿纸上列出关键词和顺序比如“隔离 → 取证 → 分析 → 加固 → 总结”再逐条展开。这个习惯能让你的答案很有层次感。第二个是命令类题目要写注释。哪怕是试卷上只要求写一行命令也可以顺手在下面写一句说明解释这条命令做了什么。这不是画蛇添足而是让阅卷人知道你是真正理解而不是背答案。第三个是不要轻视多选题。多选题的规则通常是漏选不得分或扣分与其蒙一个不确定的选项不如只选最有把握的那个。实在不会就跳过把时间留给后面的场景题。我个人在整套备考过程中最大的感触是安全运维面试和笔试很少考“偏难怪”但特别爱考“你是否能在高压场景下保持有条理”。所以平时练习时给自己定个时间闭卷答题写完再对答案。考场上保持冷静按结构写清楚每一步分数基本不会差。这套 2020 年奇安信秋招运维方向试卷本质上在筛选两类人一类是能干活的系统管理员另一类是能理解安全目标和业务风险的人。如果你想往安全方向深耕把这份试卷吃透你会发现它不只是笔试而是一份很完整的能力体检报告。
返回列表