qq浏览器客户端一面凉经

因为项目写得很简陋,所以以为会多问八股,结果还是拷打项目为主
两个项目,一个电商平台,一个上学期用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加上客户端的原因,问得比较简单,但还是没答好就是了。
全部评论
咋就凉了啊,为啥
点赞 回复 分享
发布于 03-26 23:39 北京
感觉问的挺多的啊
点赞 回复 分享
发布于 03-25 23:26 北京
会捞你的
点赞 回复 分享
发布于 03-25 12:51 河北
佬我马上要面这个部门的二面 我一面答得也不怎么样但是给我捞上来复试了 感觉二面会很压力
点赞 回复 分享
发布于 03-25 12:49 河北

相关推荐

03-30 20:53
东南大学 C++
一、自我介绍 / 岗位匹配 / 方向选择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 结果缓存 / 事件驱动失效 / TTL23.你说的特征 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以后哪个方向都是危机了,还是争取拿个好背书吧
点赞 评论 收藏
分享
评论
点赞
3
分享

创作者周榜

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