AI 全栈开发工程师一面面经
完整信息
本篇目录
9.16 字节中交广 - 交易与广告业务 - AI全栈开发工程师 - 校招正式 - 一面 - 1h5min
- 自我介绍
- 最近一段实习做的这套 ai-pipeline 的主要目的是什么?
- 在这套 AI pipeline 中, 你如何保证它的每一个节点执行效果的准确性?
- 让 AI 自己发挥的话, 它肯定是会有一些幻觉或者是偏移, 你是怎么解决这些问题的?
- 你是怎么想到这套方案的? 有参考过什么项目或者文章吗?
- 这套 pipeline 的最终的一个效果怎么评估啊?
- piepline 中的 generate 步骤, 就是在代码生成这个环节, 你怎么去保证这个代码的生成质量是比较高的呢?
- ai-pipeline 对业务知识的理解怎么去保证准确?
- 在这个项目当中, 你觉得你遇到过的最大的问题是什么?
- 数据漏斗是怎么做的? 数据存储介质用得是什么? 筛选过滤方案是什么?
- 第二段实习中, 针对营销场景模块, 你对其中的大规模数据的SQL是如何处理优化的?.
- 存储介质为什么用 Doris, 不用 Hive / ES ? Doris 的优势在哪里? 如何做的技术选型?
- 你觉得这段实习中间, 对你来说最大的挑战是什么?
- 从脚本出数改为自动化流程出数, 带来的价值是什么? 为什么要去做这样一个改造?
- 像你这样一个大数据量哈, 你说了几亿几十亿的, 你觉得这个大数据量对对你来说有什么挑战, 你处理过程中遇到过什么问题吗? 如何解决的?
- 除了在 SQL 手段上, 有没有想过通过其他的技术手段来解决这个出数任务的效率问题呢? 让这个出数任务跑得更快.
- 当时是怎么想到去给 Doris 加倒排索引的呢? 你是怎么分析, 怎么排查瓶颈的? 当时你整个完整的思考过程是怎样的?
- 有没有考虑过不用倒排索引, 选择其他的方案去做一个优化? 比如说一些业务分析或者数据分析. (答了大搜数据的前置 QP 处理)
- 比如说现在有一个场景, 也是对几十亿的数据进行筛选和过滤, 但是我家里索引之后效果还是不好, 这个时候你会去怎么优化这个链路? (量级特别大, 这个底表的数据可能上千亿的, 我加了索引去查, 也还是也有几亿的数据出来的).
- [场景题]: 一个医院里, 大家都排队买药取药, 屏幕上都有那个患者名字的轮播, 然后呢, 我现在有一个 PC 页面也想要做类似的这种轮播通知, 每个用户看到自己的一些轮播信息 (信息是用户维度的, 不同用户的轮播信息是隔离的). 然后后端通过一个实时数仓的 MQ 消息, 每秒钟就会往这个 MQ 里推送消息, 后端消费这个消息, 然后给到前端, 前端给它做一个轮播, 展示最近20条. 就这样一个功能, 让你去设计实现, 你会怎么考虑?
- 在你这套方案中, 你觉得哪块是成本最高的, 最复杂的?
- 最近20条信息你是如何过滤的?
- 消息是一条一条地推送的, 你如何去做截断?
- 你从 MQ 接到了一条消息, ok, 这个消息有时间戳也没问题, 你拿到了这个数据之后, 你你怎么去截断呢? 另外19条消息在哪?
- 你刚才说把数据放到 Redis 里, 再用 MySQL 做持久化, 为什么要做数据的持久化, 直接用 Redis 不行吗?
- 你同时用了 MySQL 和 Redis, 会有啥问题吗? (数据不一致)
- 这样的话, 我直接用 MySQL 不就好了吗? 为啥要用 Redis, 有啥好处啊?
- 保证 MySQL 和 Redis 的数据一致性的方案有哪些, 了解过没?
- 比如现在 MQ 发了很多条一样的消息, 你怎么去做幂等? (uid 去重 + 数据库唯一键兜底)
- 前端轮播你为什么要采用 WebSocket 的这种形式呢?
- 还有什么其他方案能实现轮播功能? (轮询)
- 你用 WebSocket 会引发什么其他问题不? (长连接的稳定性问题)
- [手撕]: 一道两张表的 SQL.
- 讲一下你为啥这么写, 你的思路是什么?
- 这个场景, 如果要给两张表去加索引的话, 你会怎么设计?
- 反问:
- 组内业务:
- 中国区的广告业务 (抖音的开屏广告 ; 刷抖音时候看到的广告 ; B端用户的 投广 -> 下单 -> 履约 -> 支付 -> 退款 -> 结算 -> 发票 等等).
- 业务的 Agent 相关能力建设, 为业务发展赋能.
- 公司对校招生的培养:
- 全栈能力, 端到端的能力 (可能会取代掉一部分 PM 的角色). "未来的话, 希望新同学和老同学都能够在AI的加持下, 并不局限于前端后端这么一个研发的角色, 而是能够作为一个一整块业务的端到端领域交付的这么一个业务专家."
- 对个人的建议:
- 不要丢掉老手艺和一些底层基础支持, 去支撑我们的一个判断和决策能力 (AI 可以帮我们干活, 但是没办法帮我们做决策).
面试体验和总结: 面试官全程冷脸, 感觉是工作压力比较大 (宇宙厂名不虚传), 在我讲实习相关内容的时候面试官时不时皱眉, 应该是我讲得不是很清楚, 看来实习项目下来还得再复习[牛泪][牛泪]
本篇目录
当前问题0144
- 01
自我介绍
- 02
最近一段实习做的这套 ai-pipeline 的主要目的是什么?
- 03
在这套 AI pipeline 中, 你如何保证它的每一个节点执行效果的准确性?
- 04
让 AI 自己发挥的话, 它肯定是会有一些幻觉或者是偏移, 你是怎么解决这些问题的?
- 05
你是怎么想到这套方案的?
- 06
有参考过什么项目或者文章吗?
- 07
这套 pipeline 的最终的一个效果怎么评估啊?
- 08
piepline 中的 generate 步骤, 就是在代码生成这个环节, 你怎么去保证这个代码的生成质量是比较高的呢?
- 09
ai-pipeline 对业务知识的理解怎么去保证准确?
- 10
在这个项目当中, 你觉得你遇到过的最大的问题是什么?
- 11
数据漏斗是怎么做的?
- 12
数据存储介质用得是什么?
- 13
筛选过滤方案是什么?
- 14
第二段实习中, 针对营销场景模块, 你对其中的大规模数据的SQL是如何处理优化的?
- 15
存储介质为什么用 Doris, 不用 Hive / ES ?
- 16
Doris 的优势在哪里?
- 17
如何做的技术选型?
- 18
你觉得这段实习中间, 对你来说最大的挑战是什么?
- 19
从脚本出数改为自动化流程出数, 带来的价值是什么?
- 20
为什么要去做这样一个改造?
- 21
像你这样一个大数据量哈, 你说了几亿几十亿的, 你觉得这个大数据量对对你来说有什么挑战, 你处理过程中遇到过什么问题吗?
- 22
如何解决的?
- 23
除了在 SQL 手段上, 有没有想过通过其他的技术手段来解决这个出数任务的效率问题呢?
- 24
当时是怎么想到去给 Doris 加倒排索引的呢?
- 25
你是怎么分析, 怎么排查瓶颈的?
- 26
当时你整个完整的思考过程是怎样的?
- 27
有没有考虑过不用倒排索引, 选择其他的方案去做一个优化?
- 28
比如说现在有一个场景, 也是对几十亿的数据进行筛选和过滤, 但是我家里索引之后效果还是不好, 这个时候你会去怎么优化这个链路?
- 29
[场景题]: 一个医院里, 大家都排队买药取药, 屏幕上都有那个患者名字的轮播, 然后呢, 我现在有一个 PC 页面也想要做类似的这种轮播通知, 每个用户看到自己的一些轮播信息 (信息是用户维度的, 不同用户的轮播信息是隔离的). 然后后端通过一个实时数仓的 MQ 消息, 每秒钟就会往这个 MQ 里推送消息, 后端消费这个消息, 然后给到前端, 前端给它做一个轮播, 展示最近20条. 就这样一个功能, 让你去设计实现, 你会怎么考虑?
- 30
在你这套方案中, 你觉得哪块是成本最高的, 最复杂的?
- 31
最近20条信息你是如何过滤的?
- 32
消息是一条一条地推送的, 你如何去做截断?
- 33
你从 MQ 接到了一条消息, ok, 这个消息有时间戳也没问题, 你拿到了这个数据之后, 你你怎么去截断呢?
- 34
另外19条消息在哪?
- 35
你刚才说把数据放到 Redis 里, 再用 MySQL 做持久化, 为什么要做数据的持久化, 直接用 Redis 不行吗?
- 36
你同时用了 MySQL 和 Redis, 会有啥问题吗?
- 37
这样的话, 我直接用 MySQL 不就好了吗?
- 38
为啥要用 Redis, 有啥好处啊?
- 39
保证 MySQL 和 Redis 的数据一致性的方案有哪些, 了解过没?
- 40
比如现在 MQ 发了很多条一样的消息, 你怎么去做幂等?
- 41
前端轮播你为什么要采用 WebSocket 的这种形式呢?
- 42
还有什么其他方案能实现轮播功能?
- 43
你用 WebSocket 会引发什么其他问题不?
- 44
这个场景, 如果要给两张表去加索引的话, 你会怎么设计?
