字节(抖音)后台开发提前批面经

一面(7.18, 45min)

自我介绍
线程和进程区别和联系
线程同步方法
自旋锁怎么实现
堆区和栈区
linux键入top看到一个buffer项,buffer是做什么用的(其实我不知道,但是猜的差不多)
死锁条件(举了一个死锁例子)
死锁避免(只说了破坏保持且请求和循环等待这两个条件的方法,他一直问还有吗)
如果锁是自旋锁,那么刚刚的例子会发生什么
讲讲虚拟内存

假如有 int* p = new int; p++; 那现在能访问p的内容吗(我答如果本进程在那里有申请的内存,就可以,没有就不行)
遇到过头文件include多次的问题吗,怎么解决(#ifndef)
多态和继承的关系

网络7层模型
ip,tcp,http在哪层
子网掩码作用
tcp,udp不同
tcp连接和断开过程,还问了主动断开方的状态(FIN_WAIT1,2,TIME_WAIT)
tcp中序号的作用
http状态码(我说我只记得大类,200多是ok,300多重定向,400多...)
http中的content-type表示什么

事务四个特性
三个范式(这个没复习到啊)
学生成绩表,选出成绩前三的学生
学生课程成绩表,选出总成绩前三的学生

编程题:
对一个奇数位升序,偶数位降序的链表,进行排序,空间要求O(1),例如 1->100->20->80->40->30
(这题思路不难主要是链表编程要熟练:取出奇偶两个链表,翻转偶数链表,归并两个链表)

你可能感兴趣的:(字节(抖音)后台开发提前批面经)