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;

最近更新