分布式 2PC raft 
24暑期实习,部门:数据库研发中心第一次笔试一题没A,第二次笔试只A了一题3.15 一面算法题:排序链表Go调优相关,怎么调优的如果一个程序对他进行计算压测,但CPU跑不满,这种情况会往哪方面去想协程与线程的区别Go协程什么情况下会主动让资源(IO等被阻塞的情况)Java学的怎么样,了解主流的垃圾收集器等MySQL为什么要读写分离(读多写少,减少主库压力)读写分离的问题在哪,可以怎么解决(读写同步延迟,应用层方面别在刚写完就读从库,主要在应用层控制)为什么要分库分表,分库分表后要注意哪些(数据一致性,要考虑分布式事务)分布式事务相关的(2PC XA 3PC TCC saga),XA 怎么做的分库分表后除了要考虑分布式事务,还有什么要考虑的(不会)乐观锁,悲观锁Redis的持久化方式(RDB AOF 混合)RDB为什么会丢数据(RDB保存全量快照前挂掉)RDB时发生修改,内存膨胀问题,触发COW后是全量拷贝还是只拷贝修改的那部分(答的只拷贝修改的那部分所在的操作系统page)Redis 的 I/O 模型CAP简单聊一下MySQL 是 CP 还是 AP(一般情况的主从是AP,因为是最终一致)如果要MySQL提供 CP 怎么办(节点完全同步前别对外提供相应的服务,就是实现强一致事务)如果 CP 情况下,主节点挂了怎么办(不了解,没背八股,瞎b扯一般配个哨兵用 binlog 恢复,要是全挂了那也没办法,因为要保存最终一致性)对 multi paxos 有多少了解raft preVote优化基于 raft 的分布式kv,如何实现线性一致性,怎么保证不重复执行写指令的client 的 ID 怎么实现的(项目rand.Int64(),分布式情况应该用雪花算法实现分布式ID)如果 client 宕机了,怎么保证不重复执行写(宕机了的话再启动,client ID 都变了,已经是新的一轮请求了)BusTub项目,4种隔离级别怎么实现的,读提交和可重复读的区别文件系统有没有了解,对刷脏页的理解(往数据库项目的BufferPoolManager扯,然后又介绍了下OS的页面置换,最后说了句思想都差不多)反问3.17约了二面3.22 美团二面(凉)实现的 BusTub 数据库里,BufferPool 的作用,数据库层面抽象的 Page 和操作系统的 Page 的区别,读一个数据库逻辑 Page 进内存大概什么情况为什么操作系统实现了页面置换,在数据库层面还要维护一个 BufferPool操作系统的页面置换算法,会对数据库层面实现的页面置换算法,有什么影响LRU 置换算法怎么实现的,LRU-K 呢LRU-K 和 LRU 的比较,有被 LRU 的性能卡过么可扩展哈希索引的实现3节点的 Raft 集群,如果要更新一个节点,怎么办(先把新的加入集群,再把老的下掉,不能反过来,要保证半数以上可用)更新节点的具体流程是什么如果有非常多的 Raft 节点,分了很多集群,有哪些要注意的平时遇到的印象最深刻的 bug乐观锁和悲观锁的区别乐观锁和悲观锁,放在数据库的角度,分别应用在哪里(乐观锁应该是 mvcc)考虑两个不同的事务去操作一个表,执行 Insert 呢(这种情况要考虑幻读,不要 mvcc,但纯加锁实现的隔离级别也不顶用,除非实现 Serialize 级别,后面说可以和 MySQL 一样整间隙锁)mvcc 除了用作实现隔离级别,别的还有了解其他用途么算法题没让做,说看一面写的代码风格还不错在字节有考虑过活水啥的么,字节转正不,未来倾向做计算还是做存储反问3.27 人才库了
点赞 12
评论 14
全部评论

相关推荐

给🐭🐭个面试机会吧:我boss直聘天天有家教跟我打招呼😓
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务