面试卡壳点
记录一些面试没答好的问题,持续更新
字节风控一面
算法,对数个ipv4进行排序,算法随意
没写出来,面试官说用冒泡排序写,然而我全忘了
总结下排序算法常用的思路,分治(分段排序,然后递归->快排),双指针(合并数组->归并),提出来一个元素找合适的位置加进去(插入),不合顺序的交换(冒泡)
xss的防御:除了黑白名单,htmlescape这种,还应该提到CSP,他会用Content-Security-Policy限制只能加载本域某些js,而不会加载外来js,属于一种保底防御;并且csp可能还遇到jsonp跨当前域,白名单域调用jsonp接口,就会有函数回调。
XSS 的危害,可能造成蠕虫攻击,在移动端上 XSS 可以调用 WebView 顶层接口,具体一下有没有可能触发 Chrome 的一些 0day 和 nday 漏洞。
对于上述的防护,可以在采用 innerHTML、前端框架中的 dangerous html 方法等,也可以给研发提供一些更安全的 SDK,来支持转义和 JS 过滤。
CSRF的防御:除了保底防御的CSRF token(服务器生成一个随机 token。用户请求时必须带上),还应该提到Referer / Origin 校验,看下是否来自白名单;还有验证码,二次确认等。原理都是浏览器只要请求目标域名匹配 Cookie 的 domain/path,就自动发送 Cookie,而csrf不在cookie内
微服务安全的全架构审计:应该提到网关、鉴权、服务间调用、RPC的事情
- 服务清单
- 获取微服务列表(API 文档、Swagger/OpenAPI、服务注册中心如 Eureka、Consul)
- 标记入口服务(API Gateway、外部接口)和内部服务
- 接口和通信协议
- HTTP/HTTPS、gRPC、WebSocket、消息队列(Kafka/RabbitMQ)
- 记录服务间调用方式、认证方式、授权策略
- 依赖和组件
- 语言和框架(Spring Boot、Node.js、Go 等)
- 中间件(数据库、缓存、消息队列、外部 API)
- 身份与权限
- 用户角色、服务账号、Token/JWT、OAuth2
- 外部接口
- SQL/NoSQL 注入、命令注入
- XSS/CSRF/SSRF
- 不安全的文件上传/路径遍历
- 内部服务
- 服务间未授权访问(Insecure Service-to-Service)
- 微服务暴露调试端口(Spring Actuator、/metrics、/env)
- 不安全的序列化(Java、Python、Node.js)
- 配置问题
- 默认账户或弱口令
- HTTP 明文传输敏感数据
- 日志泄露敏感信息
- 依赖漏洞
- 第三方库漏洞(CVE 检查)
- 不安全的容器镜像
ssrf防御:黑白名单(前置WAF),可能会遇到dns rebinding重定向到本地的攻击,先解析后在做白名单也需要。
- dns rebinding:浏览器同源策略不会持续验证域名解析后的ip是否变化。用ssrf指向攻击者自己的域名,攻击者设置极短 TTL,几秒后让该dns指向本地ip。流程如下,需要攻击者自己准备一个恶意dns服务器:

字节风控二面
原来是一面面试官太nice了
一面着重问思路,很明显是在业务上的,二面首先他就迟到了,然后进来也很吵,自我介绍完就给了一个很难的算法。中间我有语法问题,问他为啥跑不了,他说可以切到自己的IDE,我顺便拿去问了deepseek,结果思考了206s。首先对一个安全人员来说,既然要求算法我为什么学的是ctf不是acm?然后一个小时没写出来,之后他就不耐烦的问了10分钟的问题。我觉得他甚至没看过我的简历,直接问了常见的几个网安八股,xss的攻击和防御,csrf的攻击和防御,就没了。喂喂喂我写那么多java代审干嘛来的,叫我介绍之前经历最有意义的点,我提到绿盟设备对长数据包解析有问题,经典的案例就是shiro打有脏数据的哥斯拉webshell,他问了两遍什么shell?我说哥斯拉,ok没听过哥斯拉我没意见,为什么我回答后老是一两分钟都不说话,他一直在看自己上面的屏幕,除了哥斯拉基本一个字都没听我说,是只有哥斯拉这种奇怪的名字才能吸引他的注意力吗?
可能是我投错部门了,我投的风控——安全实习生。可能应该投安全攻防部,就没有这种面安全问算法的老哥了,我真没招了,投向leetcode怀抱中
说下题目吧,之后才知道是经典的算法题,但是哪个好人学安全刷算法的?
给定一个数 n,如 23121;给定一组数字 A 如 {2,4,9},求由 A 中元素组成的、小于 n 的最大数,如小于 23121 的最大数为 22999

还有比较有意义的一道题:
jwt相比cookie和session有什么优劣势?
优势:不用存储省服务器空间;可以放在header头,就能防止csrf
劣势:弱密钥或者密钥泄露会被长期伪造
ok这就是全场高光的一道问题。