字节跳动教育客户端C++开发 一二三面经

春招投了了字节跳动教育客户端C++开发,笔试是3月7日,原本以为挂了,结果17号发通知说让我20号面试。
20号今天下午从两点开始完成了一二三面。
一面:
面试官是个很年轻的小哥哥
1.重载和重写
2.指针和引用的区别
3.#define 和 const 区别
4.结构体字节对齐
5.C++内存分配模型
6.线程和进程的区别 线程、进程的通信 进程同步的方式
7. 用户态 内核态区别,怎么样从用户态到内核态,举例说明中断的例子
8.udp tcp协议 拥塞机制 流量控制  计网七层模型 怎么样让tcp连接过程中效率高一些
9.网址中输入url会发生什么
10.http https状态码 是对称加密吗?
11.dns  被劫持了怎么办
12.读写锁和互斥锁
手撕  某一计数器缺9,就变成 1 2 3 4……8 10 11 12……18 20 ,给定缺9后的数,求本来的数字?例如
计数器20是第18个数,计数器10是第9个数?
自己想的是找规律+递归,面试官提示进制,结果就是九进制,手写了十进制转九进制的代码,比较简单
二面
面试官是个笑咪咪的中年人,笑眯眯的感觉面试体验比较舒服
1.空类的大小是多少?为什么是1?
2.手写消费者生产者模式的伪代码
3.HTTP协议,问的非常细节,包括各种方法等等(感觉客户端面试非常喜欢问这个)
4,大小端,常用的系统是大端还是小端
5.手撕代码
一个数组中只有一个数出现了一次,其他数都出现了两次;找出这个数  位运算 异或
若有两个数只出现一次,其他数都出现了两次;找到这两个数 位运算 与
三面
两个代码题
1.代码题改错 在一个有序的链表中插入新的节点,保证有序  ;删除掉这个链表所占的所有内存
2.数组题,把其中一个元素放在数组前面,其他的数相对位置不变
例如[2,3,,6,1,2,2,4,2]->[2,2,2,2,3,6,1,4]
3.死锁 线程进程
4.问手里offer情况,未来的规划

晚上收到今天的面试已完成的短信,不知道什么含义
呜呜呜呜,许愿一个hr面
收起全文
#字节跳动##面经##C/C++##校招#
全部评论
楼主和我今天面的问题基本一样 祝楼主拿到Offer
1 回复 分享
发布于 2021-03-25 20:22
想问楼主,笔试做对了几道
1 回复 分享
发布于 2021-03-21 21:58
楼主面试的时候手撕算法题都做出来了吗
点赞 回复 分享
发布于 2021-04-03 16:55
想问楼主投的base哪里呀~
点赞 回复 分享
发布于 2021-03-26 17:01
老哥,有消息了么
点赞 回复 分享
发布于 2021-03-25 01:40
楼主笔试完一直是简历评估状态吗
点赞 回复 分享
发布于 2021-03-22 12:28
hr面一般不会挂人的, 耐心等待就好~
点赞 回复 分享
发布于 2021-03-21 21:24
楼主有客户端基础吗
点赞 回复 分享
发布于 2021-03-21 13:42
同昨天三面 被字节效率吓到 楼主昨天面到几点?
点赞 回复 分享
发布于 2021-03-21 08:29
楼主你好,请问投了简历过多久安排的笔试?
点赞 回复 分享
发布于 2021-03-21 00:35
请问是实习还是校招啊
点赞 回复 分享
发布于 2021-03-20 22:14

相关推荐

字节客户端,流转番茄、剪映、抖音、飞书等多个部门,历经十三次面试,终于拿下。前六面面经见上篇,记录下后续面经:七面(1h45min)1. 自我介绍2. 实习项目3. 介绍下实习的项目架构4. 讲讲对Compose声明式的理解5. java强引用和弱引用的区别6. 还有其他引用类型吗7. ThreadLocal8. 你平常有什么遇到的ThreadLocal的应用场景9. java集合类型(介绍各种集合,吟唱List、Map、Set)10. 集合多线程访问数据竞争问题怎么解决11. synchronized的用法12. LeakCanary检测内存泄漏的机制13. MVVM、MVP、MVC三种架构的区别14. 算法:搜索旋转排序数组总结:知识点知识面掌握挺不错的,基础知识的细节也了解得比较清楚,实习经历对于一个还没毕业的本科生来说还是不错的。过八面(1h)1. 项目拷打2. 不使用ksp开发的监测组件有什么办法定位Compose组件执行耗时3. LeakCanary原理机制4. OKHttp和Retrofit设计模式(答了七八个主要的)5. 责任链好处是什么6. 包大小优化措施,提升了哪些性能7. 线程和协程的区别8. 鸿蒙调用cpp是怎么做的9. 了解什么跨端框架10. flutter为什么比原生慢11. flutter和react native在渲染机制上的区别是什么(自绘引擎独立绘制和原生组件映射)12. kmp是怎么实现跨端的(逻辑层统一编写,UI等原生层各自实现)13. view事件分发cancel事件什么情况会触发14. view事件分发流程15. Binder机制16. lc.215 数组中第k个最大元素(要求先讲几种不同方法,再实现代码最复杂那个)(1) 直接排序 O(nlogn)(2) 优先队列(最小堆)O(logn)(3) 快速选择 O(n) 写这个的代码总结:没什么问题,秒过,进入hr面(最后倒在审批,原因是手头的offer不够多很难争取)九面(hr面45min)压力很大,像是在面技术面1. 自我介绍2. 为什么选择就业而不是考研3. 工作室有什么项目需要做4. 项目为什么做了一年(业余时间开发)5. 项目的动机、背景6. 还在实习吗(转正离职了)7. 挑一个实习工作讲一下背景和做了哪些事情8. 技术优化是谁提出来的,leader提出的还是自己找到的9. 做完需求的成长和进步体现在哪里10. 独立开发sdk提效是谁给你的建议吗11. 除了技术问题还有遇到其他困难吗(联调沟通)12. 一开始不使用联调的原因是什么,打乱工作节奏吗13. 做好一个程序员,除了技术上扎实,还需要基本什么样的素质和能力14. 沟通上有什么心得,可以提高工作效率15. 有遇到矛盾和分歧吗,怎么解决的16. 在团队中工作影响你产出的阻碍和困扰有什么17. 新的UI框架你是花多久学清楚的18. mentor对你的评价是什么19. 组内几个实习生,都转正通过了吗20. 和其他实习生相比你的优势在哪里(来得早,知识面多)21. 你有想过未来规划怎么样长期保持自己的优势吗(自驱力,持续学习)22. 跨端方面你觉得哪家公司做得比较好(腾讯视频)23. 你们组的跨端方案跟腾讯视频比有什么差距吗24. 对字节校招面试的感受是怎么样的25.  你是从其他部门流转过来抖音搜索的,对该部门面试的感受是什么26. 有反思该部门二面没通过的原因吗27. 会有失落和挫折的感受吗28. 怎么排解失落的心情29. 现在手头有哪些offer30. 看你也投了其他非互联网公司,对发展的不同方向有倾向性吗审批一周还是倒下了,流转其他部门,后续免hr面后面的面试不怎么问八股了,更多是项目、场景、智力题十面(30min)1. 自我介绍2. 有了解鸿蒙如何与Kotlin通信吗3. Compose对比常规view的优势是什么4. Compose局部重组的原理,标脏机制5. 对最近比较火的ai编程工具有了解吗,像claude这些6. 了解ai编程的原理吗7. 现在还在实习吗8. 什么时候接触安卓的?写过ios,前端吗9. 你会怎么快速上手ios10. 编码算法就不考察了,之前面试都写出来了11. 为啥有微信offer还面其他的总结:从二面开始,通过了就是三面,大概率也不考算法。过十一面(1h)1. 自我介绍2. 实习介绍3. Compose局部重组是怎么实现的4. ai工具你是怎么用的5. 有没有用过claude code、cursor(需要付费,没用过)6. agent是怎么实现的,工作原理是什么7. 你觉得自己比同阶段的同学优势在哪里8. 最近在学什么9. 最近比较感兴趣并且学得深一点的是什么10. Compose什么时候会跳过重组11. 自己后面有什么规划吗12. Compose组件封装得更通用有什么思路吗13. 组件点击事件的响应是怎么扩展的14. 9枚硬币有一枚是假的,假硬币会轻一点,有一个天平,最少称几次可以找到假硬币15. 100层楼,有两个瓶子,怎么扔,最坏情况下扔几次可以用最少次数找到瓶子会不会碎的临界楼层(想了几种方案最终只优化到18次的最坏情况)16. 为什么apk体积比较小了还要优化17. apk优化方案总结:客户端经验很丰富,ai了解不够多。一周后挂十二面(1h)1. 自我介绍2. 实习亮点介绍3. 跨端方案的背景4. 跨端方案很多,为什么使用c++?写起来方便吗?5. java和c++是怎么通信的6. 还了解哪些其他跨端技术7. 怎么判断哪些代码可以下沉到逻辑复用层8. 在跨端过程中你做了哪些9. 举个例子说明哪些代码放在原生层,哪些代码放在复用层10. 底层数据发生变化是怎么通知上层的?数据驱动是怎么做的11. 原生层的viewmodel和底层的viewmodel的区别是什么12. 使用什么手段可以主动发现线上的性能问题(流水线)13. MVVM的设计思路是什么,和传统MVC、MVP的区别14. LiveData相对于传统观察者模式有什么优势(生命周期集成)15. 性能优化的整体思路是什么16. 优化的收益怎么衡量17. 怎么分组快速发现新改动的性能问题(AB实验)18. 安卓内存泄漏的场景19. kotlin协程的理解20. 多线程读取数据可能会有哪些问题,可以通过什么方式避免21. 100瓶水,有1瓶是毒药,喝了1天后会毒发,最少多少只小白鼠和最短几天可以测出来(二进制编码)22. 之前考了很多笔试了,就不考了,开始反问依然是从二面开始。过十三面(1h10min)1. 自我介绍2. 实习介绍3. 介绍几个技术上挑战比较大的,提升比较多的4. 介绍下java和c++通信的细节5. 数据转换有性能上的问题吗6. C++和Kotlin/Java的差异有哪些7. SQLite使用有遇到存储和删减导致数据库文件庞大的情况吗8. 数据库索引是怎么提高查询速度的,原理是什么9. 除了xml解析还有没有看过其他三方库的源码10. okhttp的架构是怎么设计的,有哪些印象深刻的设计,哪些觉得设计得不够好的11. 场景:微信朋友圈滑动卡顿,会怎么分析12. 卡顿是由于什么引起的13. 图片加载过多为什么会引起卡顿(频繁gc)14. 怎么解决频繁gc的卡顿问题15. 设计一个图片缓存库,会怎么设计(三级缓存)16. 不同尺寸、分辨率的图片怎么标识(key怎么设计)17. 不同尺寸的同一张图片怎么关联起来18. 内存缓存图片的淘汰思路19. 图片在磁盘的存储思路(包括图片命名,文件夹命名,图片查找策略等等)20. 图片在磁盘的淘汰策略(包括使用频率记录方法、关联其他图片、删除方法、直接删一半空间的策略等等)最后的场景被拷打麻了。。。已经不知道自己是谁了最终等了一周还是通过了。谨以此贴记录字节面试经历,也希望能带给后来人一些参考
字节求职进展汇总
点赞 评论 收藏
分享
评论
7
98
分享

创作者周榜

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