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

相关推荐

有工作后先养猫:太好了,是超时空战警,我们有救了😋
点赞 评论 收藏
分享
秋招进行到现在终于能写总结了。完全没想到战线会拉这么长,过程会如此狼狈,不过更应该怪自己太菜了。好在所有的运气都用在了最后,也是有个去处。背景:双2本硕科班,无竞赛,本科一段研究所实习,硕士一段大厂暑期实习但无转正。技术栈是C++ & Golang,实习是客户端音视频(而且是鸿蒙端开发),简历两个C++项目一个Golang项目。主要投递岗位:后端,cpp软开,游戏服务端,测开,以及一些不拘泥于Java的岗位。从8月起总共投递123家公司,笔试数不清了,约面大约30家。offer/oc/意向:友塔游戏(第一个offer,面试体验很好,就是给钱好少南瑞继保(计算机科班点击就送(限男生),不...
乡土丁真真:佬很厉害,羡慕~虽然我还没有到校招的时候,也想讲一下自己的看法:我觉得不是CPP的问题,佬的背书双2,技术栈加了GO,有两段实习。投了123,面了30.拿到11个offer。这个数据已经很耀眼了。这不也是CPP带来的吗?当然也不止是CPP。至少来说在这个方向努力过的也会有好的结果和选择。同等学历和项目选java就会有更好的吗?我个人持疑问态度。当然CPP在方向选择上确实让人头大,但是我觉得能上岸,至于最后做什么方向,在我看来并不重要。至于CPP特殊,有岗位方向的随机性,java不是不挑方向,只是没得选而已。也希望自己以后校招的时候能offer满满
点赞 评论 收藏
分享
评论
9
52
分享
牛客网
牛客企业服务