Skip to content

字节跳动面经 ​

广告后端 ​

一面 ​

自我介绍

计算机网络

网络通信具体过程,socket 编程的流程

三次握手及具体细节

四次挥手及具体细节

为啥三次不是两次

浏览器触发过程,每一个过程结合五层模型谈一下

浏览器 https 协议与 http 区别及加密算法

动态网页如何渲染

数据库

B/B+ 树原理及区别

索引

事务隔离性

操作系统

进程,线程,多进程

....

算法

大数链表相加

二面 ​

操作系统

用户态与内核态

事务

内存置换

分页

lru 算法

数据库

两道 sql 题目

算法

三选一

完全二叉树压缩及构建

有向无环图拓扑排序

任务分配最短时间

广告系统 ​

一面 ​

1.const 编译器如何实现

2.强制转换编译器如何实现

3.其他语言实现像 cpp 这种多继承,如何操作 (内存管理相关)

4.tcp 与 udp 如何区分

5.双向链表特性

6.重叠区间 只问了思路

二面 ​

1.聊实习

2.聊 cpp 那些事

3.智能指针 shared_ptr 线程安全问题

4.线程同步

5.进程通信

6.信号量概念

7.写一个求和宏

8.rand3 等概率生成 0123,然后写一个 rand5 生等概率 01234

9.最长上升子序列


系统工程师 data ​

一面 ​

手撕智能指针

手撕线程安全的单例

手撕 log 有序数组左旋多少次

操作系统内存管理

malloc 底层

volatile 关键字

用户态与内核态

....不记得了

data 后端 ​

一面 ​

进程状态

进程调度

多进程开发,多线程开发

线程通信 + 2 道场景题选择进程通信方式

raws

ocket 与 socket 区别

设计高性能服务

nginx 反向代理 epoll,nginx 工作模式实现原理

pmtu,sendfile,io status 等等

手撕 memcpy 考虑内存重叠与 copy 效率

go 的协成,多核等

二面 ​

函数调用过程

static c/c++ 区别

项目中的一些问题

tcp 与 udp

tcp 深挖

进程与线程

字符串匹配

三面 ​

编译原理学过没

操作系统如何设计

io 与内存

select 与 epoll

tcpdump 底层原理

如何调试

如何学习计算机

多进程通信

项目经历

实习经历

有啥想问的。


data 后台研发 ​

一面 ​

1.手撕 lru

2.并发编程

3.函数式编程

4.无锁队列

5.CAP

6.线程池,进程池

7.大文件如何对字符串排序

8.线程同步


二面 ​

1.自我介绍 + 项目介绍

2.mmap

3.软链接与硬链接

4.free 命令 cache 与 buffer 区别

5.数据库 列与行数据库区别

6.线程安全

7.单核线程安全

8.事务

9.隔离性,隔离级别

10.索引,合并

11.http cookie 与 session

12.跨域请求

13.最大上升子序列个数


直播中台后端研发 ​

一面 ​

问了问基础 (前面都涉及了)

评价一下为啥面了这么多次会挂

聊了聊项目

算法题: 给定 4 个数组,一个 target,要求 o(n^2) 时间复杂度完成

二面 ​

问了问基础 (前面都涉及了)

聊聊实习及产品目标

手撕重建二叉树

更新: 2020-09-20 09:38:00
原文: <https://www.yuque.com/fcant/notes/ogoi8f&gt;

最近更新