5月20号一面 下午3点,面试官好像没怎么睡醒 一来就做算法题 当面过,本来立刻约二面的 但是跟女朋友出去玩了,就约的第二天早上
1 求根号二 根号n
2 判断链表有环
3 找到两个链表的交点
4 二叉搜索树 两个结点发生了交换
5 二维数组最短路径
6 输入一个n,求 一组数列 使得乘积等于n。 回溯写了一下 面试官看了没什么问题
7 数组的第k大的数 堆 nlogk级别复杂度 前面几个题差不多20分钟
8 TCP 三次握手 四次挥手 拥塞控制。 每一个我说得很细 比如三次握手的时候 前两次会消耗一个序号 最后一次没有消耗序号。 除了syn ack等还有窗口大小等字段
9 select poll epoll 面试官听我说完 就说我操作系统应该学得很好 就没问操作系统了
10 问了一个场景题: 长URL转短URL的服务 开始我说用hash这一块聊了5分钟,hash不行 我说用压缩 他说压缩效果不好 然后我说存DB 他说就应该存DB用ID号加密生成短URL,虽然我一开始是想存DB 但是感觉长字符型存DB应该不怎么合适?
差不多就这些 场景题聊太久 就没时间问其他的 当面给过了。
5月21日 11点 二面
晚上两点才睡觉 起床大困无比
1 手撕快排 边写边给面试官分析为什么这么写 比如为什么要从基准数对面开始走,面试官让我直接写 别说话 哈哈哈 然后写完了 调试自己输入一下
2 问我会LRU不 我说会,把是什么 怎么实现 应用场景 以及InnoDB在LRU的优化
3 怎么建堆的 我详细说了说 建堆过程,从时间复杂度和空间复杂度以及稳定性分析一波
4 hash一致性算法
5 布隆过滤器
6 分布式锁
7 事务的ACID 隔离级别 详细的聊了聊实现原理 这个聊地挺久,也挺深的。redo log undolog这种 知道多少聊多少
8 MVCC实现原理
9 几个索引问题 怎么建 为什么,具体原理是啥 很easy的常规题。
10 四次挥手的timeout 为什么2msl timeout过多怎么办 这里有三种处理方式 我说的是 复用四元组 或者直接对新连接 回复ret报文段拒绝连接
11 http 状态码 详细的状态码 记不清楚了
12 get 与post 我这里回答了一下 get封装成一个TCP post封装成两个TCP 一个先发送请求头 再发送请求体 收到100响应码之后继续发起请求。问我为什么 这个我不知道,下来查了一下不一定是分开发送两个, 还是的看自己浏览器的实现,以及服务器的实现。OKHTTP的源码可以看到 。
13 https 详细过程
14 每次发送消息 都会携带 密钥吗
15 常见的 对称加密和非对加密算法
16 统计 网站访问量 我说 hashmap或者redis 他说数据量小的时候没问题, 我说用Bitmap 他说还有 我说 还有 我只能用mysql了哈哈哈
17 redis的数据结构 zset的应用场景 底层实现
18 RDB AOF 重写 过程
19 主从复制 不是会很多 但是也聊了几分钟
20 redis 集群 不会。。
反问 对实习生的要求 答 越广越深久越好 我。。。 他说我还算不错 但是要比对一下以为会挂了
问了 hr小哥 他说我过了 面试官说我潜力很大 我开心的要死 我女朋友也为感到高兴 并哭泣 哈哈哈 可爱的女票
hr说等几天会有人联系我 到现在 还没有 好害怕拿不到offer。。
全部评论
(33) 回帖