摘要: 福哥答案2020-08-06: 参考答案:A.借助消息中间件,通过发布者订阅者模式来进行任务分配B.master-slave 部署,由master 来分配任务C.不借助任何中间件,且所有节点均等。通过数据库的 update returning,从而实现节点之间任务的互斥 [知乎答案:](https: 阅读全文
posted @ 2020-08-06 20:51 福大大架构师每日一题 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-08-05: A.获取微博通过 pull 方式还是push 方式。B.发布微博的频率要远小于阅读微博。C.流量明星的发微博,和普通博主要区分对待,比如在 sharding的时候,也要考虑这个因素。 访问流量超过了系统阈值,导致一大堆请求在内存里面排队;并且前端可能已经超时,用户不断 阅读全文
posted @ 2020-08-06 16:48 福大大架构师每日一题 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-08-04: 简单工厂 -- 不暴露创建对象的细节,并提供一个创建对象的通用接口。工厂方法 -- 定义一个创建对象的接口,但由工厂子类决定要创建哪个类的对象。抽象工厂-- 定义多种创建对象的接口。符合开闭原则,新增产品需要修改接口。 简单工厂:一个工厂对应一个接口。工厂方法:多个具 阅读全文
posted @ 2020-08-06 16:47 福大大架构师每日一题 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-08-03: 此答案是根据mysql数据库生成某种语言的代码。 1.mysql涉及到的数据库的表INFORMATION_SCHEMA.TablesINFORMATION_SCHEMA.Columns 2.读数据库的相关信息。数据库信息:属性:【连接字符串】,【数据库类型】(mysq 阅读全文
posted @ 2020-08-06 16:45 福大大架构师每日一题 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-08-02: 首先根据目的IP和路由表决定走哪个网卡,再根据网卡的子网掩码地址判断目的IP是否在子网内。如果不在则会通过arp缓存查询IP的网卡地址,不存在的话会通过广播询问目的IP的mac地址,得到后就开始发包了,同时mac地址也会被arp缓存起来。 知乎答案:大体上思路差不多, 阅读全文
posted @ 2020-08-06 16:44 福大大架构师每日一题 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-31: BST 的中序遍历是升序序列。1.递归法。时间复杂度:O(N),遍历了整个树。空间复杂度:O(N),用了一个数组存储中序序列。2.迭代法。时间复杂度:O(H+k),其中 H 指的是树的高度,由于我们开始遍历之前,要先向下达到叶,当树是一个平衡树时:复杂度为 O(log 阅读全文
posted @ 2020-08-06 16:43 福大大架构师每日一题 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-08-01: 恢复到任意时间点以定时的做全量备份,以及备份增量的 binlog 日志为前提。恢复到任意时间点首先将全量备份恢复之后,再此基础上回放增加的 binlog 直至指定的时间点。 阅读全文
posted @ 2020-08-06 16:37 福大大架构师每日一题 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-30: 可以从代码开发、测试保障、线上质量三个方面来保障。 在代码开发阶段,有单元测试、代码Review、静态代码扫描等;测试保障阶段,有功能测试、性能测试、高可用测试、稳定性测试、兼容性测试等;在线上质量方面,有灰度发布、紧急回滚、故障演练、线上监控和巡检等。 阅读全文
posted @ 2020-08-06 16:29 福大大架构师每日一题 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-18: 假设数组是[3,5,3,5],目标值是8。答案是否可重复,题里没说,所以分3种情况。如下: 1.重复。答案是【0,1】【0,3】【1,2】【2,3】,序号组合,共4种组合。解法如下:1.1.嵌套遍历。时间复杂度:O(n^2)。1.2.哈希法。键存数组元素值,值存出现次 阅读全文
posted @ 2020-08-06 16:25 福大大架构师每日一题 阅读(676) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-19: 1.内置map。单条数据量不大时,可以用内置map,一条一条插入2000万数据,耗费至少5秒时间。单条数据量过大,这种方法用不了。2.内存数据库,比如redis。单条数据量不大时,比如一条数据1k,总共20g,单个redis就行。单条数据量大,用分布式。3.布隆过滤器 阅读全文
posted @ 2020-08-06 16:23 福大大架构师每日一题 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-17: 声明:该总结为网友朋友总结,本人是归纳成文,方便各网友学习交流。 在一个高并发系统中 如果突然出现一个应用或者说一个服务突然变得很慢,应该怎么排查? 这个是考线上排查问题能力,没有标准答案,作为开发,假设这种情景出现你怎么诊断问题? 首先:想知道,在实际情况下,怎么知 阅读全文
posted @ 2020-08-06 16:13 福大大架构师每日一题 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-16: 1.快慢指针。快指针先走n步,然后快慢指针同时走,直到快指针走到尾。2.两次遍历。第一次遍历获取链表长度,然后计算出序号,然后遍历获取序号下的元素。3.数组保存。遍历一次保存到数组,然后计算序号,这样就能获取到元素。4.栈保存。遍历一次链表,遍历的过程中将元素放到一个 阅读全文
posted @ 2020-08-06 16:11 福大大架构师每日一题 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-15: 死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。产生死锁的必要条件:1、互斥条件:所谓互斥就是进程在某一时间内独占资源。2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不 阅读全文
posted @ 2020-08-06 15:50 福大大架构师每日一题 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-14: 热变冷: 有x台机器tag设置为hot。 有y台机器tag设置为cool。 hot集群中只存最近两天的。 有一个定时任务每天将前一天的索引标记为cool。 es看到有新的标记就会将这个索引迁移到冷集群中, 这都是es自动完成的。 冷变热:缓存预热。 阅读全文
posted @ 2020-08-06 15:40 福大大架构师每日一题 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-28: 1.二分法。2.手算法。3.牛顿迭代法。基础是泰勒级数展开法。4.泰勒级数法。5.平方根倒数速算法,卡马克反转。基础是牛顿迭代法。 golang代码如下: package test28_sqrt import ( "fmt" "math" "strconv" "tes 阅读全文
posted @ 2020-08-06 15:35 福大大架构师每日一题 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-29: key 太长会导致一个页当中能够存放的 key 的数目变少,间接导致索引树的页数目变多,索引层次增加,从而影响整体查询变更的效率。 索引字段大小限制关于innodb_large_prefix这个配置的限制:对于MySQL5.7.7之前,这个值默认是False,之后(包 阅读全文
posted @ 2020-08-06 15:08 福大大架构师每日一题 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 此答案来自群成员:使用一致性hash实现添加节点,并进行数据迁移.数据迁移完成之前保留原有的节点路由信息.每次添加节点重新计算key值所在hash,hash到新节点的key可以先复制一份到新的节点,并标记旧节点的key待删除.直到所有的key都计算好迁移完毕,切换新旧节点信息,删除掉所有旧节点多余的 阅读全文
posted @ 2020-08-06 14:58 福大大架构师每日一题 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-26: 功能用户输入user username、pass password注册,注册后输入dir查看服务器文件列表,输入get filename path下载文件到指定路径。 思路①客户端建立连接,打开输入输出流,开循环支持多次数据交换,直到用户输入退出命令,再关闭流和连接。 阅读全文
posted @ 2020-08-06 14:53 福大大架构师每日一题 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-25: 1.链表反转。反转,输出,反转。2.递归。3.数组。遍历存数组,然后反向遍历数组。4.栈。遍历存栈,然后pop栈输出。 golang代码采用第2种方法。代码如下: package test27_reverseprint import ( "fmt" "testing" 阅读全文
posted @ 2020-08-06 14:51 福大大架构师每日一题 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 福哥答案2020-07-24: 同步算法基于 ZAB 协议,一种快速 Paxos 算法。 快速Paxos算法Paxos算法可能出现死循环,就是在两个Proposer总是在交替prepare。并且,Paxos算法在出现竞争的情况下,其收敛速度很慢,甚至可能出现活锁的情况,例如当有三个及三个以上的pro 阅读全文
posted @ 2020-08-06 14:34 福大大架构师每日一题 阅读(146) 评论(0) 推荐(0) 编辑