3.如果让你设计,如何设计一个并发安全的跳表?我的理解是:在写多读少的场景下可能直接使用一把互斥锁锁住整个跳表再进行操作是一种简单且有效的方法。在读多写少的场景下,我们其实可以仿照golang中的syncmap的实现方式,有一个只读的跳表和一个可以读写的脏跳表,然后每次访问脏跳表的时候都需要进行加锁,当只读跳表中的数据比较落后的时候就把脏跳表晋升为只读跳表,旧的只读跳表则被废弃。5.内存里有一个map,你如何设计持久化策略,使得忽然宕机时,能够保证数据最少丢失?可以借鉴redis的AOF持久化机制的实现逻辑,根据appendsync的参数配置不同的值,实现不同的数据安全性7. 100g数据1g内存找中位数?力扣上的4. 寻找两个正序数组的中位数算法思想其实和是类似的,我们把原始数据切分为多个小块,然后对每一个小块进行排序,同时得到整个100g数据的数量,然后就是去猜测中位数是在哪个小块的哪个位置。我大致想了一下感觉应该是可以的