ARTICLE DETAIL

资讯详情

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

奇安信校招笔试复盘:计算机基础与网络安全考点全解析

奇安信校招笔试复盘:计算机基础与网络安全考点全解析 2020年秋天我投了奇安信的IT工程师岗位第一轮技术笔试就是这套“试卷1”整体做下来最大的感受是不偏门、不炫技但覆盖面很广考察的是你大学四年到底有没有把计算机基础吃透以及有没有基本的网络安全专业素养。当时考完我特意花时间做了复盘把每类题目的考点和踩坑点都记了下来现在把这些内容整理出来希望能帮到准备投网络安全方向、尤其是目标奇安信这类安全厂商的应届生朋友。先说结论这套试卷的考察核心不是“你会不会某个冷门漏洞”而是“你有没有一个完整的网络、系统、数据结构和安全知识框架”。很多题看起来是基础题但稍不小心就会丢分因为它在细节上做了文章。1. 试卷整体情况与考察思路1.1 第一印象内容覆盖面和试卷结构整张卷子大概是90分钟到120分钟的题量分为客观题和主观题两大块。客观题包括单选题、多选题、判断题考察的是计算机网络、操作系统、数据库、数据结构、Linux基础还有一部分安全通识主观题则是简答题和手写代码题考的是一段安全分析思路和一道算法编程题。我之所以反复说这是一套“扎实”的试卷是因为你很难通过考前突击押题来通过它。网上能搜到的所谓题库往往只覆盖了零散的考点但真正上了考场你会发现所有题目都在你的知识范围内但每一道都比你预想的多问了半层。比如它不问你“TCP协议里TIME_WAIT是什么意思”而是给你一段网络故障描述让你判断是不是TIME_WAIT导致的它不问你“什么是SQL注入”而是给一段代码让你找出注入点并说明如何修复。这种出题风格其实很符合奇安信这类安全厂商的用人逻辑安全工程师不能只会背答案必须理解底层原理并且有排查问题的思路。1.2 奇安信笔试在考什么岗位能力画像拆解如果你拆解这套试卷的出题逻辑会发现它其实在构建一张“安全工程师能力画像”基础能力层网络协议、操作系统、数据库、数据结构这是所有IT岗位的地基安全岗位尤其看重因为无论是漏洞分析还是应急响应你都得先看懂流量包、日志和进程。安全专业层WEB安全漏洞原理、密码学常识、安全工具理解这部分决定了你能否在安全方向上走得远。工程实操层手写代码题和安全分析简答题考察的是你把知识转化为解决方案的能力。所以备考时不要把它当成一场单纯的“安全知识竞赛”而是把它当成一次“计算机基础安全原理”的综合大考。我在考场上有一种很强烈的感受那些平时老老实实看完了谢希仁《计算机网络》、汤小丹《计算机操作系统》的人做这套题会很顺手那些只刷安全论坛漏洞分析帖的人反而会在基础题上栽跟头。2. 基础技术考点逐项拆解网络、系统与通用编码2.1 网络协议题不光是背概念更要懂流程网络相关题目在这套试卷里占的比例相当高大约占了客观题的三分之一。考察范围集中在TCP/IP协议栈、HTTP协议、DNS解析流程和常见网络故障排查上。有一道题我记得很深刻它给了一段客户端访问服务器的过程描述问你“TCP建立连接过程中第二次握手失败客户端会出现什么现象”。很多人选了“客户端直接超时退出”但正确答案其实更细致客户端发完SYN后会进入SYN_SENT状态如果服务器不回SYNACK客户端会根据操作系统的tcp_syn_retries参数进行重传重传多次后才放弃。这个细节就区分了“背过三次握手”和“真正理解连接建立机制”的人。HTTP相关的题目也很有代表性。它考察了GET和POST的区别、状态码的含义、Cookie和Session的关联以及HTTP和HTTPS在传输安全上的差异。这里有一个小技巧状态码那类题目建议你记一个规律——1xx是信息2xx是成功3xx是重定向4xx是客户端错误5xx是服务端错误。然后重点记几个高频的301永久重定向、302临时重定向、403禁止访问、404不存在、500服务器内部错误、502网关错误、504网关超时。做题时的另外一个感受是安全厂商的笔试特别爱考DNS因为DNS是网络安全里绕不开的环节从劫持到隧道都跟它有关。一定要搞清楚完整解析流程浏览器缓存、系统缓存、本地hosts文件、本地DNS服务器、根DNS服务器、顶级域服务器、权威DNS服务器每一层都过了才拿到最终的IP地址。2.2 操作系统与Linux考点排查问题的进阶姿势操作系统这块考得不算深入但覆盖面很广主要涉及进程与线程、内存管理、死锁四个必要条件、虚拟内存和页面置换算法。这部分对认真上过课的同学来说应该是送分题但有几个容易忽略的点我还是想专门提一下进程和线程的区别一旦放到“资源开销”这个维度来考很多人会含糊。进程是资源分配的基本单位线程是CPU调度的基本单位同一进程内的线程共享地址空间而进程之间地址空间相互独立。死锁的四个必要条件互斥、占有并等待、非抢占、循环等待几乎是必考而且经常结合“如何预防死锁”来出多选题每个预防措施对应打破哪个条件这个对应关系要记牢。虚拟内存的页面置换算法里LRU最近最久未使用是高频考点而要理解LRU你得先理解局部性原理。Linux命令这部分安全岗位笔试几乎是必考的。它会给你一个场景让你选择合适的命令比如“查看当前系统所有监听端口”你该用什么答案是netstat -tlnp或ss -tlnp再比如“实时查看日志文件新增内容”该用什么答案是tail -f。还有文件权限的数字表示法chmod 755到底是什么意思每一位数字分别代表文件所有者、所属组、其他用户的权限7421读写执行、541读执行。注意Linux命令这类题目考的不是你背了多少条命令而是你在实战排查中能不能用对。建议备考时多在自己的虚拟机里模拟几次“网站无法访问”“端口被占用”“磁盘写满”这些真实故障场景用命令去排查一遍印象会深很多。2.3 数据结构与算法基础笔试中的手写代码题怎么准备数据结构部分的客观题主要是栈、队列、链表、二叉树和排序算法的时间复杂度比较。比如让你判断“快速排序在最坏情况下的时间复杂度”答案是O(n²)而平均是O(nlogn)再比如给一个中缀表达式让你用栈来转换或求值。值得一提是这套试卷有一道手写代码题我当时看到的是“反转单链表”要求手写完整实现。这题本身不难但笔试环境里没有编译器、没有自动补全还要在限定时间内写出无语法错误的代码这对平时习惯IDE的人来说是有一定挑战的。我当时写了迭代版本这里也建议优先掌握迭代写法逻辑更直接struct ListNode { int val; struct ListNode *next; }; struct ListNode* reverseList(struct ListNode* head) { struct ListNode *prev NULL; struct ListNode *curr head; while (curr ! NULL) { struct ListNode *nextTemp curr-next; curr-next prev; prev curr; curr nextTemp; } return prev; }有几个笔试手写代码的细节我认为很关键一是注意边界条件空链表和只有一个节点的链表要能直接返回二是在循环里一定要先把当前节点的下一个节点保存下来否则一旦改了curr-next就找不回后续节点了三是变量命名要清晰阅卷人看的是逻辑而不是代码风格但清晰的命名能降低你出错概率。3. 安全方向核心考题解析专业度就是区分度3.1 WEB安全题目漏洞原理与利用链理解如果说基础题决定你过不过线那安全方向的题目就决定你能排在什么位置。这套试卷的WEB安全题考察了SQL注入、XSS、CSRF、文件上传、SSRF等经典漏洞但提问方式基本都不是“什么是XX”而是“给一段代码/场景让你找问题、说原理、提修复方案”。比如SQL注入那道题它给了一段拼接字符串的登录查询代码问你存在什么漏洞、攻击者如何绕过登录、如何修复。这就是典型的考察思路你要能指出参数未经校验直接拼接进SQL语句是根因要能说清楚攻击者输入 or 11这类payload让查询条件恒为真从而绕过认证修复方案则要答到使用参数化查询/预编译语句同时对输入做白名单校验。XSS的题给了三个小场景让你分辨哪些是反射型、哪些是存储型、哪些是DOM型。这个分类其实有很清晰的判断标准反射型是一次性注入数据流是“服务端返回后立即执行”存储型是注入内容被持久化保存其他用户访问时触发DOM型则完全不经过服务端纯粹是前端JavaScript操作DOM导致的。答题时你把数据流描述清楚基本就能拿满分。CSRF和SSRF也需要理解它们的本质区别。CSRF是“借刀杀人”攻击者利用用户已登录的身份发起请求SSRF是“服务端跳板”攻击者让服务器去请求内网资源。修复方案的套路要背清楚CSRF用校验Referer、加CSRF Token、同源检测SSRF用白名单限制目标地址、过滤内网IP、禁用不必要的协议。我在考场上最大的体会是安全漏洞题目会背原理只能拿一半分能结合代码场景说清楚触发流程和修复手段才能拿满。平时练习时不要只看漏洞描述多去本地搭靶场实际复现一遍用Burp Suite抓包改包看看数据流的真实变化。3.2 密码学与基础安全协议常见题型与记忆方法密码学题目量不大但每年安全厂商笔试都会带上一两道这套试卷也不例外。考点很集中对称加密与非对称加密的区别、常见加密算法的名称、哈希算法的特性与应用场景。对称加密就是加密和解密用同一把密钥典型算法有DES、3DES、AES优点是速度快适合大数据量加密缺点是密钥分发困难非对称加密使用公钥和私钥对公钥加密私钥解密、私钥签名公钥验签典型算法有RSA、ECC优点是解决了密钥分发问题缺点是性能慢。实用场景往往是两者结合用非对称加密协商对称密钥再用对称加密加密业务数据典型的例子就是HTTPS的TLS握手过程。哈希算法这块MD5和SHA系列是考试常客。你需要理解哈希的三个核心特性不可逆、定长输出、雪崩效应。不可逆意味着你不能从摘要反推原文所以“存储密码时先加盐再哈希”才是安全实践直接存MD5是存在很大风险的。这里要注意一个坑MD5本身是哈希算法不是加密算法这个说法在判断题里出现过目的是考察你概念是否清晰。3.3 常见安全工具与通识Wireshark、Nmap与应急响应思路试卷简答题部分有一道让我印象非常深刻它问“服务器响应缓慢且对外发包异常网络管理员用Wireshark抓包后发现大量指向同一目标IP的UDP流量请分析可能的原因并给出排查思路。”这道题其实在模拟一个基础的应急响应场景结合了网络分析、异常流量判断和处置流程三个方面。我当时答题的思路大概是这样首先大量指向同一IP的UDP流量是典型的异常外联特征可能是主机被植入木马被远程控制作为DDoS攻击的傀儡机也可能是蠕虫病毒在传播接着是排查路径先通过netstat -ano定位是哪个进程在发起连接再到任务管理器里找到对应的PID和可执行文件路径把可疑文件隔离后清除最后修改服务器口令、排查持久化机制确保清理干净。这道题能拿到高分的核心不是答案有多全面而是思路有没有体现出应急响应应该有的顺序感先确认现象、再定位进程、然后处置、最后加固。很多同学上来就写“重装系统”这太极端了实际工作中第一步永远是定位和分析而不是盲目重装。另外Wireshark的过滤语法基础知识也建议准备一下。比如按IP过滤用ip.addr 192.168.1.1按端口过滤用tcp.port 80按协议过滤直接用http、dns、icmp等关键词。这套题虽然没直接考过滤语法但整张卷子的调性就是实操导向保不齐哪套试卷就会让你写一条抓包过滤表达式。4. 编程与逻辑题实战在有限时间拿满过程分4.1 一道典型的算法题从暴力到优化的思考路径这套试卷的手写代码题是数据结构的经典题目“反转单链表”前面已经给出了迭代实现。但在考场上我建议你的思考过程要体现出阶梯性即使最终只写出了一种解法也要把思路写清楚让阅卷人看到你的推导过程。反转链表的常规解法有两种迭代和递归。迭代的核心是维护三个指针prev、curr、nextTemp逐个改变节点的next指向递归的核心是“先反转当前节点之后的所有节点再把当前节点的next指向自己”。两种都要会因为面试官在后续面试环节可能会追问“能不能用递归实现”。如果你笔试时间充裕可以在代码旁边简要注释你的思路。现场阅卷时思路注释往往能帮你挽回一些因小错误导致的扣分。比如你可以写“// 先保存下一个节点再反转当前指针”这种注释体现了你写代码的习惯对技术岗位来说是一项加分项。4.2 逻辑推理题的做题节奏与取舍除了正经的专业题目试卷里还有一小部分逻辑推理题比如数字推理、图形推理、条件推理。这类题目考察的不是专业知识而是你的思维灵活性。我的建议是不要死磕控制在每题1-2分钟内做不出来就先跳过把时间留给后面的专业题。记忆里有一道条件推理题给了四个人各自说了一句话只有一个人说真话问你是谁做了某件事。这题用排除法可以快速解决假设某人是“真凶”然后代入四个人的陈述判断说真话的人数是否恰好为1。这类题有一个通行的解法模式——假设验证每个选项代入一次符合条件就是答案。逻辑题在整张试卷里分值不高但如果在纠结中消耗太多时间会直接影响后面代码题的质量。我当时的选择是先把所有会的题做完再回头处理逻辑题。这个小策略在考场上帮我争取了至少10分钟的检查时间最后客观题的正确率也因此有保障。5. 笔试复盘与实战建议从刷题到面试的衔接5.1 时间分配与答题顺序的实操建议按我的实战经验这套试卷的答题顺序建议是先做熟悉的客观题再做简答题最后写代码题。客观题里如果遇到拿不准的多选题不要选你只有模糊印象的选项——多选题多选、少选、错选都不得分不确定的选项宁可不选也要保住确定的部分。简答题要注意分点回答。安全分析类题目阅卷是按点给分的建议用“问题原因-影响范围-解决思路-预防措施”的结构来组织答案。先总后分逻辑清晰比写一大段没有层次感的话更占优势。我当时写“服务器异常外联”那道题就是按“现象确认-进程定位-文件处置-系统加固”这个流程来写的最后在每条下面各补了一两句话展开说明。时间分配上如果总时长是120分钟我建议客观题控制在40分钟内简答题40分钟剩下40分钟留给代码题和检查。代码题至少要留出20分钟因为你需要时间审题、构思、手写代码和自查边界条件。切记不要在选择题上反复纠结一旦超过1分钟还没思路立即标记跳过。5.2 考后复盘学会记录错题和知识点图谱笔试结束不等于这件事就翻篇了。无论你当时感觉考得好不好我都建议当天晚上就做一次系统复盘回忆并记录你拿不准的每一道题回到课本或官方文档里查证正确答案然后把涉及的知识点整理成一张自己的知识图谱。比如当时我发现自己TCP连接建立过程的几个状态SYN_SENT、SYN_RCVD、ESTABLISHED记得不够牢就把整个状态迁移图重新画了一遍发现自己在SQL注入的修复方案里漏写了“最小权限原则”就把WEB漏洞修复方案的要点统一整理成模板。这些复盘内容后来在我准备面试时帮了大忙很多面试官提的问题其实都来自笔试中的基础考点。我在实际复习中还发现一个很好用的方法把自己想象成出题人对着知识图谱的每一个节点问自己“如果让我出一道题我会怎么出”。比如看到“文件上传漏洞”这个节点就设想代码里如果只校验了Content-Type而没有校验文件内容绕过方式是什么看到“死锁”这个节点就设想如果题目给出一段多线程代码如何判断它是否可能死锁。站在出题人视角看知识你会发现复习的精度和深度都提升了一个台阶。最后再分享一个小技巧笔试前把目标公司的产品方向和近年来的安全动态浏览一遍。奇安信的笔试虽然整体考察的是通用基础但有一两道题目会带有明显的业务侧重点比如对防火墙规则、安全运营中心、威胁情报的理解。你不需要深入研究但至少要知道这些概念大概是什么、解决的什么问题这样遇到相关题目时不至于完全陌生。这套2020年的试卷只是校招旅程的第一关认真打磨基础、把每一类题型的考察逻辑吃透你会发现后续的面试环节反而更加从容。
返回列表