小红书 一面 4.9 11:00-11:40

八股

Vue3 的双向绑定(Proxy)底层怎么实现的

对比维度 Vue 2 Vue 3 (Proxy)
代理粒度 属性级,需递归遍历 对象级,一次代理
新增/删除属性 无法监听需 $set / $delete 天然支持
数组索引/长度修改 无法直接监听 完全支持
Map/Set 数据结构 不支持 原生支持
初始化性能 递归劫持深层对象,慢 懒响应,仅访问时转换,快

面经图 9

同源策略

同源策略是什么,为什么需要跨域 略

CSRF

CSRF 种类,实际应用 略

项目中一般用哪几个生命周期钩子;从后端调数据用哪个

项目中一般用哪几个生命周期钩子比较多;如果要从后端调数据,应该用哪个钩子

首选 createdVue 2) 或直接在 setup 顶层(Vue 3) 发起请求。

原因:数据请求与 DOM 渲染无关,在 created 阶段发起请求能更早拿到数据,缩短白屏时间。特殊情况用 mounted:需要依赖 DOM 元素存在才能发起的请求(例如根据容器 ID 请求特定样式配置),或需要等待子组件挂载完毕的场景

Skillagent 的关系(包含?)

概念 定义 类比
Agent 自主决策单元,拥有记忆、规划、工具调用能力

负责理解用户意图、分解任务、选择工具/技能并执行
大脑+双手
Skill 封装好的单一功能模块(如计算器、联网搜索、发送邮件、代码解释器)。提供明确的输入输出接口 单个工具

写代码的时候怎么处理幻觉

编码阶段(Prompt Engineering)

严格限定上下文范围: 明确约束词

强制结构化输出: 要求输出 JSON 格式 或 特定 Schema

分步推理: 使用 Chain-of-Thought 提示词,先分析需求再给出代码,降低跳跃性错误

工程架构防御

RAG(检索增强生成): 将企业私有代码库、最新文档向量化,检索后作为上下文喂给模型

输出校验: 静态语法检查(AST 解析器检查语法)、沙箱执行验证(Docker 中运行代码)

工具调用约束: 定义好函数签名,模型不负责生成执行逻辑,从根本上杜绝逻辑幻觉

概念 抽象层次 职责
函数签名 接口规范 定义函数“长什么样”(名称、参数、类型)
Function Calling 模型能力 让模型能根据签名生成调用意图
MCP 通信协议 标准化模型与函数(工具)之间的请求/响应流程

Human-in-the-Loop: 对关键业务代码(数据库操作、支付逻辑)设置人工确认卡点

面经图 10
面经图 11
面经图 12

手撕

手写防抖节流