🐜一面凉经复盘

🐜ai infra一面
1、面试官人真好啊,自我介绍完我就说我的项目偏业务,看jd上的模型训练、模型推理我都没搞过。
他说没事,数据库啊啥的都会涉及到。后面果然一句infra的都没问,哈哈白看了一个周末的infra理论了。

2、然后拷问第二个项目。
2.1 你这个LangGraph路由是如何设计的,为什么要用它?
本质是个状态机,定义了xx状态,实现思路(全局状态、node定义、workflow串起来节点)
2.2 源数据是什么?如何做的预处理?
论文pdf,向量那一路用的固定长度token+overlap,语义切分那一路按段落切的(回车)
2.3 评估是怎么做的?怎么判断切的好不好?
其实我没做Recall@k这些,于是扯我做了证据溯源
2.4 你用GraphRAG了吗,怎么样,有什么优缺点?
用了,优点就是对特定专业领域,比如需要检索一些关键词的隐含关系的场景(科研)上效果好,(面试官补充:源数据准确),缺点就是离线阶段有点耗时,比如二三十篇论文的话差不多二十来分钟,单卡跑的话。(面试官说那已经很快了)

3、拷问第一个项目。
3.1 为什么做这样一个项目,出发点是什么?我看你部署到vercel了,怎么样?
vercel没跑通(尴尬,面试官怎么知道我传到vercel了)
3.2 web端还是移动端?以一个用户的角度,进去后可以干嘛?
3.3 你这个姿态分析是怎么做的?视频是放在minio里,然后是怎么处理的?
我一开始说我调了MediaPipe pose的库做姿态识别,识别到人体关机的三十多个点,然后点点相连成为向量,用cos做相似度分析,最后打分,调llm做个总评。
面试官一直在追问这里,说视频具体是如何分析的,有没有什么难点。
我有点没听懂,他说他的出发点是觉得调库+向量相似 会有些简陋。
唉能不简陋吗,我就开始扯我遇到了两个视频如何对齐的问题,目前的解决方式是设置了个滑杆用户手动调节这个偏差,后期的话可以考虑用音乐来实现。
3.4 redis缓存了什么数据?是什么类型的?key和val分别是什么?列表内部的数据究竟是什么?有没有涉及到序列化啥的?
唉这块是真尴尬,我只从功能上说了我缓存了用户自己的视频列表和姿态分析的结果。等下快去补补好嘛好的。
3.5 如果一个用户上传了个非常大的视频会怎么样,比如几G?
我说我做了限流,只可以上传小于500MB的,然后也限制了一个用户一分钟只能执行两次ai分析。
他就追问说,如果我现在这个视频就是很大又必须要上传呢?
我就说那可以设置个会员功能,付费才能上传大视频。哈哈哈哈面试官笑了一下
3.6 MQ为什么用RabbitMQ?
我就说RabbitMQ简单,可以满足可靠性。
追问可靠性是如何实现的?
发送端生产者开启确认机制,存储端设置队列持久化、消息持久化,消费端任务完成之后再ack,还设置了死信队列用来兜底。
追问消息进入死信队列会被如何处理?
答不上这个。只回答了什么时候会触发死信队列。

4、ai 相关。
你这个aicoding笔试,我看你问了个“云原生架构是什么”,“会被aicoding取代吗”,
真想找个角钻了,原来面试官还能看到我当时的prompt啊,然后他就问我会不会被取代。
你是如何看待ai coding的发展的?如何提升aicoding的能力?
唉当时顺不好口条,面试官又让我总结了一下我想说啥。

5、开放题
假如有一个业务需要你用agent实现,如何设计? 需要考虑什么?我问什么场景,他说假设现在有个很厉害的agent来做姿态分析,而不是传统后端这一套了,如何达到生产级别?
我说我实在是不懂多模态,如果是文本信息的话,生产级别肯定需要考虑多个用户同时访问的并发压力,比如看有没有一些请求能够合并,或者看这些请求有没有通用/复用的地方,设置个缓存来提高响应速度。
面试官问还有啥嘛?
then,我大脑空白了几秒钟。憋出来个,或许还可以预训练个模型,搞个舞蹈学习的垂直模型?
还有啥需要考虑的,想不出来了。

6、反问
反问了业务,面试官说了一大串,完全没听懂。
反问了agent在业务中如何体现。
反问了那您觉得aicoding会取代程序员嘛哈哈哈哈

总共50来min,无手撕,好煎熬好漫长的50min。
#发面经攒人品#  #我的求职进度条#  #蚂蚁#
全部评论
坚持
点赞 回复 分享
发布于 04-17 16:41 上海
原来ai coding笔试用的prompt还会被看到吗,还好还没做,晚上写的时候写prompt要写的专业一点了
点赞 回复 分享
发布于 04-17 14:36 山东
同地大同27届同0offer😇
点赞 回复 分享
发布于 04-16 13:28 湖北
感觉面试官人还是很好的,最后还说ai焦虑的话很正常,每个人都会有,然后要注意的就是把握住那些不变的东西
点赞 回复 分享
发布于 04-16 11:01 湖北
发给了ai帮我复盘。或许有些地方可以再往技术方面引一引吧。 视频太大就得考虑分片,姿态分析太简陋可以考虑滑动窗口dtw选相似度最高的一帧,以及考虑空位维度的映射归一化处理一下。 redis的key是userid,val是元数据序列化后的json字符串。
点赞 回复 分享
发布于 04-16 10:57 湖北

相关推荐

题目是实现一个带 TUI 的命令行视频剪辑工具。核心要求有三点:能应对真实输入,稳定运行不崩交互流程清晰,用户知道下一步该干什么输出结果可验证、可复现,不能随缘素材放在 video_res/ 目录下。需要注意:里面的视频格式不统一,有不同容器(MP4、MOV 等)和编码格式(H.264、H.265 等),甚至可能混了异常文件。所以工具必须考虑兼容性,不能假设所有素材都是标准 MP4。必做功能要求1. TUI 交互(核心)需要实现四个基本操作:浏览素材列表(能看到有哪些视频可用)设置切分区间(比如只保留 00:30 到 01:20 这一段)调整片段顺序(多个片段可以重新排序后再合成)执行导出 + 展示结果(导出完告诉用户成功了还是失败了)2. 剪辑与合成单个视频能切分(取其中一段)多个视频能拼接到一起(比如 A 的前半段 + B 的后半段)输出常见的可播放格式(MP4 最稳妥)3. 错误处理用户输入非法(比如时间输成负数、选了不存在的文件)必须明确提示禁止静默失败——出了错就要让用户知道,不能偷偷崩掉约束条件:所有交互提示要面向普通用户,别直接抛底层报错(比如 "FFmpeg returned code -2" 这种)。用户看不懂,等于没提示。必做验收方式需要自己设计验证方案,至少覆盖四点:基础功能对不对(切分、拼接能不能正常工作)正常输入能跑通(给标准素材,按标准操作走一遍)异常输入要能扛住(给损坏的视频、不存在的文件、乱输参数)连续执行要稳定(跑一次没问题,连续跑十次会不会崩)交付物清单源码 + 启动命令(比如 ./run.sh 或者 python main.py)使用说明(关键操作怎么用、参数什么意思)示例输入与输出结果(别人照着做能复现)验证证明(场景描述、执行命令、结果摘要)已知限制与优化方向(坦诚交代哪里没做好、后续怎么改进)加分项如果必做做完了还有时间,可以考虑:时间线/片段预览能力:不只是一个列表,能让用户看到片段顺序、时长、大概位置任务队列与取消机制:导出可能需要时间,用户可以排队多个任务,也能中途取消可配置导出参数:码率、分辨率、帧率这些用户可以自己调,而不是写死在代码里一点思路分享拿到题目后,建议先别急着写代码。用模型帮你把必做功能拆成最小的 MVP 模块,比如:先实现素材目录扫描和列表展示再实现单个视频切分导出然后实现多视频拼接最后把 TUI 交互串起来加分项最后再做,而且尽量不破坏基础功能的代码结构。验收的时候,建议按题目要求的四点(正确性、兼容性、鲁棒性、稳定性)逐个跑一遍,截图或录屏留证,最后整理到验证证明里。另外注意素材目录里可能有异常文件,你的工具遇到这种情况不能崩,至少要提示“该文件无法处理”然后继续让用户操作其他素材。
查看17道真题和解析
点赞 评论 收藏
分享
04-16 03:30
门头沟学院 Java
简直是夯爆了!!!1.实习项目相关问题2.详细介绍一下你做过的智能客服系统。3.你们这套系统主要的应用场景大概是怎么样的?能举个例子介绍一下。4.什么情况下需要用到你的那个 expert 相关技术?5.整套系统的主要难点是在于什么地方?6.中间的 Planner,它的规划机制是怎么样的?比如它底层需要调用哪些工具?是不是需要多轮规划?中间的一些详细设计是怎么设计的?7.你们怎么去评估客服对客户的输出是好还是坏?8.搜索功能是怎么实现的?9.你在中间起到的主要作用是什么?你做出了什么改进?10.你这个迭代的过程中,有 ground truth 吗?比如每一个 query 实际上最终最相关的商品是有哪些?11.你中间做了一些什么样的技术迭代?最终体现在人工评估指标上有什么样的提升?有做过对比吗?12.这个人工评估的指标是怎么设计的?最后它的指标结果怎么样?13.这个指标结果是内部人工评估的,还是线上的结果?14.中间优化的过程中,你们用的是一个什么样的模型?15.你的那个 expert 模型,怎么去训练的?样本从哪里来?16.导购场景的数据是真实的用户跟人工客服对话的场景数据吗?17.训练的样本量大概是多大?18.1000 条样本就足够训练你的这个模型了吗?19.你对比过训练之前跟训练之后,同样的问题模型学习后的能力提升大概有多少?20.你能做到比原始蒸馏出来的模型效果还强吗?21.训这个 8B 的模型用的是多大显存的?什么显卡?八股1.正常来说,1B 的模型在没有做任何量化的情况下,原始 FP 格式存储大概要占到多少显存?2.不考虑梯度的情况,单纯只考虑 Inference,把参数加载到显存里面大概要占多少显存?3.平时有用过一些量化加速的方法吗?4.常用的量化手段比如 INT4、INT8、BF,它们之间怎么做到加速的?你有了解过吗?5.FP 跟 BF 之间的区别,你了解吗?6.FP 和 BF 底层实现的区别主要在哪个地方?7.正常的 MP32 在底层数据存储上,小数是怎么表示的?手撕:有连续的 N 个正整数,随机抽出一个(不拿头尾),将其他数乱序放入 N-1 大小的数组中,找出被取出的数。要求时间复杂度 O (N),空间复杂度 O (1)。
查看28道真题和解析
点赞 评论 收藏
分享
评论
1
3
分享

创作者周榜

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