十六、分布式理论

  • 谈一下你对 CAP 的认识?
  • 什么是 Base 理论?
  • 两阶段提交和三阶段提交的过程?两阶段提交有什么问题?三阶段提交有什么问题?
  • 分布式事务常用的解决方案有哪些?
  • 说一下你对 TCC 模式的理解?
  • 多系统之间怎么实现通信的?A系统→B系统的服务
  • Solr集群的搭建
  • 请你谈谈对MQ的理解?以及你们在项目中是怎么用的?
  • 请你谈谈单点登录的实现方案?你们怎么包括cookie的安全性?跨域取* cookie的问题,你们怎么解决的?
  • 请你谈谈购物车的实现方案?当商品信息发生变更,购物车中的商品信息是否可以同步到变化?
  • 谈谈你对ThreadLocal的理解,以及他的作用
  • 什么是幂等性?
  • 分布式锁的实现形式?
  • 分布式锁应该具备哪些条件?
  • 分布式Session的几种实现方式

Paxos 算法

  • 说一下你对 ZAB 协议的理解?
  • 什么是分布式锁?
  • 分布式锁应该具备哪些功能?
  • 分布式锁的实现方式有哪些?

算法

  • 100亿数字,怎么统计前100大的?
  • 10亿个url,每个url大小小于56B,要求去重,内存4G。
  • 1KW句子算相似度(还是那套分块+hash/建索引,但是因为本人不是做这个的,文本处理根本说一片空白,所以就不误导大家了),之后就是一直围绕大数据的题目不断深化。
  • Q1:给定一个1T的单词文件,文件中每一行为一个单词,单词无序且有重复,当前有5台计算机。请问如何统计词频?
  • Q2:每台计算机需要计算200G左右的文件,内存无法存放200G内容,那么如何统计这些文件的词频?
  • Q3:如何将1T的文件均匀地分配给5台机器,且每台机器统计完词频生成的文件只需要拼接起来即可(即每台机器统计的单词不出现在其他机器中)
  • 一个大文件A和一个小文件B,里面存的是单词,要求出在文件B中但不在文件A中的单词。然后大文件A是无法直接存到内存中的。
  • 一道题目是如果有一个人注册一个qq,如何保证这个qq号码和之前已存在的qq号码不重复呢?
  • 扔硬币,连续出现两次正面即结束,问扔的次数期望
  • 有100W个集合,每个集合中的word是同义词,同义词具有传递性, 比如集合1中有word a, 集合2中也有word a, 则集合1,2中所有词都是同义词,对这100W个集合进行归并,同义词都在一个集合当中。
  • 有几个 G 的文本,每行记录了访问 ip 的 log ,如何快速统计 ip 出现次数最高的 10 个 ip,如果只用 linux 指令又该怎么解决;
  • 海量数据的topk问题。