字节客户端提前批二面面经(技术面,视频,1h)
发现字节面试体验超好,像在跟学长聊天一样,回答的时候面试官也有反馈,面试时间刚好1小时,面试官说会议室还要给后面的面试官用,就结束了,没有反问环节,过了10分钟收到三面通知
希望三面能过!!!
1.自我介绍
2.C++
(1)左值引用和右值引用的区别?
(2)给一段代码,让判断i是左值还是右值,print输出什么?(i是左值,不会输出,编译报错,没有匹配的函数)
void func(int& a){ a=2; } const int i= 0; func(i); cout << i <<endl;
(3)在一个类中,const修饰的函数作用是什么?对象a可以访问func函数吗?(在函数内不会修改数据成员,不会调用其它非const成员函数,a是普通对象,可以访问const函数)
class A{ public: void func() const{ } }; A a; a.func();
(4)move语义的作用是什么?怎么实现的?
(5)你提到的move语义里,指针会被置空,这个是move里面做的吗?
(6)介绍下完美转发?在什么场景下可以用到完美转发?
(7)C++友元函数介绍下?
(8)C++类中访问控制符介绍下?
(9)C++ NULL和nullptr的区别?
3.OS
(1)进程和线程的区别?
(2)线程切换时都有哪些内容?
(3)线程上下文切换时,寄存器是否会保存全局变量a?
(4)寄存器SP的作用?(堆栈寄存器,指向栈顶地址)
(5)堆和栈的区别?
(6)多线程同步的方法?
(7)互斥锁和信号量的区别?
(8)什么情况下会发生死锁?
(9)OS是怎么做到原子操作的?(回答关中断,面试官说不是想要这个答案,然后又问关中断是怎么做的?不会)
(10)虚拟内存和物理内存的区别?
(11)MMU的作用?
(12)TLB介绍下?
4.手撕代码
实现二叉树的层次遍历和后序遍历
全部评论
(8) 回帖