字节data部门面经(已OC)

8.1 字节一面
上来面试官自己介绍了自己。(太尽职了)
部门的业务,主要做边缘计算,包括基础设施,PaaS,SaaS,FaaS,存储,云原生等。
问项目中遇到哪些问题,如何解决的?
我一想,我还没介绍项目就问如何解决,是不是有些不合适,就果断介绍项目。结果面试官没怎么听,直接又问了一遍刚才的问题。
1. k8s了解吗。
2. TCP是怎么保证可靠性的。
3. 接上题,发送20个包,第三个包丢了,发送端和接收端会怎么做。
4. MySQL有哪些隔离级别。
5. MySQL间隙锁知道吗。(知道是解决“幻读”,不知道原理)
6. 接上题,问“幻读”解决什么问题。
7. 了解哪些分布一致性协议。(Paxos,Raft)
8. 介绍一下Paxos协议。
9. 如果发生脑裂怎么办。(IO hence,忘了)
10.
编程1 mysql,从表中获取学生的名字和选课最多的前五个学生。
course_tbl
| Student |     Course   |
------------------------
|   Alice    |  Quantum  |
|   Bob     |  Calculus    |
|   Cate    |  Algebra     |


编程2 最长的回文子串。
让我先讲思路,我讲了一个O(n^2)的,面试官说还可以优化。(不会)
力扣上有O(n)的实现,不过用的是manacher算法,我打死都不背。
面试官叫我运行,结果报错了,尴尬的一批,还好面试官说思路是对的。

编程3 go基础语法
func main() {
    defer A{
        fmt.Println("defer1") 
    }()
    defer B{
        fmt.Println("defer2") 
    }()
    fmt.Println("main")
}
main() 
打印结果是?
main defer2 defer1
func main() {
    var m map[string]int
    m["a"] = 1
    if v := m["b"]; v != nil {
        fmt.Println(v)
    }
}
上述代码有什么问题?

11. 虚拟内存知道吗?
12. 什么时候会发生缺页中断。
13. 死锁如何避免。
14. 系统什么时候陷入内核态。

反问:
你们部门用什么语言?
你们部门base在哪?

总体感觉良好,不过面试题考sql是我没想到的,下面得好好恶补sql了。

8.3 字节二面
面试官看我简历比较有特点,问了linux 文件描述符1,2,3,-是什么意思。
自我介绍+项目(10min)
针对项目狂问。
1. 你们的项目架构是什么样的。(说了一大堆)
2. hook的原理知道吗。(不知道)
3. 有三种代码覆盖率统计方法,你知道吗?(语句覆盖、判定覆盖,分支覆盖)
3.5    代码覆盖率为什么要达到80%
4. MySQL的DoubleWriteBuffer是什么?为什么要关闭?
5. aio的优点和缺点是啥?(优点我知道,缺点。。。)
6. aio是半异步模式还是全异步模式?(???)
7. 网络IO发展历程。(从阻塞IO到reactor模型)
8. 为什么进程OOM后,要kill它?(人傻了半天)
9. 缺页中断一定是发生内存交换吗?(不一定)
10. (实验室)介绍一下纠删码编码。
题目:链表倒数第k个节点。
写完之后,知道太简单了,又问,返回值如何写注释,应该返回哪些标准错误,
把main改成一个接口。。。

反问:
同一面。

这次面试直接把我打回原形,觉得自己确实还有很多不足的地方,是纸老虎。

8.8 字节三面
上来介绍项目,我叽里呱啦说了一大堆,发现只用了四分钟。
1. 你们的文件系统和别的文件系统(比如AFS)相比有什么区别。
2. 问你们项目一个完整的IO路径是什么样的。
3. 项目中遇到什么难点,怎么解决的?
4. 介绍一下aio模型。
5. 多线程模拟aio和linux原生aio有什么区别。(libeio和libaio)
6. epoll和poll有什么区别。
7. TCP的拥塞控制。
8. 实现一个队列,能够入队,出队,统计最小值。
我的方法是队列queue+map,感觉还可以优化。
9. 红黑树原理是什么。(只记得旋转,平衡,其它都忘记了)
10. 红黑树优势。
11. A,B文件各有50亿条数据,内存无法放下全部数据,问如何快速找到两个文件公共数据。
我说用哈希,但是面试官说不对。
12. 你对什么语言比较了解。(C++)
13 new/delete和malloc/free有什么区别。
14 有继承的类,new/delete构造和析构的顺序。
15 什么是多态。
16 你有看过什么开源项目吗?(Ceph)
17 Ceph的CRUSH算法原理是什么。

做题:最长不重复子串。

反问:
你们部门业务场景?
面试多久出结果?(一周)

三面感觉还是八股,八股终究还是爸爸,感觉难度并不比二面难。
许愿offer,出必还愿!

帮同学内推:抖音搜索部门,内推码:36WYEDN!
全部评论
老哥你过了吗
1 回复 分享
发布于 2022-08-02 16:29
已OC,前来还愿!
2 回复 分享
发布于 2022-08-17 21:00 浙江
楼主约hr面了嘛,同data部门,约的下周的电话hr面,许愿拿到最终offer😭
1 回复 分享
发布于 2022-08-11 19:11
老哥,抖音直播挂了之后是Data主动捞的你吗?还是你找人捞的呀?
1 回复 分享
发布于 2022-08-08 23:02
关于50亿条数据。 https://blog.csdn.net/qingdujun/article/details/82343756
点赞 回复 分享
发布于 2022-08-08 21:33
实现一个队列,能够入队,出队,统计最小值。 网上找了一种解法,是 用三个队列,第一个队列是原始队列q,第二个是minq最小元素队列,第三个是maxq最大元素队列。 q每入一个元素,检查是否小于minq头部,如果小于就压入maxq;如果大于maxq头部,则压入maxq; q每出一个元素,检查是否等于minq头部,如果等于maxq弹出队首;如果等于maxq头部,则弹出maxq队首;
点赞 回复 分享
发布于 2022-08-08 21:33
老哥面了多长时间
点赞 回复 分享
发布于 2022-08-01 23:03

相关推荐

想干测开的tomca...:让我来压力你!!!: 这份简历看着“技术词堆得满”,实则是“虚胖没干货”,槽点一抓一大把: 1. **项目描述是“技术名词报菜名”,没半分自己的实际价值** 不管是IntelliDoc还是人人探店,全是堆Redis、Elasticsearch、RAG这些时髦词,但你到底干了啥?“基于Redis Bitmap管理分片”是你写了核心逻辑还是只调用了API?“QPS提升至1500”是你独立压测优化的,还是团队成果你蹭着写?全程没“我负责XX模块”“解决了XX具体问题”,纯把技术文档里的术语扒下来凑字数,看着像“知道名词但没实际动手”的实习生抄的。 2. **短项目塞满超纲技术点,可信度直接***** IntelliDoc就干了5个月,又是RAG又是大模型流式响应又是RBAC权限,这堆活儿正经团队分工干都得小半年,你一个后端开发5个月能吃透这么多?明显是把能想到的技术全往里面塞,生怕别人知道你实际只做了个文件上传——这种“技术堆砌式造假”,面试官一眼就能看出水分。 3. **技能栏是“模糊词混子集合”,没半点硬核度** “熟悉HashMap底层”“了解JVM内存模型”——“熟悉”是能手写扩容逻辑?“了解”是能排查GC问题?全是模棱两可的词,既没对应项目里的实践,也没体现深度,等于白写;项目里用了Elasticsearch的KNN检索,技能栏里提都没提具体掌握程度,明显是“用过但不懂”的硬凑。 4. **教育背景和自我评价全是“无效信息垃圾”** GPA前10%这么好的牌,只列“Java程序设计”这种基础课,分布式、微服务这些后端核心课提都不提,白瞎了专业优势;自我评价那堆“积极认真、细心负责”,是从招聘网站抄的模板吧?没有任何和项目挂钩的具体事例,比如“解决过XX bug”“优化过XX性能”,纯废话,看完等于没看。 总结:这简历是“技术名词缝合怪+自我感动式凑数”,看着像“背了后端技术栈名词的应届生”,实则没干货、没重点、没可信度——面试官扫30秒就会丢一边,因为连“你能干嘛”都没说清楚。
点赞 评论 收藏
分享
评论
9
55
分享

创作者周榜

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