字节data后端一二面经

本来投的客户端,简历被刷了,被后端捡起来,没有笔试。一二面连着来的。
一面:
先谈了下项目,这是我秋招来第一次被问到实习具体细节的,别的公司可能没有相关业务,都不会问,捞我的部门好像在做相关的业务,所以问得比较细,可能是这样才捞我的吧。
项目聊得不多,5分钟左右。
然后开始问基础。
c++:
violate关键字的作用,我说不会,所以换了一个static。我就说了静态成员,静态方法,静态变量 等等。然后,难题就来了,问你,如果cpp文件链接了两个库,两个库都含有static int a这个变量,这两个变量会冲突吗?我说不冲突,他问,那如果我想两个库共享这个静态变量呢?这就触及到我的知识盲区了,没答出来。
开始写代码。给你一个字符串a,字符串b, 字符串c,问你,c是不是由a和b交叉形成的?例如,a = "abc",b = "123",c = "a1b2c3",这样叫交叉形成,即a和b的内部顺序不变。
我写了个dfs算法,大概花了20分钟,他问,这个时间复杂度多少,我答错了,应该是2的(max(m,n))次方?
然后一面就结束了。等了20分钟接着二面。
二面:(前方算法课预警!!!)
也是问了一下项目,比较关注的是项目细节,大概讲了10分钟。开始做题:两个有序数组的交集。
我一看,这个我做过啊,洋洋洒洒地写了个哈希+遍历的,他问,你这算法复杂度多少?O(m+n);
他问,怎么优化?我又想了一个,双指针,分别遍历,比较小的指针+1,相同则放入结果集中;但是又问,你这算法复杂度多少?我答错了,答案还是(m+n).
于是,问题又来了,怎么优化?我想了一下,有序,那就遍历a,每个去b中二分查找,但是时间复杂度mlog(n)不一定比(m+n)小啊,怂怂的,不敢说。他顿了顿,这思路还可以,继续,还能优化吗?
还能优化吗?想不出来了啊,空气凝固了5分钟。

他看我想不出来了,提示了下,你在数组B里可以用指针跳过一些不要的数字,你在A里再想想看?
还是想不出来,又沉默了五分钟。他又提示了一下,给了个例子,A={1,2,6,7,23,40,50},B= {1,2,23,50},你A里面的6,7还有必要去B里二分查找吗?
哦!是哦!在B里查找到的数tmp,可以再去A那里二分查找,缩小A的遍历范围,就是两个数组之间用二分查找反复横挑!面试官:不错,就是这样,来实现一下吧?
光是编码也有点晕乎乎的,错了好几处,让面试官提示错了的才写好。大致是这样:
首先实现一个函数upperbound(array,int k),返回array中第一个大于等于k的下标。
开始遍历A:
index = 0;
while(index<0){
int first = upperbound(B,A[index]);
if(A[findex] == B[first]){
把值加入结果集中。
index = upperbound( A, B[first+1]);//如果相等的话,如A={2, 23,27},B = {2,27},查找2的时候,B的下一个数27应该成为A的下一个起始地点,之间的23不应该再遍历了。
}else{
index = upperbound( A, max(A[index],B[first]);//如果不相等的话,如A={23,25,27},B = {22,25,28},查找23的时候,A为23,B为25,下一个遍历的数应该是max(23,25)=25。
}
返回结果集。结束。面试官又问了,这个算法的复杂度多少?我是真的晕了,没想出来,他说:今天就到这里吧。大伙来分析分析复杂度应该是多少?
总结:与其说是面试,不如是面试官给我上了一节算法课,就一个简单的问题,两个数组的交集,能问30分钟,我有20分钟属于茫然状态,啥?还能再优化?啥?还能这样优化?啥?复杂度应该是多少,不知道啊?啥?就结束了?
面试官多番提示,我还是要缓好久才能明白他在说什么,这就是我跟字节大佬的差距吗。想不凉都难。
PS:答成这个鬼样,后续还有可能被其他部门捞吗?该不会面试官的评语就是“榆木脑袋,不可雕也”,我还能投其他岗位吗,流下了菜的泪水。


#字节跳动##面经##校招##C++工程师#
全部评论
楼主好有意思哈哈哈哈
2 回复 分享
发布于 2020-09-07 22:09
害 说不定还会有人看呢 二面挂可能会被捞起来的~
1 回复 分享
发布于 2020-09-08 00:34
你的一面第一题是leetcode上的hard 我的天
点赞 回复 分享
发布于 2020-10-09 21:04
所以两个库共享static全局变量咋整啊
点赞 回复 分享
发布于 2020-09-17 00:47
楼主几号投的
点赞 回复 分享
发布于 2020-09-08 09:59
我咋感觉这个东西最坏复杂度还是nlogn
点赞 回复 分享
发布于 2020-09-07 22:20
楼主是科班的么
点赞 回复 分享
发布于 2020-09-07 22:17

相关推荐

04-15 21:02
腾讯_HR
腾讯-混元大模型面经-华5硕-主页内tui❗❗腾讯26届春招提前批/26届暑期实习生/日常实习生/25届补录招聘启动&nbsp;|&nbsp;所有专业类型均有岗位🏅中国民营企业500强排行榜第6位【在招岗位】1.&nbsp;技术类:软件开发、技术运营、安全技术、测试与质量管理、技术研究、解决方案与服务、硬件开发2.&nbsp;产品类:游戏产品、内容制作、通用产品、金融产品、项目管理3.&nbsp;设计类:游戏美术、平面交互4.&nbsp;市场类:战略投资、市场营销、公共关系、销售拓展5.&nbsp;职能类:财经分析、人力资源、法律与公共政策、行政支持【招聘范围】应届生(24届、25届可投)、实习生(在校生可投)、青云计划(23届/24届/25届博士、24届/25届硕士)【网申链接】https://join.qq.com/resume.html?k=ANQI6RfQ3rhPS2dpyIkeSw腾讯-混元大模型面经-华5硕部门与岗位:TEG&nbsp;-&nbsp;混元大模型团队&nbsp;-&nbsp;大模型对齐一面自我介绍,过实习,讲论文,论文过的比较细,有说的笼统的地方面试官会实时进行询问交流了解哪些大模型,简要挑一两个介绍一下,当时说了&nbsp;Qwen&nbsp;和&nbsp;DeepSeek,然后面试官又问了这两个有什么区别接着上一问,为什么大家都开始探索&nbsp;MoE&nbsp;架构,MoE&nbsp;相比&nbsp;Dense&nbsp;有什么好处在之前实习的时候用&nbsp;LoRA&nbsp;微调过&nbsp;Qwen,于是问了有没有全量微调过,有没有对比过两者的性能表现讲一下大模型训练和推理的流程,SFT&nbsp;和&nbsp;RLHF&nbsp;的作用分别是什么在&nbsp;RLHF&nbsp;中,目前主流的强化学习算法有哪几个,写一下损失函数的表达式代码:22.&nbsp;括号生成代码:多头自注意力一面问的八股还是比较多的,问的也比较细,而且还写了两道代码题,整个面试花的时间也比较多,大概一个半小时左右二面自我介绍,过实习和论文,面试官会一起进行探讨,包括工作的动机、贡献和结果,也会提一些问题和建议之前实习用&nbsp;DeepSpeed&nbsp;微调过&nbsp;Qwen2-72B,于是面试官问了&nbsp;ZeRO-1,ZeRO-2,ZeRO-3&nbsp;三个模式的区别当时你用&nbsp;DeepSpeed&nbsp;ZeRO-3&nbsp;来微调&nbsp;Qwen2-72B,每一张卡占用的显存大概是多少,估算一下为什么是占这么多的显存除了&nbsp;DeepSpeed,还用过其他的什么优化方法吗我看你也用到了&nbsp;LoRA,知道&nbsp;LoRA&nbsp;的原理吗,A&nbsp;和&nbsp;B&nbsp;两个矩阵怎么初始化,有了解过其他的初始化方法吗对&nbsp;RLHF&nbsp;了解的多吗代码:3.&nbsp;无重复字符的最长子串二面更多的是结合具体的工作来问的,从用到的东西来引出问题,问的也比较灵活。当然因为部门主要是做对齐的,所以也大概聊了聊&nbsp;RLHF三面自我介绍,挑一个觉得做的比较好的论文和实习讲一下,面试官问的比较详细,为什么选现在这种方案,为什么&nbsp;work,其他方案有考虑吗在微调&nbsp;Qwen&nbsp;的时候,数据是怎么构造的,有用到什么数据清洗方法吗,数据配比是怎么做的讲一下&nbsp;RLHF&nbsp;的流程,之前有用&nbsp;RLHF&nbsp;做过模型对齐吗在做对齐的时候,为什么&nbsp;SFT&nbsp;之后还要做&nbsp;RLHF,只用&nbsp;SFT&nbsp;可以吗知道哪些强化学习算法,除了&nbsp;PPO&nbsp;和&nbsp;DPO&nbsp;这些呢,DeepSeek&nbsp;用的&nbsp;GRPO&nbsp;相比于&nbsp;GPT&nbsp;的&nbsp;PPO&nbsp;做了哪些改进开放题:对目前大模型的发展有什么看法代码:零钱的两个题&nbsp;322.&nbsp;零钱兑换518.&nbsp;零钱兑换&nbsp;II三面面试官更聚焦于对齐这一块的内容,考的比较深。由于之前没有接触过强化学习,答得还是比较吃力的,不过面试官还挺好的,会一起讨论来做引导四面自我介绍,过论文和实习,问的也比较细,这里能明显的感受出来面试官的视角更系统,会把这些工作串起来问我看你简历上没写&nbsp;RLHF,平常有用过&nbsp;RLHF&nbsp;吗推导一下神经网络反向传播的过程一道排列组合的概率题开放题:你觉得大模型目前还有哪些可以改进的点四面整体更看重思维和基础,没有考察什么八股总结一共四轮技术面,整体来说强度比较大,对于大模型八股的考察比较细,对大模型的理解问的也比较深刻,包括一些数理逻辑基础,考察的比较全面
腾讯
|
实习
|
超多精选岗位
点赞 评论 收藏
分享
字节一面:1.面试官自我介绍+小组业务介绍:C/C++,GPU,异构计算,从上层的编译到下层异步执行2.机器学习有了解过吗...&nbsp;&nbsp;学校选修课...3.自我介绍4.实习项目介绍5.项目里为什么用dpdk?&nbsp;为什么要搞用户态协议栈,不搞原来内核的那一套?内核那一套可能有一些固定的额外的开销...&nbsp;kernel&nbsp;bypass&nbsp;&nbsp;绕过很多开销&nbsp;零拷贝...6.有没有深入研究过dpdk?&nbsp;深度分析?不太了解,vpp用的多,注册函数指针,成员到主结构体,初始化...7.介绍一下项目2&nbsp;??8.讲一下外碎片场景?9.项目里怎么合并内存的?10.照你这么说,一直遍历,O(N),效率是不是有点低?&nbsp;&nbsp;怎么优化?合并机制类似于伙伴系统,有效减少外部碎片,确保大块内存请求的连续性。联系到工程上....&nbsp;&nbsp;&nbsp;11.对于解耦的意义?&nbsp;&nbsp;12.加什么锁?&nbsp;&nbsp;&nbsp;自旋锁会不会?13.工作线程&nbsp;vs&nbsp;主线程?&nbsp;&nbsp;&nbsp;锁竞争?&nbsp;&nbsp;桶锁粒度?&nbsp;&nbsp;&nbsp;12.mmap&nbsp;&nbsp;vs&nbsp;brk&nbsp;?13.进程地址空间?&nbsp;独立性?&nbsp;页表?&nbsp;写时拷贝?&nbsp;&nbsp;(面试官:嗯嗯,对,这个这个这个不错,这个能回答到这个点还是比较少???)14.mm_sturct讲一下?&nbsp;&nbsp;进程独立拷贝?&nbsp;&nbsp;区间划分?&nbsp;&nbsp;管理?&nbsp;&nbsp;空间布局,自上而下?15.&nbsp;mmap会映射到哪个区域?&nbsp;&nbsp;文件?物理内存?堆区?16.你对Linux系统的内存管理这块了解的咋样?17.内存分配算法?&nbsp;&nbsp;伙伴系统?&nbsp;&nbsp;内存交换?18.unordered_map&nbsp;vs&nbsp;map?&nbsp;&nbsp;底层?&nbsp;&nbsp;优缺点?19.vector底层?&nbsp;&nbsp;异地扩容?&nbsp;&nbsp;底层指针调整?&nbsp;&nbsp;元素深拷贝?20.智能指针?&nbsp;&nbsp;unique&nbsp;vs&nbsp;shared(具体的场景有什么,如何具体选择)&nbsp;?&nbsp;底层?&nbsp;&nbsp;作用域?21.&nbsp;RAII?&nbsp;&nbsp;&nbsp;除了智能指针还有哪里用到RAII&nbsp;??22.左值右值引用?&nbsp;&nbsp;&nbsp;传递unique_ptr?&nbsp;&nbsp;&nbsp;std::move??&nbsp;&nbsp;底层?&nbsp;static_cast?23.cpp编译链接流程??24.类模板?&nbsp;&nbsp;生成模板类?&nbsp;&nbsp;&nbsp;在编译的哪个阶段??&lt;br&gt;25.讲一下生成的.o文件的格式?&nbsp;&nbsp;ELF?&nbsp;&nbsp;忘了...26.和.so&nbsp;.a的联系?&nbsp;&nbsp;联系实习动静态库?&lt;br&gt;27.动态库的加载?&nbsp;&nbsp;磁盘到内存?&nbsp;&nbsp;如何链接过去的?&nbsp;&nbsp;入口?28.符号表那一套...&nbsp;&nbsp;大哥你别问了....&lt;br&gt;29.聊一聊&nbsp;&nbsp;&nbsp;&amp;amp;lt;&amp;amp;lt;程序员的自我修养...&amp;amp;gt;&amp;amp;gt;30.Python会吗?&nbsp;&nbsp;脚本?31.手撕&nbsp;链表题&nbsp;&nbsp;10min&nbsp;调试过你咋不用智能指针??&nbsp;&nbsp;&nbsp;写算法题习惯了....32.反问:1.面试表现咋样,哪里可以提升?&nbsp;平时咋学习?智能指针和新特性,底层编译链接,再复习复习.深度比较重要,找一个方向深入一下吧...2.字节的项目管理流程,从开始到结束,流程?车轱辘话....这个流程的话,它这个这个其实没有这种统一的标准,因为它像自觉它是一个比较大的一个公司嘛,对吧?然后各种各样的这种业务,各种各样的这种项目,他可能。每个项目它都是不太一样的对吧?他可能有的可能希望你。给自己做一些很创新的事情,让你自己一个人去深入的研究某1块儿,然后去独立的去。完成整个一个项目。但是有的项目它可能就是希望你去在他规划的这个大项目里边去让你做某1块事情,然后更加讲究这种分工协作。&lt;br&gt;&lt;br&gt;
点赞 评论 收藏
分享
评论
2
36
分享

创作者周榜

更多
牛客网
牛客企业服务