字节提前批-基础架构-微服务架构-面经(已发意向书)
字节提前批-基础架构-微服务架构-三面面经(已发意向书)
背景
211本,985硕,一段中厂测开实习,一段中厂微服务架构实习,两个项目经历。
一面(2021年7月12日)
基础知识
- static关键字
- 进程线程区别
- 进程切换上下文
- TCP UDP区别
- TCP 拥塞控制
- 水平触发和边沿触发
- 进程同步方式
- 用户进程缺页中断流程
- envoy线程模型 + 线程模型优缺点
- envoy连接负载均衡策略
代码题
- 交叉链表求第一个公共点(无环)
- 无锁队列 【未写出】
二面 (2021年7月12日)
项目、实习经历
基础知识
- TCP拥塞控制
- 项目相关的基础知识
代码题
- 有序链表转平衡二叉树
三面(2021年7月23日)
实习经历
基础知识
- C/C++变长参数实现
- static关键字
- pthread_mutex实现 (外部计数 + futex)
- https://code.woboq.org/userspace/glibc/nptl/pthread_mutex_lock.c.html#135
- https://code.woboq.org/userspace/glibc/nptl/pthread_mutex_cond_lock.c.html#4
- https://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/linux/sparc/lowlevellock.h.html#__lll_cond_lock
- https://sourceware.org/git/?p=glibc.git;a=blob;f=nptl/lowlevellock.c#l41
- https://elixir.bootlin.com/linux/v2.6.39.4/source/kernel/futex.c#L1827
- https://swtch.com/semaphore.pdf (GO语言中fast user mutex)
- https://www.kernel.org/doc/ols/2002/ols2002-pages-479-495.pdf
- shared_ptr/weak_ptr
代码题
- 给定矩阵,每行从左到右递增,每列从上到下递增,找一个目标值
- shared_ptr实现【写错了】(control block记录ref和data指针)