主题
字节跳动面经
广告后端
一面
自我介绍
计算机网络
网络通信具体过程,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>