字节跳动后端开发一面面经
#字节跳动后端开发面经# #一面面经#
2022.8.17 14:00-15:30
## 项目相关
1. 为什么要做这个项目?
2. 我看别人有做聊天室的项目,你怎么不做那个项目?
3. epoll它的工作原理(具体过程)
4. epoll、select、poll的区别
5. 说了select线性表要从用户态复制到内核态,具体怎么复制的(用户态复制到内核态的过程)
## 进程和线程
1. 进程、线程、协程的概念
2. 系统创建进程的时候会给进程分配哪些资源(内存空间、文件描述符表)
3. 线程中包含哪些资源(线程占用进程的内存空间、有自己的线程栈)
4. 如果线程栈溢出的话,怎么发现
(用什么工具检查内存溢出,只说了valgrind,问有没有其他)
5. 线程的资源怎么回收
(一整个说错,说成wait_pid进程回收了?)
6. 怎么看进程当中有哪些线程(语句)
7. 怎么查看网络的状态(netstat),如果只想看close_wait状态的连接(netstat -),并且关闭这些连接怎么办?
我说的RST,面试官说RST一个个来不够高效
## 计网
1. HTTP协议状态码 500 501 502 503 504分别代表什么?可以举出具体场景嘛?
2. 说一说四次挥手的整个过程,主动关闭方、被动关闭方 Time_wait 有2MSL ,为什么(两个理由)
3. 当存在大量close_wait的连接时怎么处理?
## Mysql
1. 什么是聚类索引和非聚类索引
2. InooDB 为什么要使用聚类索引?
为了查询效率
3. 什么是 InooDB里面的联合索引?
4. 给出一个表A 有a1~a5 个列,联合索引(a2,a1)
select a5 from A where a2=1 and a1=2
( 请问用到联合索引了嘛? 它的具体过程呢,怎么回的表)
## 编程题
滑动窗口
给定一个s=abcabkbb 求最长的不重复的长度,这里是cabk 4
acm编程,小bug没有挑出来
发面经攒人品
2022.8.17 14:00-15:30
## 项目相关
1. 为什么要做这个项目?
2. 我看别人有做聊天室的项目,你怎么不做那个项目?
3. epoll它的工作原理(具体过程)
4. epoll、select、poll的区别
5. 说了select线性表要从用户态复制到内核态,具体怎么复制的(用户态复制到内核态的过程)
## 进程和线程
1. 进程、线程、协程的概念
2. 系统创建进程的时候会给进程分配哪些资源(内存空间、文件描述符表)
3. 线程中包含哪些资源(线程占用进程的内存空间、有自己的线程栈)
4. 如果线程栈溢出的话,怎么发现
(用什么工具检查内存溢出,只说了valgrind,问有没有其他)
5. 线程的资源怎么回收
(一整个说错,说成wait_pid进程回收了?)
6. 怎么看进程当中有哪些线程(语句)
7. 怎么查看网络的状态(netstat),如果只想看close_wait状态的连接(netstat -),并且关闭这些连接怎么办?
我说的RST,面试官说RST一个个来不够高效
## 计网
1. HTTP协议状态码 500 501 502 503 504分别代表什么?可以举出具体场景嘛?
2. 说一说四次挥手的整个过程,主动关闭方、被动关闭方 Time_wait 有2MSL ,为什么(两个理由)
3. 当存在大量close_wait的连接时怎么处理?
## Mysql
1. 什么是聚类索引和非聚类索引
2. InooDB 为什么要使用聚类索引?
为了查询效率
3. 什么是 InooDB里面的联合索引?
4. 给出一个表A 有a1~a5 个列,联合索引(a2,a1)
select a5 from A where a2=1 and a1=2
( 请问用到联合索引了嘛? 它的具体过程呢,怎么回的表)
## 编程题
滑动窗口
给定一个s=abcabkbb 求最长的不重复的长度,这里是cabk 4
acm编程,小bug没有挑出来
发面经攒人品
感悟:面试官人很好,我是fw,等感谢信ing
更新:一天后收到感谢信