字节跳动客户端面经+一二三面又一二三面然后意向
一面9.9-90min
1、自我介绍
2、java的传参是值传递还是引用传递
3、指针传参和引用传参的区别
4、正数和负数的二进制存储
5、介绍static
6、深拷贝浅拷贝
7、反向迭代器
8、为什么不能存放引用类型到容器中
9、map、unordered_map底层
10、unordered_map冲突解决
11、shared_ptr
12、写一下生产者消费者
13、死锁条件
14、判断链表有环
15、进程和线程的区别
16、进程通信
17、进程切换为什么慢
18、线程池
19、tcp的连接是真的连接吗
20、http状态码
21、https和http的区别
22、ssl握手
23、算法题:K个一组反转链表
24、反问
二面9.13-55min
1、项目:为什么做这个项目
2、项目:介绍一下
3、简历写了了解java,水平如何
4、java使用了哪种GC(不知道,我介绍三种GC)
5、如何解决内存碎片
6、异常和中断
7、链表三等分
8、进程的通信方法
9、使用socket传输数据经历几次内存拷贝
10、c++的特性
11、重载和重写
12、算法题:二叉树镜像
13、map、mutilmap、unordered_map、unordered_mutilmap
14、反问
三面9.16-50min(飞书面)
1、自我介绍
2、项目:为什么做这个项目
3、项目:收获最大的
4、项目:介绍tinySTL
5、了解什么排序
6、写一个单例模式
7、c和c++的区别
8、c++类的结构、了解操作符重载的实现吗
9、如何找到内存泄漏
10、GC
11、shared_ptr的问题
12、tcp和udp区别
13、流量控制
14、介绍static
15、算法题:最长不重复字符串
16、有没有实习时间
17、是否有考研计划
18、对客户端感兴趣吗
19、反问
一面9.26-65min
1、自我介绍
2、项目:介绍分配器的rebind
3、项目:容器构造时两个构造函数为什么发生冲突
4、DNS的过程
5、三次握手、为什么不能两次
6、get和post
7、url的encode
8、一个字节对齐例子、好处
9、介绍虚函数
10、一个虚函数例子
11、delete和free
12、c++11的特性
13、一个shared_ptr例子
14、如何判断链表有环
15、十亿个数找出前1000
16、算法题:正整数之和
17、反问
二面9.27-50min
1、自我介绍
2、项目:介绍tinySTL
3、list的底层实现
4、list和vector的对比
5、项目:介绍迭代器
6、进程切换、切换的上下文有什么
7、虚拟内存的好处
8、虚拟内存查找内存的过程
9、C语言调用函数的过程、参数和返回值存放在函数栈还是哪里、如何获得地址
10、cpp到可执行文件的过程
11、链接过程的具体实现
12、访问www.baidu.com的过程
13、DNS和ARP的过程
14、左值右值的概念、右值引用的用处
15、十亿个数找出前1000,十万个数找出前1000
16、算法题:无序单向链表排序
17、是否有考研保研计划
18、反问
三面9.28-55min
1、项目还有没有别的
2、学习成绩以及哪些课比较差
3、怎么没实习
4、项目:介绍下tinySTL
5、项目:type_traits如何使用和偏特化
6、左值引用和右值引用
7、分配器如何实现(内存池)、内存池如何实现、分配和回收、内存抖动
8、mmap的优势
9、shared_ptr(如何实现以及是否线程安全)
10、atomic的底层实现
11、引用计数法的劣势
12、消费者生产者
13、tcp、udp的应用场景
14、视频通话使用udp如何保证音画同步
15、如何解决tcp粘包
16、TLS的握手
17、TLS中间人攻击
18、智力题:二维平面矩形和射线是否相交
19、算法题:字符串压缩
20、反问
#字节跳动##面试题目#