尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

B站2023安全校招笔试题深度拆解:六大模块与备考策略

B站2023安全校招笔试题深度拆解:六大模块与备考策略 每年九十月安全方向的应届生就开始泡在各种校招笔试题和面经里。B站2023校招信息安全方向的笔试卷在圈子里流传度一直不低很多人拿到手第一反应是怎么什么都有从Web漏洞到密码学从网络协议到业务风控甚至还有一两道让人挠头的开放设计题。我结合去年备考时扒到的各种回忆版题目以及后来跟几个上岸的学弟学妹聊下来的复盘结论把这张卷子里里外外拆了一遍。这篇文章不打算逐题报答案而是想跟你聊聊这张卷子到底在筛选什么样的人、每个模块背后的考察逻辑是什么、以及如果你明年要投安全岗该怎么针对性准备。先说结论B站这套笔试卷出题风格谈不上偏难怪但在广覆盖、重场景、有区分度这三件事上做得很典型。它的核心考察目标不是你会不会背某个CVE编号而是你有没有建立起安全工程师的基本思维方式——面对一个不确定的系统能不能快速找到可疑点面对一个漏洞能不能把利用链路讲清楚面对一条业务逻辑能不能意识到它可能被谁、以什么方式钻空子。这种能力模型恰恰是视频平台这类业务形态里安全团队最看重的。1. 从一张校招笔试卷反推安全团队的能力模型1.1 为什么笔试是一道筛选漏斗校招和社招最大的区别在于社招是来了就能干活校招是底子好、可培养。所以笔试的出题逻辑本质上是在用最短的时间做一次能力扫描。B站安全团队在校招里开放的方向通常覆盖Web安全、安全研发、安全运营、数据安全这几个子方向一张卷子不可能做到每个方向都深挖到底于是出题人采用了一种非常聪明的策略——用广度做筛子用场景题做分水岭用开放题找亮点。如果你手里同时拿到了几家大厂的安全笔试卷横向对比一下就会发现有些厂喜欢考大量CTF题有些厂喜欢考源码审计有些厂直接让你写一个小工具。B站2023这份卷子给我的感觉是它在通用安全基础上花了很多功夫业务安全、内容安全、数据安全相关的题目占了不少比重。这跟B站自身的业务形态是强相关的——UGC视频平台、直播、弹幕、社区治理每一条业务线背后都是具体的安全问题。1.2 出题人有三个隐藏意图第一个意图是确认你有没有攻击者视角。这一点在Web安全题目里体现得最明显。不是简单问你SQL注入怎么修而是给你一段真实的业务代码或一个场景让你自己发现哪里有问题。很多同学在刷题时习惯了看到参数就想到注入的模式匹配遇到稍微包装过的场景就懵了。而真正有攻击者视角的人会先画出数据流再逐个节点去试探。第二个意图是测试你的工程落地感。安全这个岗位尤其是校招进去的前两年日常工作中大量的时间其实不是在打漏洞而是在写安全策略、搭自动化检测、跟研发同学扯皮、推动漏洞修复闭环。所以卷子里会出现一些偏运营和流程的题比如如何设计一个漏洞应急响应流程、日志里出现大量异常登录记录该怎么处置这些题没有标准答案但能看出你有没有实际接触过真实的安全工作。第三个意图是观察你的学习曲线。信息安全方向的知识体系太庞大了没有任何一个应届生能全部掌握。出题人并不指望你考满分他们更想看到的是当你在卷子里遇到一个没见过的概念时是直接放弃还是能从题目上下文里推断出它的含义。2023年那张卷子里有一道涉及密码学生日攻击的题题干里其实给了足够多的提示信息我看不少回忆版面经里都有人提到自己靠推理猜出了大意最后也拿到了不错的分数。1.3 从岗位JD到考点映射岗位方向核心考点对应试卷模块Web安全/渗透漏洞原理、利用方式、修复方案Web题、场景分析题安全研发编程能力、安全工具原理、算法基础编程题、密码学题安全运营应急响应、日志分析、威胁建模场景题、流程设计题数据安全/合规数据分类分级、隐私保护、等保合规合规基础题、开放题对照这张表你再去看试卷结构就知道为什么有些部分虽然你不太会但一定不能空着了。比如你是做二进制安全的Web题可能不是你的主场但基础的选择题和简答题是你拉开跟别人差距的机会。B站这张卷子里面Web安全和数据安全相关的比重明显偏高这一点跟B站作为内容平台对内容安全和用户数据保护的重视程度是匹配的。2. 知识点版图校招安全笔试绕不开的六大模块2.1 Web安全考察的不是刷题量是漏洞本质Web安全模块几乎是所有安全笔试卷的标配B站2023这张卷子也不例外。如果你看过网上流传的回忆版会发现OWASP Top 10里的每一个经典漏洞类型基本都被覆盖了但出题方式跟你在安全题库里刷到的那些送分题不太一样。给你举个例子。很多题库里关于SQL注入的题是这么出的sqlmap有哪些常用参数或者如何防御SQL注入这种题背一背就能答。但B站卷子里出现了一种很典型的问法给出一段简化的登录代码让你分析其中存在的安全风险。代码里没有明显的拼接字符串式SQL注入而是用了参数化查询但如果你仔细看会发现查询后的结果被直接拼进了另一个SQL语句里形成二次注入。这道题考察的核心不是你会不会背注入类型而是你有没有养成数据不可信的思维习惯。代码里任何一个外部输入只要进入了后端逻辑就必须被追踪到底。我在面试辅导时经常跟同学说Web安全题的最高境界不是识别漏洞而是在看似安全的代码里嗅到风险。B站的卷子明显是想筛出后面这一类人。2.2 密码学从算法原理到工程落地密码学部分的题目2023年这张卷子出的很有水平。有一个让我印象很深的点它不直接问你AES和RSA的区别这种八股题而是用了一个实际场景——某业务需要在前端加密用户密码后传输到后端问你会选择哪种算法、为什么、密钥怎么管理、存在哪些风险。这道题背后的考察逻辑很清晰。第一你得知道对称加密和非对称加密各自适用什么场景。第二你得意识到用户密码传输这个场景里真正的风险点不仅在于加密算法本身还在于前端JS代码被篡改、中间人攻击、密钥硬编码在前端这些工程问题。第三你最好还能答出来业界通用的做法是使用HTTPS 密码哈希而不是在前端做自定义加密甚至更进一步提到SRP协议或者BCrypt、Argon2这类密码哈希算法。这一连串知识链条靠死记硬背是推不出来的。我备考时把信息安全工程师教程第三版里关于密码学的部分翻了一遍发现教材上的内容偏理论跟笔试的工程化问法还有距离。后来我总结了一个思路碰到密码学题不要只站在算法的维度回答要往上层想一层——这个算法被用在什么协议里协议有什么弱点攻击者会不会绕过算法直接攻击实现。2.3 系统与二进制安全渗透与防御的底层功虽然B站的业务以Web为主但系统安全和二进制安全的基础题依然会出现在卷子里。2023年试卷里涉及到的考点包括缓冲区溢出原理、堆栈布局、常见二进制防护机制NX、ASLR、PIE、Canary的基本概念以及Linux系统下权限提升的常见思路。这一部分的整体难度适中不会要求你写出一个完整的ROP链但你要知道缓冲区溢出到底是怎么发生的为什么通过修改返回地址就能劫持程序流程NX和ASLR各自的绕过方式是什么。这些概念性的东西其实是区分专业安全科班和自学的Web选手的一道分界线。很多做Web安全的同学对SQL注入和XSS如数家珍一碰到汇编、栈帧这些东西就头疼结果在笔试里丢掉本该拿到的分。我的建议是不管你的主攻方向是不是二进制都至少把缓冲区溢出的基本原理吃透。这不仅仅是为了应付笔试更重要的是它决定了你对计算机系统的理解深度。一个连栈溢出都讲不清楚的安全工程师做渗透测试时也很难真正理解漏洞利用链的底层逻辑。2.4 安全合规与基础理论容易被忽视的送分题这部分内容很多科班同学反而不太重视觉得跟自己平时搞的技术没关系。但B站2023这张卷子专门留了一部分给安全合规和基础理论而且难度不高只要你认真准备过这些分基本是白送的。具体考点包括信息安全三要素CIA三元组、常见的安全评估方法、数据分类分级的思路、网络安全等级保护的基本概念。如果你准备过计算机三级信息安全或者软考的信息安全工程师这些内容应该非常眼熟。我甚至觉得B站这套卷子的合规模块出题思路跟那些考试的知识点是有重叠的。我特别想提醒一个容易被忽略的点描述性问答题里尽量用标准的行业术语别自己造词。比如问什么是数据脱敏你回答就是给数据打码和回答通过替换、加密、截断等手段降低敏感数据在非生产环境中的暴露风险得分是完全不一样的。笔试批卷的人通常是安全团队的技术同学他们一天到晚看惯了规范表述看到满嘴大白话的答案第一印象就会打折扣。2.5 数据安全与隐私保护2023年新增的考察重点把数据安全单独拎出来作为一个重要模块来考是2023年安全校招的一个明显趋势B站这张卷子跟得很紧。题目围绕用户隐私数据全生命周期保护展开涉及收集、存储、使用、共享、销毁各个环节还包括了个人信息保护法相关的合规知识。我给你还原一道逻辑题某视频平台上线了一个新功能需要采集用户的行为数据来做个性化推荐问你应该做哪些安全评估以及如何在功能设计中落实隐私保护。有人一看这不就是写几个加强权限控制做好数据加密之类的套话吗但实际上这道题想考察的是你能不能把隐私保护设计原则落到具体功能里比如数据采集最小化、匿名化处理、用户授权确认、数据访问审计、留存期限管理。数据安全类的题目跟传统安全攻防最大的不同在于它没有打穿和没打穿这种二值化结论而是强调平衡——业务需求和安全诉求之间的平衡。如果你在笔试里能体现出这种平衡感阅卷人会高看你一眼。毕竟安全的终极目的不是把业务卡死而是让业务在可控的风险范围内跑得又快又稳。2.6 编程基础与算法安全工程师也躲不开的通用题很多准备安全岗的同学会忽视编程和算法题觉得那是后端开发才考的。实际上B站2023笔试里也包含了一道左右的代码题难度大概在LeetCode中等偏下比如字符串处理、数组操作这类。安全研发方向的同学如果代码题答得稀烂基本就没有后续了。我的看法是安全岗位的编程题考的不是你能不能写出最优解而是你能不能写出可读、健壮的代码。阅卷人会看你有没有做空值判断有没有考虑边界条件有没有写出明显的逻辑漏洞。这跟安全研发工作中写代码要防御性编程的要求是一脉相承的。你可以在笔试前把Python或者Golang的基础语法和常见算法模板过一遍不需要刷几百道题但经典的遍历、哈希表、双指针这些套路一定要熟练。3. 题型拆解选择题、场景题、开放题各自在考什么3.1 基础选择题知识面的广度测试选择题几乎覆盖了安全知识的方方面面从网络协议到操作系统从数据库到密码学甚至还有少量涉及云安全、容器安全、DevSecOps的新题。这类题的定位就是及格线测试——你对安全这个领域的知识面到底有多广。一个很现实的建议是选择题不要花太多时间纠结会就是会不会就凭第一感觉选然后赶紧往下走。B站这份卷子的题量不算小如果你在选择题上磨蹭太久后面的场景题和开放题就没时间答了。我在模拟时按过表选择题平均每题不要超过一分钟整体控制在15到20分钟以内。知识面的积累靠的是平时不是临阵磨枪。建议把OSI七层模型、TCP/IP协议栈、常见数据库MySQL、Redis、MongoDB的基本安全配置、Docker和Kubernetes的基础概念系统地过一遍。这些内容不一定要精通但至少在选择题里见到时不至于完全陌生。3.2 场景分析题从会做到会想场景题是2023年B站笔试的精华所在也是区分度最高的一部分。这类题目通常给你一段业务场景描述让你分析其中存在的安全风险或攻击路径。它模拟的是安全工程师在日常工作中收到的一个安全需求——比如我们的视频上传接口最近收到了大量异常请求请你帮忙分析可能的原因。我复盘过不少同学在场景题上的失分原因最典型的就一个字飘。拿到题之后不抓关键信息直接凭印象写一堆要加强安全意识要定期做渗透测试之类的正确废话。阅卷人看到这种答案一眼就知道你没有真正做过安全相关工作。答场景题有个特别实用的框架我在教别人的时候反复强调过就是发现、分析、处置、预防四步走。先明确指出场景里最可疑的点是什么然后分析攻击者可能的攻击路径和利用条件再给出当下的应急处置建议最后提出长期的修复和预防方案。这套框架用熟之后你会发现无论碰到什么场景题都能答得条理清晰、有骨有肉而不是像无头苍蝇一样想到什么写什么。3.3 开放设计题没有标准答案的加分池开放设计题是整张卷子里最灵活的部分B站2023年出了一道类似于请设计一套方案防止视频评论区的恶意灌水和攻击行为的题。这种题目没有标准答案但正因为它没有标准答案反而能拉开考生之间的差距。答开放设计题的核心原则只有一条展示你的系统化思维。先定义问题边界恶意灌水包含哪些类型再分层设计解决方案前端人机验证、后端频率限制、内容安全识别、账号信用体系最后落到运营闭环人工审核兜底、申诉机制、策略迭代。你能不能用简洁清晰的语言把一个涉及业务、技术、运营的系统性方案讲明白才是阅卷人最想看到的。我在知乎上看到有人讨论过B站这道开放题评论里有人说这题不就是写作文吗。话糙理不糙但写作文跟写一篇结构严谨的技术方案完全是两码事。前者是漫无目的地堆内容后者是用工程思维结构化地表达。4. 答题时间分配与应试策略4.1 60分钟卷子我给自己的时间配方B站2023这套笔试从回忆版来看时长大概在60到90分钟之间题量涉及选择、简答、场景、开放几种类型。我的建议时间比是这样选择题控制在15到20分钟简答题20分钟场景题20分钟开放题15分钟剩余时间用来检查。如果你碰到一道场景题特别有思路想多写可以从简答题里挤时间但选择题的时间尽量不要压缩因为它需要快速判断越犹豫越容易错。每个人擅长的模块不一样时间分配不能一概而论。但有一个底线原则无论如何都要给开放题留出至少10分钟。因为开放题是你综合能力的集中展示而且只要你按照框架去答拿到基本分并不难。如果前面的题目消耗了太多时间开放题只能草草写两行会非常可惜。4.2 案例分析题的四段式答题模板你如果认真研究了安全校招的笔试和面试场景题会发现大部分案例分析题都有一个通用解法。我称之为四段式答题法第一段用一句话概括核心问题。比如这个场景的主要风险是用户输入未经过滤导致存储型XSS攻击。开门见山让阅卷人立刻知道你看懂了题。第二段拆解攻击路径。从攻击者的视角描述一次完整的攻击过程攻击者如何构造恶意数据数据如何进入系统最终在哪个环节触发漏洞。这段要写细节比如用script标签构造payload、innerHTML渲染导致脚本执行这些关键词比空洞的存在XSS漏洞要有说服力得多。第三段评估影响面。一个称职的安全工程师拿到漏洞第一反应是影响多大、波及多少用户、有没有数据被拖走。你在笔试里也要体现这个专业习惯可以分信息泄露、权限提升、业务影响等维度来写。第四段给修复建议。注意修复建议要分主次先说紧急止血方案比如先下线接口再说长期修复方案比如输入校验、输出编码、CSP策略。这种应急根治的双层思路会让你的答案显得更有实战感。4.3 实在不会的题怎么蒙才不算白蒙校招笔试里碰到不会的题太正常了关键是别直接放弃。给你一个亲测有效的方法把题干里你能读懂的关键词全部拆出来把它们之间的逻辑关系用最朴素的语言写出来哪怕只是部分理解了题意也尽量写出你的思考过程。比如一道关于JWT令牌被篡改的题你如果之前只知道JWT是三段的字符串而完全不懂原理也不要空着。你可以写JWT由Header、Payload、Signature三部分组成攻击者如果拿到了一个合法令牌可能会尝试修改Payload中的用户角色字段因此需要验证Signature确保数据完整性。哪怕你写不完全对但你的思路是从令牌结构入手的阅卷人就会觉得你有基本概念而不是一无所知。空题是零分写了即便不完整也能拿过程分。这个简单的道理在考场上总是被很多人忘记。5. 备考实操三个月冲刺路线5.1 第一个月知识图谱打底别急着刷题我见过太多同学备考时上来就刷题刷了半个月发现越刷越乱因为脑子里没形成知识框架。正确的做法是先用一个月把安全方向的地图画出来Web安全、系统安全、密码学、数据安全、安全合规、业务安全每个方向的子知识点有哪些彼此之间怎么关联。关于参考资料我的建议是基础薄弱的同学把信息安全工程师教程第三版里跟校招相关的章节挑重点过一遍这本教材胜在系统涵盖了大部分笔试选择题的考点基础还可以的同学直接看OWASP Top 10官方文档加上PTES渗透测试执行标准重点理解漏洞原理和测试方法论。另外多去GitHub上搜搜安全工程师面试会有很多精品的开源面经项目结合面经来查漏补缺效率很高。一定要动手整理自己的知识笔记不要光看不写。我当时是建了一个Markdown文档按漏洞类型分开每类漏洞都记下来四件事原理一句话、攻击条件、利用方式、修复方案。这个小笔记在最后冲刺阶段帮了大忙。5.2 第二个月靶场真题双线推进动手才是王道第二个月进入实操阶段核心任务是把脑子过的东西用手过一遍。推荐把DVWA、SQLi-Labs、Upload-Labs、XSS-Labs这四个经典靶场刷一遍不需要追求把每个Level都打通但至少要把主流漏洞类型从听说过变成亲手利用过。只有当你亲手用sqlmap把库脱下来、拿着Burp Suite把请求包改来改去的时候你才算真正理解了为什么开发者写的这段代码会出问题。笔试里很多场景题其实都是从真实渗透测试案例里改编过来的你有过实操经验一眼就能看出题眼在哪里。同时开始做真题。2023年B站这套笔试卷以及其他大厂近两三年的安全笔试卷网上都有回忆版和解析尽量找来做。做真题的核心目的不是猜题压题而是校准自己的答题节奏和熟悉出题风格。我建议每周做一套完整的卷子严格按照考试时间来做完之后认真复盘看自己丢分都在哪类题型上。5.3 第三个月模拟面试押题式复习把状态拉满最后一个月重点从知识输入转向输出训练。找一两个同样准备安全校招的同学互相出题、互相批改或者对着镜子自己给自己讲一遍某类漏洞的原理。你能不能在没有任何参考资料的情况下把SQL注入的原理和防御方法清晰流畅地讲出来决定了你在笔试场景题里能不能写出条理清晰的答案。这个阶段还要做一件事整理一份自己的必考题清单。根据我前面说的六大模块每个模块列出3到5个最核心的问题比如什么是JWT有哪些安全风险简述一次完整的应急响应流程如何设计一个安全的文件上传功能然后每一个问题都试着用讲给同事听的方式去回答。这个过程是在帮你把零散的知识点串成线、织成网。5.4 关于刷软考真题和刷校招真题的一个纠偏很多同学在备考时会纠结我应该去刷信息安全工程师软考的真题还是刷各大厂的校招真题说实话两者有重合但侧重点明显不同。软考偏教材、偏基础理论题目相对固定校招笔试卷偏实战、偏场景理解题目每年都在变。我的建议是可以用软考教材打底、用软考真题练基础选择但不要沉迷于软考的背诵型题目更不要把校招笔试当成软考来准备。特别是信息安全工程师5天修炼这种临时抱佛脚的资料它帮你快速建立考点印象是有帮助的但解决不了校招笔试里那种开放性问题。B站2023年这套卷子给我的整体感受是它不会因为你背过多少CVE号码而给你高分但一定会因为你展现出来的安全思维而记住你。备考到最后你真正要带的不是一肚子死记硬背的知识而是一套可以迁移到任何技术场景里的分析框架。6. 写在最后笔试过了只是开始安全圈拼的是底线思维这张卷子上的每一道题其实都在模拟安全工程师日常工作中的某个切片。你分析的那段有漏洞的代码可能是某个业务同事真的写出来的你设计的那个开放题方案可能就是你入职后要做的事。B站2023校招这套题给了很多还在门外的同学一个很好的参照系想清楚安全到底在解决什么问题比囤积多少工具和技巧都重要。我个人的体会是安全这行做得越久越发现技术本身是有边界的但人的底线思维是无限的。笔试只是迈进门的第一步之后还有更长的路希望这篇拆解能帮你把路径看得更清楚一些。秋招加油咱们山顶见。
返回列表