丿南烟丶 level
获赞
362
粉丝
119
关注
83
看过 TA
3771
东南大学
2027
C++
IP属地:江苏
赚够钱就跑
私信
关注
03-31 21:47
东南大学 C++
彭于晏前来求offe...:吓晕了
0 点赞 评论 收藏
分享
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以后哪个方向都是危机了,还是争取拿个好背书吧
0 点赞 评论 收藏
分享
03-30 20:14
东南大学 C++
一、项目 / 求职方向1.先介绍一下自己。2.你觉得这段实习经历,你的成长有哪些方面?3.你为什么考虑投后台开发这个岗?4.你能大概介绍一下你了解的后台开发相关内容吗?5.结合你之前的实习项目,你接触到的后端相关内容有哪些?6.你端上的 SQL 用的是什么数据库?7.设备特征缓存优化这一块,也是端上做的吗?8.除了这段实习,你还有哪些后端相关经验?9.你对后端开发是怎么理解的?二、高并发 / 网络编程 / epoll / 协程10.高并发你怎么理解?11.评估高并发有什么指标吗?12.你怎么判断一个系统是不是到了高并发场景?13.你怎么判断系统已经到瓶颈了?14.高并发场景下,一般什么资源会先被打满?15.如果不考虑外部 IO,只看服务器内部处理,怎么判断它已经满了?16.纯高并发网络框架场景下,一般是 CPU 先满还是内存先满?为什么?17.你写过 epoll,也了解过 Go 的协程,你觉得它们在设计思路上有什么区别?18.你觉得 epoll 和协程哪个更好?为什么?19.如果 epoll 已经很好了,为什么后来还会出现协程这种设计?三、基础算法 / 排序20.排序算法介绍一下。21.堆排序适合解决什么样的问题?22.堆里取最大值或最小值的复杂度是多少?23.快速排序的时间复杂度是多少?24.快速排序最坏情况是什么复杂度?25.什么情况下快速排序会退化到最坏情况?26.有什么优化措施可以减少快速排序退化的情况?四、操作系统27.进程和线程有什么区别?28.进程和线程切换,哪个更快?为什么?29.进程切换主要慢在哪里?30.进程的寻址空间大概有多大?31.32 位系统和 64 位系统的寻址空间一样吗?32.你怎么理解线性地址、逻辑地址和物理地址?五、数据库33.MySQL 的索引数据结构有哪些?34.为什么 MySQL 索引常用 B+ 树,而不是红黑树?35.索引为什么要考虑磁盘存储特性?六、网络 / HTTPS36.HTTP 和 HTTPS 有什么区别?37.HTTPS 是怎么解决信任源问题的?38.如果证书不是权威机构签发的,会有什么问题?39.浏览器为什么能识别哪些证书机构是可信的?七、AI / Agent / 大模型基础40.你比较擅长哪些技术方向?41.Agent 的设计模式有哪些?42.ReAct 是一种什么思想?为什么会有这种模式?43.为什么模型会出错或者产生幻觉?44.如果模型缺少信息,它直接回答“缺少信息”就可以了,为什么还要继续设计 ReAct 这类模式?45.现在这些主流大模型,用的是解码器还是编码器?46.GPT 和 BERT 的区别你知道吗?47.既然你对 AI 开发感兴趣,那你怎么理解模型的能力边界?八、编程题48.有 N 个人围成一圈,从第 S 个人开始报数,报到 M 的人出列,然后从下一个人继续,直到最后剩下一个人,输出一下出列顺序。
0 点赞 评论 收藏
分享
03-30 20:12
已编辑
东南大学 C++
一、自我介绍 / 基本情况 / 求职意向1.你先做一下简单的自我介绍。2.你在字节实习了多久?3.你怎么进去的?是自己找的,还是同学内推之类的?4.你在字节主要做了什么?5.第一个点是缓存特征优化,这块做了多久?6.这是你一个人做的,还是有人带着你做的?7.代码大部分都是你写的吗?8.你平时主要用什么开发语言?二、C++ 智能指针 / 内存管理10.你们用的什么智能指针?是哪一种?11.你说的这个智能指针,实现原理是什么?12.shared_ptr 用过吗?13.shared_ptr 的实现原理是什么?14.它和你刚刚说的unique_ptr指针有什么区别?15.shared_ptr 是线程安全的吗?16.多线程去用它或者改它呢?17.你怎么证明没有内存泄漏?三、concurrent hashmap / 容器 / 并发结构18.你简历里写的 concurrent hashmap,是 STL 里面的吗?19.它怎么做的?20.它的锁是什么?21.这个 hashmap 是整张表一把锁吗?四、实习项目:缓存优化 / 指标 / SQL 优化22.你这里写 Android 优化 4.8%,这个是什么情况下的?23.你们这个模块本身优化了多少?24.这个优化结果你们取的是平均值,还是 P99?25.你们是怎么测的?测了多少台设备?26.你第二个点写的是 SQL 重复优化,这个我没太看明白。你讲一下。27.你们这个不是用缓存来优化,而是在实现方式上优化,是吗?28.你们缓存的话,怎么控制过期时间?29.如果两次查询一模一样,命中了缓存,就不再到底层查了,是吗?五、右值引用 / 移动语义 / 构造函数class Stringpublic:String(const String &p) {}String(String &&p){}private:char *s;int size;}32.你对右值引用了解吗?33.右值引用的原理是什么?34.它是在编译期还是运行时生效?35.那你把拷贝构造和移动构造写一下吧。36.String(const String &p) 应该怎么写?37.String(String &&p) 应该怎么写?38.拷贝构造和移动构造的区别是什么?39.为什么移动构造里要把源对象置空?40.这里如果只做浅拷贝,会有什么问题?41.这个类需不需要析构函数?为什么?42.如果有析构函数,这个类还应不应该补赋值运算符重载?六、编程题:三个有序数组合并43.有三个已经排好序的数组,现在要把它们合成一个有序数组。44.除了结果本身,额外空间复杂度要求 O(1),你怎么做?45.你这个方案(三指针)的时间复杂度是多少?46.如果三个数组长度分别是 m、n、k,时间复杂度怎么表示?47.如果三个数组长度都记作 N,那复杂度是多少?48.如果我把约束去掉,不限制你额外空间,要求时间尽量快,你会怎么做?49.你为什么会想到优先队列?50.重新放到堆里为什么不一定更快?51.如果我再告诉你,这些 int 数值的取值范围是固定的,你有没有更快一点的方法?52.图里写的 mergeAll(const vector<vector<int>>& inputs) 这种两两合并思路,整体复杂度是多少?七、估算题60.假设上海每年出生人口大概 16 万,你估一下上海大概有多少所小学。
0 点赞 评论 收藏
分享
03-30 20:12
已编辑
东南大学 C++
1.你做一下自我介绍。2.你的规划是什么?3.你说的是长期规划,那技术方向上有什么倾向?4.你有考研的计划吗?5.你是打算本科毕业直接工作吗?6.你们现在保研结果出来了吗?7.你现在有没有其他实习 offer?8.字节那边的实习没有继续做了吗?9.你现在不能再回原来的组实习了吗?10.如果原来实习的组给你 offer,你会去吗?11.你做的 C++ 客户端是 PC 端的吗?12.你们做的是一个 C++ SDK,对接 iOS、安卓和鸿蒙,是吗?题目一 / C++ 并发相关15.这段代码有什么问题?16.为什么这里会出现多线程问题?17.除了加锁,还有什么解决方法?18.你先解释一下 static 作用在变量上、作用在函数上有什么区别。19.如果这个函数是类里的普通成员函数,里面定义了一个 static 变量,再对它做 push_back,会有什么问题?20.为什么这个 static 变量不会每次调用都重新初始化?21.如果你用锁来解决,这个锁应该声明在哪里?22.如果这个类实例化出两个对象 A 和 B,它们都会调这个函数,那是不是也会操作同一个数组?23.那这里是不是应该用静态锁,或者类似的全局共享锁?24.除了用锁之外,还有没有别的解决办法?25.你提到原子变量,那你怎么理解原子变量?26.如果代码可以随便改,为什么不能把 static 去掉?27.把 static 去掉以后,能不能解决并发问题?28.如果把 static 去掉,会引入什么额外问题?C++ / 容器 / 数据结构29.你简历里提到用了 concurrent hashmap,可以介绍一下吗?30.哈希表的实现原理你知道吗?31.哈希表是有序的还是无序的?32.如果要把它做成“按插入顺序有序”,你会怎么做?33.标准库里的 std::map 底层实现原理你了解吗?实习项目追问34.你介绍一下你说的这个三档 TTL 和分层缓存框架。35.这个 key 是怎么设计的?36.value 里存的是什么?37.这个缓存是怎么更新的?怎么触发更新?38.这样的话使用方如果拿到的是过期值,是不是要多等一次回源时间?39.你们的缓存命中率大概是多少?40.你拿到这个 key 之后,怎么知道去访问哪一档缓存?41.这个分档是动态判断的,还是你们手动维护配置文件?题目二 / 设计与代码实现操作系统52.你对虚拟内存有什么了解?53.虚拟内存是怎么实现的?54.系统怎么找到被换到磁盘上的那块数据?55.这个地址映射是怎么设计的?56.这个映射关系的数据结构叫什么名字?SQL 优化 / 实习项目57.你之前做过 SQL 优化,是吧?58.解释一下什么是 SQL 签名化。59.这个服务是在后端部署的服务查数据库,还是端上的 SDK 查本地数据库?60.你查端上的数据库时,每次都要建立连接吗?61.你说多个 SQL 合并之后,只查最小时间戳,是什么意思?62.你们做这个优化的前提,是多个请求同时发过来,对吧?63.你们会去缓存这些请求吗?64.这个缓存多久?题目一二详见图片,正常面试一直在追问,然后不给反馈,全程冷脸。当然也认识到很多知识盲区了。很多不重要的问题删了,大多数是问实习。
0 点赞 评论 收藏
分享
03-27 11:20
东南大学 C++
暑期面了腾子五次后台开发岗,不出意外是全都挂了,主要原因我总结下来大概是:1. 首先当然是自己学的背的还是不够多不够深,没有某一场面试能跟说答的上八九不离十,自己还是有很多知识盲区,感觉还是要先沉淀一下。2. 对于后台开发来说大多数是以golang和java为主要开发语言,虽然也面到过cpp但也是属于音视频领域了。自己做的cpp客户端实习和偏向于AI应用的项目整体和传统后端偏差可能比较大(仔细想了想简历匹配度上确实不太好,之前把时间放在学ai上就没有重新弄传统后端框架的项目),这我感觉也是很大的问题3. 环境问题,感觉暑期前期时间点的横向竞争比较大(全是大佬争offer),对比其他面试者如果有后端实习和对应的后端项目确实难以竞争。现在打算做个抉择(也希望佬给点建议):1. 暂时先将投递岗位转到移动客户端,虽然知道客户端前景没有后端好,但鉴于现在的大环境,转到后端也不能说无忧无虑(没有拉踩,之前相较于后端客户端就是💩),还是认为要向AI赋能方向上靠。2. 在这段时间将原本的项目重构出golang后端框架,加入主流技术栈,背八股,然后继续投后端后台岗位。自己是想同步进行换岗位面试和重构项目(利用ai整体速度还是很快的,主要强化自己的理解和八股会花很多时间),等雏形出来了就换简历上去(当然如果期间oc了可能也就考虑直接接了,有鹅选鹅,不想想那么多了,我做这行也就是想赚个年轻钱,能干几年十几年吧),还要准备学AI应用的进阶知识,还是有很多知识盲区(面试中有些问题会问的更深)自己的回顾和反思大概是这样,发这里记录和分享一下。
芒果椰冰:感觉三月份超级难。我也0-offer
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务