分享一下秋招开始到现在的面经
TPLINK一面
1.自我介绍
2.项目相关
3.介绍工厂方法模式
4. C++是如何实现多态的
5.项目工作量
6.说一下Reactor模式是什么
7. select poll epoll的区别
8.详细说一下有限状态机解析HTTP请求的过程
9.异步日志双缓冲区
10.进程有哪些状态
11.哪些情况进程会由运行转为阻塞
12. TCP UDP区别
13.归并排序思路
14. 爱好
15. 提问
TPLINK 二面
1. 自我介绍
2. 保研还是考研
3. JAVA有了解吗
4. 项目相关
5. C++11特性用了哪些,底层实现
6. 具体修复了什么BUG、举一个例子、修复BUG的过程
7. 爱好
8. 目前拿了哪些Offer
阿里云一面
1. 上来面试官先自我介绍,所在部门的城市,主要做哪方面的技术
2. 自我介绍
3. 中断响应的处理过程和机制
4. Linux内核的内存分配机制(伙伴算法和Slab分配器)
5. 详细说一下伙伴算法的实现
6. TCP和UDP的区别
7. 详细说一下拥塞控制
8. TCP粘包问题
9. 了解Redis的程度
10. Redis的持久化机制(RDB和AOF+AOFRewrite)
11. AOF持久化写入到缓冲区,再写入到磁盘,可能会丢失数据吗?
12. 讲一下Reactor模式(Reactor+Proactor)
13. Epoll的原理和实现
14. Epoll是异步的吗?
15. 如何判断事件发生了?
16. 惊群问题
17. 异步日志系统是如何实现的
题目
1. 删除链表的倒数第K个节点
2. tcp socket echo
3. MyStack实现getMin和getMax
阿里云二面
-
自我介绍
-
get post put区别
-
http长连接
-
惊群相关
-
cookie session token
-
同步IO 异步IO
-
epoll lt et
-
http1.0 和 http1.1
-
http状态码
-
redis高可用
-
redis 选举
-
事务ACID
-
MVCC
-
mysql如何实现高可用
-
反问
阿里云三面
-
自我介绍
-
讲了40多分钟源码
- 反问
阿里云交叉面
-
自我介绍
-
全程聊项目
-
反问
招银网络科技一面
1. 自我介绍
2. 智能指针
3. 多线程循环有序打印ABC
4. new了派生类数组,内存发生什么变化
5. delete[]的原理
6. 索引说一下(适合索引和不适合索引)
7. 索引失效(最左前缀)
8. https加密方式
9. sql分页查找
10. sql通配符匹配
11. 项目相关
12. 多线程的锁了解哪些
13. 可变参数
14. JAVA
15. 反问
招银网络科技二面
1. 自我介绍
2. 问项目
3. 挑一个对于你提升最大的项目细说
4. IPC及各自特点
5. 硬链接软链接
6. 数据库隔离级别
7. SQL慢可能存在什么问题?
8. 存储过程的优缺点
9. 了解过安全编码吗
10. 反问
招银网络科技加面
-
自我介绍
-
项目中遇到的技术难点
-
如何设计一个计算器
-
MySQL索引
-
MySQL主从复制
-
Redis应用场景
-
如何生成唯一ID
-
二维码登录
-
读过哪些源码
-
反问
字节跳动抖音一面
1. 自我介绍
2. Select/epoll区别
3. 进程和线程的区别
4. 进程间通信的方式
5. CPU的最小调度单位
6. 虚拟内存的作用
7. 缺页中断何时发生,具体的流程
8. 如何判断逻辑地址是否已经映射在物理地址上了
9. 页表在哪里
10. Fork()的底层实现
11. Fork()的返回值
12. a=fork() b=fork() print(a,b)会print几个数据 各个print的结果
13. epoll的LT和ET
14. 快排和归并的时间复杂度分析 为什么是NlogN
15. Redis的基础数据结构
16. Zset底层实现
17. Hash冲突如何解决
18. Redis持久化 aof rdb
19. AOF重写
20. 一致性Hash
21. Redis集群哈希槽
22. Redis集群高可用
23. Redis KEY过期策略
24. 反问
算法题: 链表排序 时间复杂度O(nlogn) 空间复杂度O(1)
字节跳动抖音二面
1. 自我介绍
2. 项目相关(具体算法如何实现的)
3. OSI七层网络模型
4. 应用层常见协议
5. HTTP状态码
6. HTTP常用的方法
7. 请求头常见的字段
8. 长连接如何续期
9. 了解过restful api吗
10. 正向代理,反向代理
11. Arp攻击
12. NAT
13. TCP如何保证稳定传输的
14. TCP如何确保报文的准确性
15. 了解CRC循环校验的算法吗
16. TCP拥塞控制
17. UDP如何实现可靠传输?知道具体的应用场景吗
18. 反问
算法:洗牌
蓄水池算法(说思路)
二叉树找给定两点之间的最短距离
字节跳动抖音三面
1. 自我介绍
2. C++17和20了解吗
3. 项目的主要工作和技术难点
4. Kill -9 发生了什么
5. Mysql的整体架构
6. 用过哪些Linux命令
7. SQL语句 如何建立索引
8. 打家劫舍2 空间O(1)
9. LFU Cache get&set 时间O(1)
大华一面
1. 自我介绍
2. 项目
3. 线程间同步方式用了哪些? 具体的使用场景?
4. 自锁和互锁
5. 有遇到过死锁情况吗?说一下产生死锁的条件和如何打破条件
6. Reactor模式、Proactor模式
7. 析构函数可以为虚函数吗
8. 重载和重写的区别
9. 算法说思路:两个字符串,如何判断S2是否是S1的子串
10. 反问
大华二面
1.自我介绍
2.项目
3.如果有一类event优先级较高 如何改善工作队列
4.代码量如何
5.让你实现一个智能指针需要注意哪些细节
6.什么情况下引用计数+1
7.重载和重写、隐藏的区别
8.Redis 渐进式Rehash
9.渐进式Rehash查找细节
10.socket编程具体过程
11.TCP缓冲区有哪些
12.IO流是否了解
13.是否了解脚本语言
深信服一二面
自我介绍
手撕BST删除指定val值的节点
项目
Epoll为什么高效
HTTP协议了解多少
HTTPS加密
为什么要采用非对称和对称加密混合的方式
了解python吗
手撕字符串匹配
反问
深信服三面
-
自我介绍
-
项目相关
-
智能指针
-
项目技术难点
-
智力题 老鼠喝毒药
-
ARP欺骗
-
反问
亿联一面
-
自我介绍
-
C++11相关
-
顺序容器,关联性容器有哪些
-
deque底层原理
-
vector和deque插入删除效率
-
进程间通信
-
进程间同步
-
互斥锁和自旋锁的区别
-
惊群问题
-
事件分发
-
TCP粘包问题如何解决
-
epoll LT和ET区别
- 觉得自己的学习能力如何
亿联二面
-
自我介绍
-
日志系统介绍
-
Redis的完全重同步和部分重同步
-
Redis数据结构
-
Redis Rehash
-
Linux /proc
-
有没有实习
-
有参与开源项目吗
-
工作地点要求
- 反问
百度一面
-
自我介绍
-
项目相关
-
手撕单例模式
-
双检查锁的问题
-
Redis集群
-
反问
百度二面
-
自我介绍
- 项目相关
- 手撕topk
百度三面
-
自我介绍
-
Nginx负载均衡策略
-
研究生阶段压力最大的时候
-
平时的学习方法
-
反问
小米一面
-
C和C++区别
-
结构体和类区别
-
static的各种用法
-
友元函数
-
malloc
-
slab和伙伴算法
-
进程调度
-
反问
B站一面
-
自我介绍
-
TCP和UDP
-
HTTP1.1 2.0
-
Redis 数据结构
-
mysql索引数据结构
-
csrf攻击
-
排序了解哪些
-
反问
B站二面
-
自我介绍
-
智能指针
-
右值引用
-
move
-
volatile
-
lambda表达式值捕获和引用捕获
-
析构函数可以为虚函数吗
-
struct和class的区别
-
C++多态
-
构造函数中调用虚函数有问题吗
-
设计模式思想
-
epoll LT ET区别
-
阻塞IO 非阻塞IO 同步IO 异步IO
-
线程的状态 为什么会阻塞
-
索引底层数据结构
-
复合索引 索引失效
B站三面
-
自我介绍
- Mysql limit过大如何优化
- 偏HR面的问题
虎牙一面
-
自我介绍
-
Reactor Proactor
-
select epoll
-
map unordered_map
-
红黑树 AVL树
-
内存对齐
-
修改内存对齐规则
-
智能指针
-
Redis数据结构
-
Redis主从复制同步
-
HTTP2.0
-
mysql索引
-
mysql 隔离级别
-
设计模式原则
-
上大学后遇到的最大的挫折 如何解决的
-
反问
虎牙二面
-
自我介绍
-
select 和 poll的区别
-
HTTP首部有哪些字段
-
HTTP状态码
-
Redis数据类型、数据结构
-
Rehash过程
-
MySQL事务隔离级别以及对应问题
-
索引失效情况
-
让你建一个数据库,考虑哪些方面
-
new 和 malloc
-
右值引用
-
反问
虎牙三面
-
自我介绍
-
设计模式
-
进程、线程、协程
-
反问
Shopee新加坡一面
-
自我介绍
-
连续子数组的最大和
-
计算器
-
场景题,候选搜索栏用什么数据结构
-
如何获取数据
-
epoll
-
http报文解析
-
CPU和线程数如何选择
-
反问
Shopee新加坡二面
-
自我介绍
-
static
-
C++多态实现
-
右值引用,移动语义
-
vector频繁push_back如何优化
-
epoll LT ET
-
epoll底层是什么数据结构
-
手撕二叉树最近公共祖先,时间复杂度,空间复杂度
-
手撕验证IP地址,时间复杂度,空间复杂度
-
指针和引用区别
-
TCP粘包相关
-
TCP可靠如何保证
-
网络不稳定的情况,TCP如何优化
-
反问
Shopee新加坡三面
-
自我介绍
-
场景题——排行榜
-
反问
快手一面
-
自我介绍
-
工厂方法复杂度
-
手撕工厂方法模式
-
运行时多态底层
-
编译器如何知道是运行时多态?底层实现
-
虚函数指针放在哪
-
空指针指向对象,能否通过该指针调用成员函数
-
TCP和UDP区别
-
UDP丢包如何解决
-
QUIC
-
malloc底层
-
栈是如何分配的(mmap)
-
手撕验证BST
-
100G IPV4地址统计频率
-
反问
快手二面
-
自我介绍
-
线程间同步
-
CAS
-
二叉树DFS遍历的时间复杂度和空间复杂度(O(N)和O(H))
-
手撕带有Parent指针的二叉树的前中后序遍历
-
反问
欢聚一面
-
自我介绍
-
可靠UDP
-
BBR
-
Nginx惊群问题
-
场景题:A->B如何探测网络质量
- 反问
网易一面
-
自我介绍
-
构造函数可以是虚函数吗
-
构造函数不能抛出异常
-
智能指针是否线程安全
-
lambda表达式
-
二叉树前序遍历
-
递归有什么问题
-
找到第一个出现的字符
-
topk
-
手撕 stoi
-
软链接 硬链接
-
write
-
反问
网易二面
-
自我介绍
-
阻塞IO 非阻塞IO
-
并发模型
-
堆和栈的效率以及区别
-
ptmalloc
-
智能指针
-
LRU
-
内存泄漏
-
线程间同步方式
-
读写锁
-
反问
美团一面
-
自我介绍
-
面向对象的理解
-
TCP UDP
-
OSI七层模型
-
HTTP1.0 HTTP1.1
-
服务器并发模型
-
Redis数据类型
-
Redis哨兵
-
MySQL事务
-
索引数据结构
-
B+树
-
隔离级别
-
锁的类型
-
手撕回文链表
-
手撕二叉树最大深度
-
反问
美团二面
-
自我介绍
-
Redis 跳表
-
Redis 哨兵、集群
-
一致性哈希
-
聚集索引
-
覆盖索引
-
事务
-
隔离级别
-
间隙锁
-
手撕对称二叉树(递归+迭代两种)
-
手撕翻转链表2
-
反问