字节C++日常实习面经

字节后端存储,base杭州

8.18 19:30 字节一面

1.拷打项目6.s081

  • 问xv6的物理内存如何分配的(全局的空闲链表,说了使用vmalloc分配物理内存,然后如果是进程使用系统调用申请的会映射到虚拟地址空间)
  • 物理内粗的惰性分配,cow,以及惰性分配的问题(频繁触发缺页异常陷入内核态开销很大) 补:惰性分配的优化方法:预取,根据进程访问局部性预取相邻的多个页,文件映射时,linux默认readahead为128KB
  • 定时器回调是怎么实现的(PCB打标记,保存回调函数的函数指针,trapframe添加字段保存陷入时的通用寄存器和pc,然后在usertrap中把pc送到回调函数的地址上)
  • 配置环境的时候申请多大物理内存(瞎说的128M,蒙对了),虚拟地址寻址空间有多大(3 * 9 + 12位),有没有实现磁盘的交换分区(没有)

2.拷打项目cs144

  • 问tcp连接时候的状态机怎么实现的,快重传怎么实现的,状态机各种情况下的转换怎么测试的 (一个都没实现,汗流浃背,解释说主要是为了通过实验中给出的测试用例,有很奇怪的用例只有一个segment且SYN和FIN被同时置位)

3.ReSampler硬控面试官十分钟

  • 演示了一下,然后讲了讲为什么要做这个
  • 问对JUCE框架了解多少,我说了解一下,自己重新实现过audiothumbnail,以实现缩略图拖拽逻辑

4.做题

  • LeetCode 347.前 K 个高频元素
  • 没有复习到,没想起来用堆,写了一个用vector存储unordered_map中的pair再排序的算法,复杂度nlog(n)

5.反问

  • 组里做什么业务(分布式存储)
  • 组里用的语言和工具链(c++, go,工具用gnu那一套,都差不多)
  • 对我个人的建议(项目的细节可以思考的深一点,自己写一些测试用例)

8.20 14:00 字节二面

1.两个机器互相发数据包,期间触发了哪些中断

2.场景题:单台机器在10ms之内发送10G数据,网络条件严重拥塞,如何在协议层面做优化(完全不懂,反复确认了好几遍问题,然后假装思考了半天,终于鼓起勇气开始胡扯,说可以发一些探测报文来检测网络条件,如果全丢包了则退避,如果没丢包认为网络条件好开始发送)

3.手撕,出了一道没见过的题,一个vector里有顺序排列的数据(uint32_t),每两个数之间的差值不超过10000,如何设计一个新的存储结构,使得内存占用在原来的1/2以下,自己设计测试用例(说了思路,多个数一个组,用uint32_t记录每组的第一个数,uint16_t记录组间元素的差值,然后写。写好之后面试官让把每组的元素个数作为模板参数)

4.问如何看待加班(表示自己能接收加班且不反感)

5.最快什么时候入职(说9月中上旬)

6.反问

  • 组里重视实习生的培养吗

8.20 17:00 hr面

8.21 oc,收到offer

字节的流程非常快,4天速通。

其他同时沟通的公司有些一面还没开始

#c++##字节##字节实习#
全部评论
楼主大三或者研二吗
1 回复 分享
发布于 08-22 23:19 陕西

相关推荐

08-23 10:28
已编辑
北京交通大学 C++
有个哥们跟我说,他在拼多多干了三年,晚上十点之后基本没加过班。我当时就不信,互联网公司晚上十点走?你是在逗我吗?这家伙就笑,说你不信是吧,我给你看看我们的日常。早上想几点到就几点到,反正是弹性工作制。中午吃完饭能躺一个半小时,下午还有一个半小时的休息时间,晚上十点准时走人,公司还给报销打车费。我心想,这不会是在什么野鸡公司混日子吧?结果这货告诉我,他们组叫拼多多跨境基础平台,专门负责支撑全球业务的核心技术。什么概念?就是全球几亿用户,海量的交易数据,都要经过他们的系统。RPC中间件、存储、K8s、CI/CD、大模型,这些最硬核的技术全是他们在搞。我就更不理解了,这种核心业务不应该是最累的吗?怎么可能这么轻松?他跟我解释说,关键就在于技术驱动。别的公司遇到问题就堆人,他们这里是用最牛逼的架构去解决最复杂的问题。高并发?用技术手段优化。复杂架构?设计更合理的系统。极致高可用?提前预防而不是事后救火。这就是第一性原理啊兄弟,从根本上解决问题,而不是用战术上的勤奋掩盖战略上的懒惰。更让我震惊的是,他说他们组的离职率低得可怕。我问为什么,他说你想想,一个地方技术氛围好,待遇还行,谁特么愿意走啊?组里一堆三十多岁的技术大牛,这些人如果真的不爽,早就跳槽了。他还跟我说了个细节,让我特别感动。他们开发完全以数据指标和业务逻辑为准,没有那些乱七八糟的形式主义流程。作为一个校招生,你只要把事情做好,就能得到认可。不用拍马屁,不用搞人际关系,就是纯粹的技术导向。我突然想起乔布斯说过的话,伟大的产品来自于对细节的执着和对本质的追求。这个团队就是这样,他们不搞那些花里胡哨的东西,就是专注于把技术做到极致。package高不高我不知道具体数字,但是每年固定涨薪这一点就很说明问题了。现在这个环境,能保证涨薪的公司有几个?而且四餐全包,这细节也体现了公司对员工的重视。现在他们要2026届的校招生,要求其实挺实在的:本科以上学历,对计算机和互联网技术有兴趣,扎实的数据结构和算法能力。没有那些虚头巴脑的什么领导力、沟通能力、团队合作,就是硬核技术要求。我觉得这才是对的。技术这东西,要么你有天赋,要么你够努力,要么你运气好进了一个能让你成长的地方。其他的都是扯淡。你想想,现在这个市场环境下,能找到一个真正重视技术的地方有多难?大部分公司都在裁员,都在压缩成本,都在搞形式主义。而这个团队还在招人,还在投入核心技术,说明什么?说明他们是真的在做事情,不是在混日子。我觉得对于校招生来说,第一份工作选择什么样的环境,基本上决定了你未来几年的技术路径。在一个重视技术、氛围好、不搞内卷的地方,你才能真正专心把技术学好,把基础打扎实。有兴趣的话真的可以了解一下,现在好的机会确实不多了。别等毕业了才后悔没抓住机会。​​​​​​​​​​​​​​​​
ResourceUt...:开头就有个哥们跟我说,这是什么传销话术
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
08-22 20:29
已编辑
东北大学 Java
进面试间,就是一句命令“把你摄像头打开”,自我介绍,说一半就被打断了,让我别墨迹,直接讲过往经历15min实习我实习是个小厂,然后他就全程蔑视我,让我讲技术难点,听完了说:“这就是你认为的难点?”“我已经重复这个问题好几次了”“就这个?”“呵呵行吧”20min八股+场景实现一个线程都有哪几种方式?Runnable 和 Callable的区别,内部的实现原理上有什么不一样?A、 B、 C 三个线程同时启动,三个线程之间的执行顺序是先执行 A,再执行 B,再执行 C,怎么达到这个结果?countdownlatch和cyclicbarrier的区别,内部实现区别Redis里面有1 亿个key,里面有 10 万个 key 是以某个固定前缀开头的,如何能把它们找出来?数据库里面有 2000 万的数据,但是Redis 中只能存 20 万的数据,怎么保证 Redis 中的数据都是热点数据?String s = new String("abc"),创建了几个对象,都在哪静态代码块+继承+构造方法的输出顺序20min手撕1. sql,查询前一个月下单量最多的三天是哪三天2. 保证线程输出顺序算上暑期,大大小小面了几十场面试,这是唯一一次让我真的感到被蔑视、不被尊重的一次,全程被压力闷了,基本没有问题是让我完整答完的,答一半就打断我,我回答完就说“行吧行吧”,我思考的时候,跟我说“不会就说不会,别瞎说,别浪费时间”。手撕写出来了,没有任何反馈,不让我讲思路,问我“你觉得你写的对吗”“你觉得对那就下一道”“行吧行吧”“我知道,我看到了”TMD 恶心死我了 面试过程我挤都挤不出来笑容更新,二面过了
我的代码出BUG了:这种面试情况有可能是部门压力比较大,故意压力你测试你看看你能够正常应对,面试官写面评的时候应该会夸你。
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
评论
1
12
分享

创作者周榜

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