7.20抖音直播面经(还是热乎的)
本人情况,一般985硕,学的光电。本来想报后端的,手抖了点了客户端。发现改不了,rnm退钱!
硬着头皮面了,不过还好,面试官很照顾我,问的都是C++知识。
7.18抖音直播一面:
1. 上来介绍项目(10min)2 go的协程和线程有什么区别?
3. go的内存管理。
4. TCP和UDP有什么区别?
5. 列举常见的网络协议。
6. TCP长连接和短连接有什么区别?分别对应什么样的场景。(没答上来)
7. C++泛型和Java泛型有什么区别?
8. C++泛型的原理?
题目:用泛型实现一个链表,并实现插入add(int index, T item)和删除del(int index)。非常简单!
7.20 抖音直播二面
1. 上来介绍项目(10min)
1.1 项目提到了技术选型,面试官问怎么做技术选型。
1.2 为什么想报客户端,你简历上写的是C++后端项目?
2. 问数据库(项目里面提到了),数据库事务是什么?3. 你知道“脏读”和“幻读”吗?什么时候会发生。
4. C++虚函数知道吗?
5. 为什么父函数的析构函数会声明为虚函数?
6. 虚函数的原理。(虚表)。
7. 刷题(半小时)
给你一个二叉树,然后统计每一层的宽度。宽度的定义是同一层第一个非null节点到最后一个非null节点的距离。
比如:
[3,2,4,null,3,null,6,null,3,null,5] ->返回{1,2,3,5}
8. 内核态和用户态区别。
9. 内核态和用户态地址转换是怎么样的。
反问:
你们部门是做什么的?
能接收转岗吗?
面试官说不知道,可以先实习或问hr。
7.25 抖音直播三面
1. 上路介绍项目(15min)(链路追踪)
面试官对开发那块比较感兴趣,问比较了哪些产品?各有什么特点。
在技术选型上最看重的指标是什么?(性能,通用性,无侵入)
问链路追踪daemon是如何和tracepoint通信的。(消息队列)
链路追踪中数据结构ring buffer是如何被进程间共享的。(共享内存)
2. 共享内存的原理清楚吗?
3. C++知道哪些数据结构?
4. list和set有什么区别?
5. set是如何做到去重的。
===========主观题===========
6. 你是如何学习一门新技术的。
7. 你在团队协作上遇到了什么问题,是怎么解决的?
8. 你学的印象最深的技术是什么?(我说google test)
9. 接上题,面试官问你怎么教新手google test。
10. 刷题(20min)
给你一个链表,让你循环右移,打印新链表。
比如:
1->2->3->4, k = 1
得到新链表:4->1->2->3
需要考虑边界条件。本来忘了把链表断开了,在面试官提醒下改正了。
答完了,面试官说有更好的方法。我突然想到可以用快慢指针,面试官说是的。
11. 你未来三年的规划。
反问:
前两面都问完了,没什么好问的了。
1. 上路介绍项目(15min)(链路追踪)
面试官对开发那块比较感兴趣,问比较了哪些产品?各有什么特点。
在技术选型上最看重的指标是什么?(性能,通用性,无侵入)
问链路追踪daemon是如何和tracepoint通信的。(消息队列)
链路追踪中数据结构ring buffer是如何被进程间共享的。(共享内存)
2. 共享内存的原理清楚吗?
3. C++知道哪些数据结构?
4. list和set有什么区别?
5. set是如何做到去重的。
===========主观题===========
6. 你是如何学习一门新技术的。
7. 你在团队协作上遇到了什么问题,是怎么解决的?
8. 你学的印象最深的技术是什么?(我说google test)
9. 接上题,面试官问你怎么教新手google test。
10. 刷题(20min)
给你一个链表,让你循环右移,打印新链表。
比如:
1->2->3->4, k = 1
得到新链表:4->1->2->3
需要考虑边界条件。本来忘了把链表断开了,在面试官提醒下改正了。
答完了,面试官说有更好的方法。我突然想到可以用快慢指针,面试官说是的。
11. 你未来三年的规划。
反问:
前两面都问完了,没什么好问的了。
==================================================================
7.28 hr本来说要一二周出结果,我怀疑她把我挂了,然后鸽我,果然,在我反复追问下,她说已经挂了我。
#字节跳动##字节招聘##字节面试##抖音招聘来袭##Java工程师#