@cholerae 大神已经做了详细回答,http://zenlife.tk/interview-for-distributed-storage.md

写于几年前,内容有点稚嫩,WAL辨识度很高, 其他问题一般.

CAP不会再问了,专业的存储文献中很少(几乎不)提及CAP或PACELC, 这个词用于市场和销售,用于和业务系统对接. 反而是,面试官问CAP问题,候选人可以由此断定面试官没有做过存储builtin研发,应聘团队可能不符合预期.

现在加一个问题,failstop的故障基本假设和处理原则是什么? 这个问题比较重要,企业可信环境(不发生或者避免发生拜占庭故障)的分布式存储构建一定要满足的基本原则,不符合预期的处理,就是设计上的缺陷或bug. 大家可以试着分析,共识算法,复制协议,集群的上下线管理,元数据的HA是如何实现failstop的.


设计一种诘问(打破砂锅问到底)的面试套路.

1. 用cas实现spinlock.

2. 实现单机kv存储系统, 多节点共享kv存储服务, 怎么解决external consistency的问题?

kv存储N=0
用户A和B操作kv存储系统按照下面时序:
1.用户A执行操作: INC N;
2.用户A通知用户B执行操作;
3.用户B执行操作: if (N % 2 == 0) {N*=2;} else {N +=3;}怎么保证结果符合预期呢? 在网络传输影响操作到达次序的情况下, 怎么保证B后于A完成操作.如果这个过程插入了C, 又如何做呢?

3. 锁实现和版本控制用那个呢?

4. kv系统数据要持久化, 怎么保证在供电故障的情况下, 依然不丢数据.

5. flush/fsync/WAL/磁盘和ssd的顺序写

6. 单机kv存储系统, 从掉电到系统重启这段时间, 不可用, 如何保证可用性呢?

7. 数据复制, 日志复制, 有哪些实现方法呢?

8. 做主从复制, 采用pull和push操作, 那个好呢?

9. 如何保证多副本的一致性? RSM

10. 分布式共识算法: zab, paxos, raft.

11. commit语意是什么呢?

12. 单机或者单个leader的qps/tps较低, 如何扩大十倍?

13. 怎么做partitioning和replicating呢?

14. 存储或者访问热点问题, 应该怎么搞?

15. CAP原理

16. 元数据怎么管理?

17. membership怎么管理?

18. 暂时性故障和永久性故障有哪些呢?

19. failover和data replication怎么搞呢?

20. 磁盘的年故障率预估是多少?

21. kv系统存储小王, 小李, 小张三个人的账户余额信息, 数据分别在不同的节点上, 怎么解决小王向小李, 小李向小张同时转款的问题呢?

怎么让存储过程通用化_怎么做分布式存储的面试?相关推荐

  1. android数据库三个方法有哪些,如何将Android数据库操作通用化(二)

    概述 接着上回的说,虽然我们已经找出了阻挡我们通用化Android数据库操作的五个问题,但是现在我们还不能立即开始去解决这些问题. 试想一下,我们有一个News,那么,相应的就会有NewsDao和Ne ...

  2. 【得物技术】基于配置的通用化动态报表平台设计与使用

    引言 不会写代码的业务方不是好研发!报表作为一种供业务人员随时随地掌握业务情况必不可少的工具,在开发阶段往往存在种类繁杂.前后端开发繁琐等问题,开发一张报表可能需要几个工作日.如何提高报表的制作效率, ...

  3. Fluid 0.3 新版本正式发布:实现云原生场景通用化数据加速

    作者 | 顾荣  南京大学 PASALab 导读:为了解决大数据.AI 等数据密集型应用在云原生计算存储分离场景下,存在的数据访问延时高.联合分析难.多维管理杂等痛点问题,南京大学 PASALab.阿 ...

  4. 国外方案 组件化_网页webp解决方案

    背景说明 某个国际化项目.前端用的技术栈是vue全家桶,使用nuxt-ssr渲染. 项目遇到的问题 项目中用到了大量的产品图片和比较大的banner图片.因为服务器在国外,也没有对静态服务器有相应的配 ...

  5. 开发黑名单功能demo_中台实践:通用化黑名单平台

    业务中台的价值主要体现在对通用化业务能力的沉淀.整合,通过对可复用业务流程和业务功能的设计,向不同业务方提供标准化且可扩展的服务能力.本文来聊一聊笔者工作过程中设计的通用化黑名单平台,通过将用户管控能 ...

  6. 管理后台服务通用化设计拙见

    前言 在公司实习两个多月,主要接手的都是管理后台的需求.一般情况下,管理后台很容易和CRUD联想到一起,这一类操作的特点就是代码基本相似,做一些简单的增删改查接口,不同的只是对于不同数据表的更改.不过 ...

  7. 如何将Android数据库操作通用化(四)

    概述 明窗半掩小庭幽夜静灯残未待留 风冷结阴寒落叶别离长倚望高楼 迟迟月影斜依竹叠叠诗余赋旅愁 将欲断肠随断梦雁飞连阵几声秋 概述 上一篇文章,已经解决了前两个问题,那么现在我们继续. 首先,我们回顾 ...

  8. 设备数据采集、子系统对接的工具化与通用化是未来工业互联网的发展趋势

    当前工业面临的机遇和挑战,从国家政策和国际发展态势来看,产业数字化.智能化未来将是工业产业升级,提升工业水平实现弯道超车的关键因素,而用于数据采集.子系统接入.工业应用开发的关键则是物联网平台. 工业 ...

  9. 用Webmagic和MongoDB实现的通用化爬虫框架

    可忽略的小背景 我在第一家A公司的时候接触过通用化的爬虫框架,其中,下载,URL管理,启动爬虫任务,抽取都是自己团队实现的,一向喜欢开源和对比的我接触到了Webmagic,发现它只要实现一个PageP ...

最新文章

  1. 西南大学计算机英语统考时间,西南大学2018年9月全国计算机等级考试报名通知...
  2. 安卓端网页浏览过程中实时更新title的web实现
  3. javascript学习(三) 内置对象
  4. ai画面怎么调大小_怎么使用pr(adobe premiere)裁剪视频画面的大小
  5. python3.8.2中文手册chm_springboot2.2.X手册:构建全局唯一的短链接数据中心
  6. NOIP2020 赛前总结
  7. leetcode1221. 分割平衡字符串(贪心算法)
  8. Linux平台下C++编程
  9. mysql insert 二进制_MYSQL 插入二进制数的 2 种方法。
  10. java变量小明扑克牌_算法练习篇之:扑克牌顺子
  11. Deep Glow for mac(AE高级辉光特效插件)
  12. Android手机截图命令screencap
  13. oracle中db_create_file_dest参数
  14. ArcGIS JS之 identify接口之 exceededTransferLimit属性
  15. win10截图软件工具
  16. Dell电脑如何设置Fn键和其它功能键的组合
  17. 清爽抗菌的平角内裤,设计合理穿着舒适
  18. Android studio一直卡在Gradle:Build Running的解决方法
  19. 多益网络2022届校招提前批全面启动【免筛推荐码QEAQU】
  20. sparksql读取数据过大报java.lang.OutOfMemoryError: Java heap space

热门文章

  1. java自定义一个timeout,Timeout操作符 RxJava 学习笔记二十一
  2. p服务器不响应,无法加载资源:服务器响应状态为500
  3. 帝国CMS后台getshell
  4. jquery可见性选择器(综合)
  5. this到底指向哪里
  6. 关于动画的几种状态表示的含义以及能够使用2d动画表述为什么要使用3d动画表述
  7. 正确判断js数据类型 总结记录
  8. 使用bootstrap的dropdown部件时报错:error:Bootstrap dropdown require Popper.js
  9. 算法题解:连续子数组的最大和及其下标
  10. oracle data guard --理论知识回顾02