26.3.30 腾讯QQ浏览器客户端一面

#牛客AI配图神器#一、自我介绍 / 岗位匹配 / 方向选择
1.请做一下自我介绍。
2.你之前主要投的是后台岗位,为什么后来转向客户端?
3.你说自己和后台岗位匹配度不高,主要差在哪些方面?
4.你对移动客户端开发岗位是怎么理解的?
5.你为什么会考虑客户端 / SDK / AI 应用这些方向?

二、实习项目整体理解:端侧特征平台做什么
6.你在字节这段实习主要做了什么?
7.你们这个 SDK 的定位是什么?是跨端的吗?
8.你们这套东西更像 APM、数据采集,还是特征处理平台?
9.你对这套业务在线上产品里的完整流程理解到什么程度?
10.原始事件是怎么转成特征,并最终被业务方使用的?

三、本地数据库 / SQL / 特征查询链路
11.你们端上的数据是怎么存的?为什么用本地数据库?
12.这个数据库用的是什么?它是普通数据库,还是有针对性能做特殊设计?
13.你看到过哪些查询 / SQL 优化相关的内容?
14.你做的 SQL 复用优化,本质上是在优化什么问题?

四、设备特征缓存优化:设计、指标、并发问题
15.你讲一下设备特征缓存优化这个需求的背景和方案。
16.为什么会想到做 2s / 10s / 90s 这样的分层缓存?这些数值是怎么定的?
17.你这个缓存是怎么检查过期、怎么更新的?
18.这套缓存是你们第一次上线的吗?
19.最终的优化收益是怎么测出来的?30%、Android 4.8%、iOS 2.5% 分别代表什么?
20.你这里用到的智能指针和 concurrent hash map,线程安全和内存安全是怎么理解的?
21.如果缓存瞬间失效,又来了很多并发请求,会不会出现类似缓存击穿的问题?你怎么处理?
22.如果让你继续优化这套缓存,你觉得还能怎么做?

五、特征 SQL 结果缓存 / 事件驱动失效 / TTL
23.你说的特征 SQL 复用具体是怎么做的?
24.所谓 SQL 签名化是什么意思,为什么要这么做?
25.这个查询结果缓存的 key 和 value 分别是什么?
26.查询结果缓存怎么判断是否还能复用?
27.事件驱动失效机制具体是什么?为什么事件变了缓存就会失效?
28.你这里有两个 TTL:设备特征缓存 TTL 和特征查询缓存 TTL,它们分别是怎么设计的?
29.后期你提到不是直接删缓存,而是把最新结果插入缓存,这个思路具体是什么?
30.这里有没有用队列或者别的方式维护事件变更?

六、实习中的挑战 / 自动化测试 / MCP & Agent 生成用例
31.这段实习里你遇到过最大的挑战是什么?
32.这个需求是你一个人做的吗,还是 mentor 带着推进的?
33.你提到自动化测试用例,这块具体做了什么?
34.这些测试用例属于什么级别,是接口测试、单元测试,还是别的?
35.你做的 MCP / Agent 自动补全测试用例,大致思路是什么?
36.如果测试失败了,你们后续有没有自动分析、自动修复,还是主要人工处理?

七、AI Coding:工具使用、代码占比、主要问题
37.你现在 AI 用得多吗?平时会付费用哪些工具?
38.你在项目里手写代码和 AI 生成代码的比例大概是多少?
39.你主要用什么 AI coding 工具?
40.你觉得 AI 写代码最大的优点和最大的问题分别是什么?
41.如果 AI 生成的代码不符合你的预期,你一般怎么改进?

八、多 Agent 项目:设计、评估、稳定性
42.你这个 AI 投资分析系统整体是怎么设计的?
43.多 Agent 的分工和整体执行流程是什么?
44.你是一步步确认它生成的内容,还是一次性让它完成?
45.你怎么判断一个 Agent 是否满足你的预期?
46.Agent 和 Agent 之间通信的数据格式是谁定义的?
47.多次运行的时候,Agent 之间输出的格式和结果能保持一致吗?
48.如果模型不按你定义的格式输出,你会怎么优化?
49.你这里 prompt、rule、skill 分别用在什么地方?

九、上下文窗口 / 滑动窗口 / 记忆管理
50.你高并发 AI 聊天系统里提到的“滑动窗口”具体是怎么做的?
51.为什么要做这个滑动窗口?它解决了什么问题?
52.这个窗口的 size、起点和终点是怎么定的?
53.你怎么判断哪些上下文该保留,哪些该裁掉?
54.你这个设计是不是严格来说不算真正的滑动窗口?
55.如果让你重新设计这块上下文管理,你会怎么优化?

十、C++ / 网络库 / 并发框架
56.你这个高并发 AI 聊天系统里的网络库,是自己写的还是现成的?
57.你给我讲一下这个网络框架的整体设计。
58.epoll 在这里起到了什么作用?
59.你的线程池是怎么设计的,为什么要动态扩容 / 缩容?
60.你的网络库里,最核心的几个组件和职责分别是什么?

十一、弱网排查 / 网络链路 / 协议优化
61.如果用户反馈“很卡”,你怎么判断到底是不是弱网问题?
62.如果线上只能看到网络日志,你会重点看哪些指标来排查?
63.从输入网址到页面加载完成,整个网络链路里会经过哪些步骤?
64.DNS、TCP 建连、资源下载这些环节分别可能出什么问题?
65.如果 DNS 慢或者查不到,有什么优化思路?
66.如果服务端响应慢或者 TCP 层有问题,你会怎么排查?
67.对于弱网场景,有没有一些客户端侧的兜底优化手段?
68.你了解哪些协议层面的优化,比如多路复用、QUIC 之类的吗?

算法题:滑动窗口最大值

面了一个半小时,面试官整体比较和蔼,不追问。
转面客户端整体强度还是小了很多,不管了,现在能赚几年钱赚几年,有了AI以后哪个方向都是危机了,还是争取拿个好背书吧
全部评论

相关推荐

点赞 评论 收藏
分享
03-24 18:18
南京大学 Java
因为项目写得很简陋,所以以为会多问八股,结果还是拷打项目为主两个项目,一个电商平台,一个上学期用unity写的avg游戏。电商平台部分,因为自己简历写的负责登录鉴权,所以这部分问得比较多1. 你原来的架构具体是什么样的?分层和模块化是怎么设计的?2. 之前鉴权机制存在什么问题?新的 JWT + Spring Security 有什么优势?3. Spring Security + JWT 的用户认证流程是怎样的?鉴权部分的具体细节?4. JWT 的 token 刷新机制是什么样的?5. 只有一个 token 吗?6. 没有设计两个 token 吗(access token 和 refresh token)?一个短一点一个长一点?7. 支付的状态你是怎么设计的?8. 假如支付成功了,但因为网络原因给你返回了失败,后期你们怎么处理?9. 如果返回的错误码不是支付失败,而是网络请求失败或超时,但用户实际已支付成功,这种情况怎么处理?10. 数据分类、榜单这类场景,你是怎么设计缓存策略的?11. 如果用 Redis,中间加了一层缓存区,怎么保证缓存与数据库的一致性?12. 优惠券系统有没有像淘宝那样复杂的满减、红包等规则?13. 设计购买流程时有没有考虑过高并发情况?14. 有没有做过性能监控或优化?比如数据库查询时间等。15. 你了解过有哪些工具可以查询数据库的慢查询情况吗?16. 项目里会加很多日志吗?17. 除了 token 认证,有没有考虑过其他安全方面的保护(如 XSS、SQL 注入)?18. 你对 XSS 和 SQL 注入有了解吗?avg游戏项目1. 对话窗口的对话树是怎么存储的?2. 物品栏的拖拽等交互是怎么触发的?3. 游戏进度(如剧情进度、好感度)是怎么做持久化的?4. 持久化具体用的什么格式(JSON 还是自定义二进制)?5. 图片、音频等资源是怎么管理的?6. Unity 中的 async/await 和协程有什么区别?八股部分1. 网络通讯方面有用到 TCP 和 UDP 吗?它们的区别是什么?你主要用哪个?2. TCP 的拥塞控制有哪些方法?3. HTTP 的端点续传原理是什么?4. 你主要用 Java 还是 C++?5. C++ 的内存管理是什么样的?6. RAII 最有代表的 STL 容器是哪些?如果不用 new/delete,你会用什么写法避免内存泄漏?7. 智能指针用过吗?讲一讲它们的特点。8. 基类的析构函数为什么需要是虚函数?9. `vector` 的 `emplace_back` 和 `push_back` 有什么区别?手撕部分1. 一个加强版的二分查找,要求找到 target 的最小 index 和最大 index。项目还是没准备好,面试官人很不错,可能因为学历是9加上客户端的原因,问得比较简单,但还是没答好就是了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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