有赞123面,下周hr面 9.18OC
我投的是中间件(基础架构)开发岗
大致记了下印象深的问题。
9.6 一面 电话面 30min
面试官说看我简历比较符合(做KV存储),人很好,很多提醒。
存储相关
LSM和B+树特点,优缺点
redis的zset怎么实现
MySQL的事务
MySQL的三个log:redo log,binlog,undolog
MySQL的两阶段提交
(面试官看我不是很熟就没问MySQL了)
网络相关
三次握手 四次挥手,为什么time_wait有2MSL
网络场景题:A向B发送123456 这6个报文,没有收到4,A和B分别会做什么?
两个点:超时重传与快速重传
后面再这个场景下改了点,好像是滑动窗口...
反问
Go用得多不多,主要做哪些业务,有赞KV存储是用什么做的
9.8 二面 腾讯会议 1h
面试官人也很好,说话也文质彬彬
自我介绍后问了分布式的一些问题
分布式
Lamport 逻辑时钟 熟悉吗
分布式事务熟悉吗?我说不熟悉。再问如果是你的话,怎么实现?然后就举例讲了其中原子性的实现
操作系统相关
进程间通信有哪些种
AB共享内存通信,A new一块内存与B通信,A异常退出,B还能访问那块内存吗 为什么
互斥锁与自旋锁,操作系统怎么实现。Go中的互斥锁是内核态的吗
算法相关
字符串匹配算法你知道哪些?KMP。那KMP复杂度多少?O(m+n)。 有没有其他算法?忘了(其实还有更高效的BM算法)
几种排序,各自说一下。(忘了说归并)
一个m*n的迷宫,有01两种状态,给定一个位置,判断能不能出去,时间复杂度是多少?我答的O(m*n)
手写算法题就是写上面忘了的归并排序。直接默写。
然后再问有没有写过test文件,如果要检验一个排序算法,你会给什么测试样例。