广州cider一面 45min

开春第二个面试,相比得物的十五分钟,这个强度会高一点。全程 45 分钟,面试官人挺好的,感觉是易于相处的人,基础问的比较多。
上来自我介绍之后马上就开始问了。
- 用的是 react, 那有没有用过类组件(学的是函数组件,但是生命周期也了解了一点
- 问没有生命周期的函数组件怎么监听事件等(聊到了 useEffect
- 对 useEffect 的理解(答了依赖数组和回调函数这些
- 那如果想要在页面渲染前触发呢(一开始没反应过来,面试官说了 useLayoutEffect
- 在 react 里面写函数组件,用 const 声明箭头函数和 function 声明有什么区别(这个没答上来
- react 和 vue 的区别,为什么 vue 的状态管理库没 react 的那么多
- 简历里写到 zustand、jotai 这些新兴状态库,问和 redux 有什么区别(我说 redux 写起来很臃肿,定义一个 store 还要写 action 之类的,后者会轻量一点。到后面面试官和我说 redux 的状态是全局的、在整个 react 上的,更改时要从头遍历,性能上可能会慢一点,而 zustand 这些状态没挂在全局,所以会好一点——因为时间有点久,大概已经忘记说了什么,只能凭印象复述
- 了解过 promise 吗(说了关于异步和 eventloop
- 反问知道 eventloop 吗(我就说了宏任务微任务这些
- setTimeout 和 promise 分别是什么任务,如果一个 promise 有两个 then,加上一个计时器,问执行顺序
- 闭包了解过吗
- call、apply、bind 的区别
- var 和 let 的区别(又问了 let 的原理,这个没想起来,面试官说转为 es5 后是用了括号
- 了解过 http 和 https 的区别吗
- 深浅拷贝的区别是什么,最后是手写深拷贝

最后反问环节,问面试官有什么学习建议,他回答不要被框架束缚思想,还是值得去深入各种源码这些去理解的。

整体感觉下来还可以,没问算法题,也没有那么汗流浃背,也是到了二面,详情看我下一篇。
全部评论
史诗吕小妹单杠写不出论文
1 回复 分享
发布于 2024-03-21 18:31 广东
太强了
1 回复 分享
发布于 2024-03-21 15:44 澳大利亚
这个公司风评怎么样
点赞 回复 分享
发布于 2024-03-29 10:53 广东

相关推荐

头像
03-23 20:11
已编辑
百度_高级研发工程师
这篇继续盘点一下后端转 AI 方向面试时,最容易被面试官“扒皮”的几个工程落地场景。全是实打实的干货,希望能帮兄弟们避坑。一、 RAG(检索增强生成)的全链路拆解面试官极其看重你怎么把企业文档变成知识库的。这块如果你只是个纯调包侠(只会调 LangChain 的 API),被稍微一深挖绝对露馅。我跟他完整勾勒了整条数据流水线:从文档解析,到文本切片(Chunking)。这里有个加分项:一定要提**“按长度切分并保留 Overlap(重叠区)”**,这样能保证上下文语义不断裂。至于向量库选型,别干巴巴地只说一个。我给出的方案是:数据量极大、分布式要求高的场景直接上 Milvus;而轻量级、或者需要和传统关系型数据强绑定的场景,用 pgvector。顺带提一嘴查询时用的是“混合检索(Keyword + Vector)”,召回的精准度会靠谱很多。二、 大模型幻觉与 Prompt 约束兜底面试官必问:大模型胡说八道、乱承诺怎么办?对付这个,咱们后端有常规的三板斧:控参数: 调低模型生成时的 Temperature 参数,直接把发散性和创造性压下来。强指令: 在 Prompt 里加入极其严格的系统级指令兜底(比如:“如果你不知道,请直接回答不知道,严禁编造信息”)。引入 Few-Shot(少样本提示),给几个标准的问答 Case,把它的输出格式和边界死死限制住。三、 核心痛点:用 RocketMQ 做异步解耦与削峰AI 接口耗时极长,这是通病。面试时必须明确态度:大模型打分或推理,绝对不能同步阻塞主流程。当时的解法是:用户发消息后,聊天服务只管快速落库,然后立刻往 RocketMQ 里丢一条异步消息返回给前端。后端的打分微服务作为消费者,在后台慢慢跑,调完大模型再去更新数据库。进阶防坑: 面试官听到 MQ 肯定会追问重复消费。记得补一句:“我在消费端的 Java 代码里做了防重,基于业务主键(SessionID + MsgID)在 Redis 里做了 Key 校验,或者在 MySQL 用唯一索引兜底。坚决不能让大模型对同一条记录重复打分,浪费 Token 算力。”四、 全双工流式交互(WebSocket + SSE)解决 AI 响应慢导致用户吃灰的问题,还得靠前端流式输出。我重点聊了用 SSE(Server-Sent Events)和 WebSocket 技术,把大模型的响应“逐字”推给前端,而不是傻等到全部生成完再返回,这样能把首字延迟(TTFB)压到极致。进阶防坑: 聊流式交互必问断线处理。我们在网关层(如 Netty 构建的 WebSocket 集群)加了心跳保活机制(Ping-Pong)。一旦检测到死链接,立刻释放后端线程池资源;同时客户端配合自动重连和断点续传逻辑,保证流式数据不丢字。
查看15道真题和解析
点赞 评论 收藏
分享
评论
5
9
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务