字节跳动后端开发实习生面经
(好久之前了,备忘录翻到,发出来攒人品
- 接着,他问了关于数据库事务的概念。
- 然后,讨论了索引的相关知识,包括为什么需要索引。
- 面试官进一步深入,询问了实现索引所需的数据结构以及索引的底层实现。
- 关于Linux,他问了进程、线程和协程的相关概念。
- 还涉及到了僵尸进程和孤儿进程的概念。
- 面试官问了Linux操作系统的启动流程。
- 他还提到了大端序和小端序的概念。
- 进一步讨论了为什么会有大端序和小端序,以及它们分别在什么情况下使用。
- TCP协议的三次握手为什么能建立连接。
- 如果只进行两次握手会发生什么现象。
- 两次握手能否建立一次单向连接。
- 悲观锁和乐观锁的概念及其适用场景。
- 面试官问我对哪种编程语言更熟悉,并深入探讨了Python中的GIL锁和None的概念及其底层实现。
- 最后,他问了Java中HashMap的底层实现,HashMap是否线程安全以及原因。
在编程考核部分,面试官给了我一个普通二叉树,要求在15分钟内求出任意两个节点的距离。由于进展缓慢,面试官先询问了我的思路。虽然最后没有完全写完,但我解释了已经写出的部分的功能。