4.12蚂蚁 AI Coding 笔经
题目是实现一个带 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 交互串起来
加分项最后再做,而且尽量不破坏基础功能的代码结构。
验收的时候,建议按题目要求的四点(正确性、兼容性、鲁棒性、稳定性)逐个跑一遍,截图或录屏留证,最后整理到验证证明里。
另外注意素材目录里可能有异常文件,你的工具遇到这种情况不能崩,至少要提示“该文件无法处理”然后继续让用户操作其他素材。 #有哪些公司在面试时考察AICoding?#
核心要求有三点:
能应对真实输入,稳定运行不崩
交互流程清晰,用户知道下一步该干什么
输出结果可验证、可复现,不能随缘
素材放在 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 交互串起来
加分项最后再做,而且尽量不破坏基础功能的代码结构。
验收的时候,建议按题目要求的四点(正确性、兼容性、鲁棒性、稳定性)逐个跑一遍,截图或录屏留证,最后整理到验证证明里。
另外注意素材目录里可能有异常文件,你的工具遇到这种情况不能崩,至少要提示“该文件无法处理”然后继续让用户操作其他素材。 #有哪些公司在面试时考察AICoding?#
全部评论
相关推荐
查看9道真题和解析 点赞 评论 收藏
分享