08 2020 档案

摘要:福哥答案2020-08-31: HTTP1.0与HTTP1.1的主要区别 1.长连接HTTP1.0:需要使用keep-alive参数来告知服务器端要建立一个长连接。HTTP1.1:默认支持长连接。2.消息传递HTTP1.0:允许即使有Body也不用Content-Length,可以用断开连接的方式表 阅读全文
posted @ 2020-08-31 22:00 福大大架构师每日一题 阅读(168) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-30: 1.递归算法左节点子函数返回值不空,右节点子函数返回值为空,返回左节点。左节点子函数返回值为空,右节点子函数返回值不空,返回右节点。左节点子函数返回值不空,右节点子函数返回值不空,返回当前节点。复杂度分析:时间复杂度 O(N) : 其中 N 为二叉树节点数;最差情况下 阅读全文
posted @ 2020-08-30 22:42 福大大架构师每日一题 阅读(241) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-29: 1.根本区别进程:资源调度最小单位。线程:CPU调度最小单位。 2.地址空间进程:进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段。线程:线程没有独立的地址空间,同一进程的线程共享本进程的地址空间。 3.内存和 阅读全文
posted @ 2020-08-29 22:14 福大大架构师每日一题 阅读(118) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-28: 1.边界网关协议(BGP)是运行于 TCP 上的一种自治系统的路由协议。 BGP 是唯一一个用来处理像因特网大小的网络的协议,也是唯一能够妥善处理好不相关路由域间的多路连接的协议。 BGP 构建在 EGP 的经验之上。 BGP 系统的主要功能是和其他的 BGP 系统交 阅读全文
posted @ 2020-08-28 21:28 福大大架构师每日一题 阅读(216) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-27: 此答案来自qq群巨佬:openstack是个体系一个完整的方案系统 基于虚拟机 docker只是一个内核上特殊模式跑与其他系统进程隔离的进程的软件方案真正与docker 同级别的是虚拟机 而不是openstack。 跟openstack同一级别的 是k8s或者dock 阅读全文
posted @ 2020-08-27 20:53 福大大架构师每日一题 阅读(348) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-26: 方法 1:迭代算法从根节点开始,每次迭代弹出当前栈顶元素,并将其孩子节点压入栈中,先压右孩子再压左孩子。在这个算法中,输出到最终结果的顺序按照 Top->Bottom 和 Left->Right,符合前序遍历的顺序。 算法复杂度时间复杂度:访问每个节点恰好一次,时间复 阅读全文
posted @ 2020-08-26 21:25 福大大架构师每日一题 阅读(188) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-25: 布隆过滤器:哈希+位图。布隆过滤器重要的三个公式1.假设数据量为n,预期的失误率为p(布隆过滤器大小和每个样本的大小无关)。2.根据n和p,算出BloomFilter一共需要多少个bit位,向上取整,记为m。3.根据m和n,算出BloomFilter需要多少个哈希函数 阅读全文
posted @ 2020-08-25 20:47 福大大架构师每日一题 阅读(145) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-24:[知乎答案](https://www.zhihu.com/question/417040766)1.小文件:小文件是指文件大小明显小于 HDFS 上块(block)大小(默认64MB,在Hadoop2.x中默认为128MB)的文件。 2.小文件问题:HDFS的小文件问题 阅读全文
posted @ 2020-08-24 22:05 福大大架构师每日一题 阅读(625) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-23: 1.地址区别http:http://开头。https:https://开头。 2.默认端口区别http:端口80。https:端口443。 3.数据传输区别http:明文。https:SSL/TLS协议加密。 4.Chrome浏览器访问区别http:地址栏显示感叹号图 阅读全文
posted @ 2020-08-23 22:03 福大大架构师每日一题 阅读(168) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-22: select,poll,epoll 都是 操作系统实现 IO 多路复用的机制。 我们知道,I/O 多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是 读就绪或者写就绪),能够通知程序进行相应的读写操作。那么这三种机制有什 么区别呢。 1、支持一个进 阅读全文
posted @ 2020-08-22 22:15 福大大架构师每日一题 阅读(177) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-21: 福哥口诀法:阻非复信异(阻塞、非阻塞、多路复用、信号驱动、异步) [知乎答案](https://www.zhihu.com/question/416128059)操作系统上,分为 5 种:1.阻塞IO(blocking IO)2.非阻塞IO(non-blocking 阅读全文
posted @ 2020-08-21 20:51 福大大架构师每日一题 阅读(117) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-20: 1.golang的协程是基于gpm机制,是可以多核多线程的。Python的协程是eventloop模型(IO多路复用技术)实现,协程是严格的 1:N 关系,也就是一个线程对应了多个协程。虽然可以实现异步I/O,但是不能有效利用多核(GIL)。2.golang用go f 阅读全文
posted @ 2020-08-20 21:18 福大大架构师每日一题 阅读(185) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-19: 福哥口诀法:校(jiao)序确重拥流连(tcp可靠性保障机制:校验、序号、确认、重传、拥塞、流量、连接)校验:数据是否正确。序号:对数据编号seq。确认:ACK。重传:超时重传和冗余ACK重传。拥塞控制:慢启动(慢开始)、拥塞避免、快重传、快恢复。流量控制:根据接收端 阅读全文
posted @ 2020-08-19 21:04 福大大架构师每日一题 阅读(246) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-18:[来自【MapReduce执行过程及运行原理详解】 答案](https://www.panziye.com/bigdata/625.html)MapReduce执行的4个阶段,分别为Split阶段—> Map阶段 —> Shuffle阶段 —> Reduce阶段。*** 阅读全文
posted @ 2020-08-18 20:37 福大大架构师每日一题 阅读(125) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-17:数据倾斜是大数据领域绕不开的拦路虎,当你所需处理的数据量到达了上亿甚至是千亿条的时候,数据倾斜将是横在你面前一道巨大的坎。很可能有几周甚至几月都要头疼于数据倾斜导致的各类诡异的问题。 数据倾斜是指:mapreduce程序执行时,reduce节点大部分执行完毕,但是有一个 阅读全文
posted @ 2020-08-17 20:19 福大大架构师每日一题 阅读(381) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-16: [此答案【来自华为云社区】的【阿刚】](https://bbs.huaweicloud.com/blogs/147398) 一 问题背景项目中遇到大数据任务执行时间比较长,需要进行优化,使得大数据的任务执行时间优化至客户可以接受的时间。 二 原因分析l 业务场景分析本 阅读全文
posted @ 2020-08-16 20:37 福大大架构师每日一题 阅读(189) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-16:[知乎答案](https://www.zhihu.com/question/414367341)1.数据任务执行过慢,速度不能满足报表需求,例如每小时的报表,执行时间超过1小时了,第二小时的报表任务又来了。2.占用过多资源,跑这个任务的时候,整个集群的资源全被吃掉了,或 阅读全文
posted @ 2020-08-16 17:41 福大大架构师每日一题 阅读(166) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-14: [知乎答案](https://www.zhihu.com/question/414130855) 最基础的是 crontab 定时任务。考虑到分布式分片定时任务和高可用,可以用elastic-job这样的框架。但是这样的框架无法处理复杂的任务依赖关系。大数据处理框架一 阅读全文
posted @ 2020-08-15 07:41 福大大架构师每日一题 阅读(144) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-13: 该项目包括以下模块:1.Common(公共工具)支持其他Hadoop模块的公共工具。 2.HDFS(Hadoop分布式文件系统)提供对应用程序数据的高吞吐量访问的分布式文件系统。 3.Mapreduce(分布式计算框架,地图还原)一个基于纱线的大数据集并行处理系统。 阅读全文
posted @ 2020-08-13 20:43 福大大架构师每日一题 阅读(159) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-12: [知乎答案](https://www.zhihu.com/question/413630055/answer/1402319273)一般都是分 ODS -> DW -> APP:ODS(Operational Data Store)就是将各种数据源的数据,经过清洗整理 阅读全文
posted @ 2020-08-12 20:34 福大大架构师每日一题 阅读(138) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-11: [知乎答案](https://www.zhihu.com/question/413389230)MOV 指令将源操作数复制到目的操作数,是最基本的指令。首先就和CPU主频最相关。其次,也和IPC效率强相关,涉及到了操作数据的预读取,指令预编译,内存stall,并行执行 阅读全文
posted @ 2020-08-11 20:39 福大大架构师每日一题 阅读(281) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-10:浮点数=符号位+阶码+尾数,阶码加1就是浮点数的2倍值。 代码用golang编写,如下: package test33_add import ( "fmt" "math" "testing" ) /* //https://www.bbsmax.com/A/6pdDX7g 阅读全文
posted @ 2020-08-10 21:27 福大大架构师每日一题 阅读(189) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-09: 1.整数存储。比如1.23元,用123存储。2.字符串存储。比如1.23元,用"123.00"存储。3.高精度浮点数存储。比如java里用BigDecimal,c#里用decimal。有精度损失。 参考答案其实问题并不难,就是考察候选人对 JavaScript 数据运 阅读全文
posted @ 2020-08-09 20:39 福大大架构师每日一题 阅读(224) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-08: 参考答案:A.通过shell 或python 等调用api,结果先暂存本地,最后将本地文件上传到 Hive 中。B.通过 datax 的 httpReader 和 hdfsWriter 插件,从而获取所需的数据。C.比较理想的回答,是在计算引擎的 UDF 中调用查询 阅读全文
posted @ 2020-08-08 20:42 福大大架构师每日一题 阅读(148) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-07: 1.新增虚拟头,返回head.Next。2.换头,返回head。 代码用go语言编写,如下: package test32_deletenode import ( "fmt" "testing" ) //go test -v -test.run TestDeleteN 阅读全文
posted @ 2020-08-07 20:30 福大大架构师每日一题 阅读(226) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-06: 参考答案:A.借助消息中间件,通过发布者订阅者模式来进行任务分配B.master-slave 部署,由master 来分配任务C.不借助任何中间件,且所有节点均等。通过数据库的 update returning,从而实现节点之间任务的互斥 [知乎答案:](https: 阅读全文
posted @ 2020-08-06 20:51 福大大架构师每日一题 阅读(157) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-05: A.获取微博通过 pull 方式还是push 方式。B.发布微博的频率要远小于阅读微博。C.流量明星的发微博,和普通博主要区分对待,比如在 sharding的时候,也要考虑这个因素。 访问流量超过了系统阈值,导致一大堆请求在内存里面排队;并且前端可能已经超时,用户不断 阅读全文
posted @ 2020-08-06 16:48 福大大架构师每日一题 阅读(234) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-04: 简单工厂 -- 不暴露创建对象的细节,并提供一个创建对象的通用接口。工厂方法 -- 定义一个创建对象的接口,但由工厂子类决定要创建哪个类的对象。抽象工厂-- 定义多种创建对象的接口。符合开闭原则,新增产品需要修改接口。 简单工厂:一个工厂对应一个接口。工厂方法:多个具 阅读全文
posted @ 2020-08-06 16:47 福大大架构师每日一题 阅读(113) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-03: 此答案是根据mysql数据库生成某种语言的代码。 1.mysql涉及到的数据库的表INFORMATION_SCHEMA.TablesINFORMATION_SCHEMA.Columns 2.读数据库的相关信息。数据库信息:属性:【连接字符串】,【数据库类型】(mysq 阅读全文
posted @ 2020-08-06 16:45 福大大架构师每日一题 阅读(161) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-02: 首先根据目的IP和路由表决定走哪个网卡,再根据网卡的子网掩码地址判断目的IP是否在子网内。如果不在则会通过arp缓存查询IP的网卡地址,不存在的话会通过广播询问目的IP的mac地址,得到后就开始发包了,同时mac地址也会被arp缓存起来。 知乎答案:大体上思路差不多, 阅读全文
posted @ 2020-08-06 16:44 福大大架构师每日一题 阅读(201) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-31: BST 的中序遍历是升序序列。1.递归法。时间复杂度:O(N),遍历了整个树。空间复杂度:O(N),用了一个数组存储中序序列。2.迭代法。时间复杂度:O(H+k),其中 H 指的是树的高度,由于我们开始遍历之前,要先向下达到叶,当树是一个平衡树时:复杂度为 O(log 阅读全文
posted @ 2020-08-06 16:43 福大大架构师每日一题 阅读(299) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-08-01: 恢复到任意时间点以定时的做全量备份,以及备份增量的 binlog 日志为前提。恢复到任意时间点首先将全量备份恢复之后,再此基础上回放增加的 binlog 直至指定的时间点。 阅读全文
posted @ 2020-08-06 16:37 福大大架构师每日一题 阅读(381) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-30: 可以从代码开发、测试保障、线上质量三个方面来保障。 在代码开发阶段,有单元测试、代码Review、静态代码扫描等;测试保障阶段,有功能测试、性能测试、高可用测试、稳定性测试、兼容性测试等;在线上质量方面,有灰度发布、紧急回滚、故障演练、线上监控和巡检等。 阅读全文
posted @ 2020-08-06 16:29 福大大架构师每日一题 阅读(117) 评论(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 福大大架构师每日一题 阅读(692) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-19: 1.内置map。单条数据量不大时,可以用内置map,一条一条插入2000万数据,耗费至少5秒时间。单条数据量过大,这种方法用不了。2.内存数据库,比如redis。单条数据量不大时,比如一条数据1k,总共20g,单个redis就行。单条数据量大,用分布式。3.布隆过滤器 阅读全文
posted @ 2020-08-06 16:23 福大大架构师每日一题 阅读(287) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-17: 声明:该总结为网友朋友总结,本人是归纳成文,方便各网友学习交流。 在一个高并发系统中 如果突然出现一个应用或者说一个服务突然变得很慢,应该怎么排查? 这个是考线上排查问题能力,没有标准答案,作为开发,假设这种情景出现你怎么诊断问题? 首先:想知道,在实际情况下,怎么知 阅读全文
posted @ 2020-08-06 16:13 福大大架构师每日一题 阅读(157) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-16: 1.快慢指针。快指针先走n步,然后快慢指针同时走,直到快指针走到尾。2.两次遍历。第一次遍历获取链表长度,然后计算出序号,然后遍历获取序号下的元素。3.数组保存。遍历一次保存到数组,然后计算序号,这样就能获取到元素。4.栈保存。遍历一次链表,遍历的过程中将元素放到一个 阅读全文
posted @ 2020-08-06 16:11 福大大架构师每日一题 阅读(249) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-15: 死锁:是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。产生死锁的必要条件:1、互斥条件:所谓互斥就是进程在某一时间内独占资源。2、请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不 阅读全文
posted @ 2020-08-06 15:50 福大大架构师每日一题 阅读(136) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-14: 热变冷: 有x台机器tag设置为hot。 有y台机器tag设置为cool。 hot集群中只存最近两天的。 有一个定时任务每天将前一天的索引标记为cool。 es看到有新的标记就会将这个索引迁移到冷集群中, 这都是es自动完成的。 冷变热:缓存预热。 阅读全文
posted @ 2020-08-06 15:40 福大大架构师每日一题 阅读(119) 评论(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 福大大架构师每日一题 阅读(334) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-29: key 太长会导致一个页当中能够存放的 key 的数目变少,间接导致索引树的页数目变多,索引层次增加,从而影响整体查询变更的效率。 索引字段大小限制关于innodb_large_prefix这个配置的限制:对于MySQL5.7.7之前,这个值默认是False,之后(包 阅读全文
posted @ 2020-08-06 15:08 福大大架构师每日一题 阅读(285) 评论(0) 推荐(0) 编辑
摘要:此答案来自群成员:使用一致性hash实现添加节点,并进行数据迁移.数据迁移完成之前保留原有的节点路由信息.每次添加节点重新计算key值所在hash,hash到新节点的key可以先复制一份到新的节点,并标记旧节点的key待删除.直到所有的key都计算好迁移完毕,切换新旧节点信息,删除掉所有旧节点多余的 阅读全文
posted @ 2020-08-06 14:58 福大大架构师每日一题 阅读(182) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-26: 功能用户输入user username、pass password注册,注册后输入dir查看服务器文件列表,输入get filename path下载文件到指定路径。 思路①客户端建立连接,打开输入输出流,开循环支持多次数据交换,直到用户输入退出命令,再关闭流和连接。 阅读全文
posted @ 2020-08-06 14:53 福大大架构师每日一题 阅读(198) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-25: 1.链表反转。反转,输出,反转。2.递归。3.数组。遍历存数组,然后反向遍历数组。4.栈。遍历存栈,然后pop栈输出。 golang代码采用第2种方法。代码如下: package test27_reverseprint import ( "fmt" "testing" 阅读全文
posted @ 2020-08-06 14:51 福大大架构师每日一题 阅读(193) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-24: 同步算法基于 ZAB 协议,一种快速 Paxos 算法。 快速Paxos算法Paxos算法可能出现死循环,就是在两个Proposer总是在交替prepare。并且,Paxos算法在出现竞争的情况下,其收敛速度很慢,甚至可能出现活锁的情况,例如当有三个及三个以上的pro 阅读全文
posted @ 2020-08-06 14:34 福大大架构师每日一题 阅读(153) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-22: 1.主从同步缓冲区设定大小,如果进行全量复制耗时太长,进行部分复制时发现数据已经存在丢失的情况,必须进行第二次全量复制,致使slave陷入死循环状态。在全量复制的时候,最好做好监控。2.有时候,redis存储过多,全量同步变得不可接受。这时考虑如果增量复制时,发生阻塞 阅读全文
posted @ 2020-08-06 14:21 福大大架构师每日一题 阅读(87) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-23: Redis 在完成初始化全局服务器配置,加载配置文件,初始化服务器,开始加载持久化的数据到内存中。如果启用了 appendonly 了,则Redis从 appendfile 加载数据,否则就是开启了rdb,从dbfile 加载数据。appendfile 中保存的是re 阅读全文
posted @ 2020-08-06 14:16 福大大架构师每日一题 阅读(106) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-20: 1.由于 Redis 是内存数据库,短时间内大量增加数据,可能导致内存不够用。2.redis是单线程的,单台服务器无法充分利用多核服务器的CPU。3.遇到大量查询时容易阻塞。4.缓存和数据库双写一致性问题。5.缓存雪崩问题。6.缓存击穿问题。7.缓存的并发竞争问题。8 阅读全文
posted @ 2020-08-06 14:10 福大大架构师每日一题 阅读(140) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-21: 1.从服务发送一个sync同步命令给主服务要求全量同步。2.主服务接收到从服务的sync同步命令时,会fork一个子进程后台执行bgsave命令(非阻塞)快照保存,生成RDB文件,并将RDB文件发送给从服务。3.从服务再将接收到的RDB文件载入自己的redis内存。4 阅读全文
posted @ 2020-08-06 13:53 福大大架构师每日一题 阅读(208) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-09: 1.参数说明 slow_query_log 慢查询开启状态slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)long_query_time 查询超过多少秒才记录 查看慢查询相关 阅读全文
posted @ 2020-08-06 13:50 福大大架构师每日一题 阅读(114) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-11: 1.保存位置:session服务端。cookie客户端。2.安全性:session相对安全,cookie相对不安全。3.存储类型:session能够存储任意的对象,cookie只能存储String类型的对象。4.大小限制:session没有大小限制。cookie有大小 阅读全文
posted @ 2020-08-06 13:48 福大大架构师每日一题 阅读(161) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-10:此答案来自群成员: SQL提高查询效率的几点建议 1.如果要用子查询,那就用EXISTS替代IN、用NOT EXISTS替代NOT IN。因为EXISTS引入的子查询只是测试是否存在符合子查询中指定条件的行,效率较高。无论在哪种情况下,NOT IN都是最低效的。因为它对 阅读全文
posted @ 2020-08-06 13:43 福大大架构师每日一题 阅读(134) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-13: 有人觉得第一种方法好,也有人觉得第二种方法好。如果搜索字段远小于显示字段,比如搜索字段为3个,显示字段有20个,这个时候用第一种方法好。es+hbase,一般这样搭配。如果搜索字段跟显示字段接近,或者一条【行记录】的数据量并不大,这个时候用第二种方法好。 回答1:ES 阅读全文
posted @ 2020-08-06 13:37 福大大架构师每日一题 阅读(474) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-12: 回表:先定位【主键值】,再定位【行记录】,扫描了两次B+树,这就是回表。 避免方法:用覆盖索引可以避免回表。将被查询的字段,建立到联合索引里去。explain的输出结果Extra字段为Using index时,能够触发覆盖索引。 阅读全文
posted @ 2020-08-06 13:31 福大大架构师每日一题 阅读(243) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-07: 1.同服务跨库。表名称带上库名。SELECT * FROM 数据库名称1.表名称 JOIN 数据库名称2.表名称 ON 数据库名称1.表名称.tid = 数据库名称2.表名称.tid 2.不同服务跨库。使用federated引擎。在机器A上的数据库A中建一个表B。建表 阅读全文
posted @ 2020-08-06 13:27 福大大架构师每日一题 阅读(283) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-08: 表锁是不会出现死锁的,但锁等待现象是有可能的。行锁是行级别的,有可能出现死锁。环形等待死锁和唯一键死锁 很常见。 避免死锁方法:1.减少事务操作的记录数。2.约定按相同顺序访问记录。3.对事务中要操作的记录进行排序。4.避免使用唯一键约束。5.用表锁,不用行锁。6.在 阅读全文
posted @ 2020-08-06 13:25 福大大架构师每日一题 阅读(209) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-05: 区别:1.可靠性:tcp可靠。udp不可靠。2.连接性:tcp面向连接。udp无连接。3.报文:tcp字节流。udp面向报文。4.传输效率:tcp低。udp高。5.多点通信:tcp一对一通信。udp一对一、一对多、多对一,多对多通信。 应用场景:tcp:(1)文件传输 阅读全文
posted @ 2020-08-06 11:31 福大大架构师每日一题 阅读(253) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-06:表a和表b的字段都是id和tid,数据类型都是int。查询结果顺序上以 表a 为准。1.JOIN。SELECT * FROM a JOIN b ON a.tid = b.tid LIMIT 200 OFFSET 500002.子查询。SELECT * FROM (SEL 阅读全文
posted @ 2020-08-06 11:15 福大大架构师每日一题 阅读(410) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-04:三次握手如下:1.SYN j2.ACK j+1,SYN k3.ACK k+1 time_wait出现在断开连接第四次挥手的时候出现。TIME_WAIT状态存在有两个原因。<1>可靠终止TCP连接。如果最后一个ACK报文因为网络原因被丢弃,此时server因为没有收到AC 阅读全文
posted @ 2020-08-06 10:39 福大大架构师每日一题 阅读(142) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-02: 简单回答: 域名解析。 建立TCP连接。 请求。 处理。 响应。 释放TCP连接。 页面渲染。 中级回答: 域名解析 浏览器DNS缓存。 操作系统DNS缓存。 路由器缓存。 ISP 服务商缓存。 根服务器递归查询。 建立TCP连接。三次握手。 请求。请求报文格式: 请 阅读全文
posted @ 2020-08-06 10:27 福大大架构师每日一题 阅读(90) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-03: 1.双重遍历。时间复杂度是O(N^2)。 2.排序。采用外部排序。时间复杂度是O(NlogN)。 3.遍历加哈希存储。空间换时间,时间复杂度是O(N),空间复杂度是O(N)。这种方法适用于小数据量,在这里用明显不合适。 4.布隆过滤器。根据公式计算,万分之一的失误率需 阅读全文
posted @ 2020-08-06 09:55 福大大架构师每日一题 阅读(1349) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-07-01: 此答案来自群成员,感谢群员支持。 阅读全文
posted @ 2020-08-06 07:03 福大大架构师每日一题 阅读(243) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-30: 数据库中本地消息表新增超时时间字段。在代码里,当当前时间大于超时时间时,做超时处理。 答案不一定对,有不同见解请直接评论。 阅读全文
posted @ 2020-08-05 21:21 福大大架构师每日一题 阅读(76) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-29: 第一种理解:分布式事务里的本地消息表本地文本、数据库、消息队列。数据库为主。 第二种理解:本地缓存app端:SQLite、Core Data、Realm。SQLite为主。浏览器端:Local Storage、Session Storage、IndexedDB、Web 阅读全文
posted @ 2020-08-05 21:19 福大大架构师每日一题 阅读(92) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-28: 第一种理解:分布式事务里的本地消息表假设业务里有两步操作,第一步操作完成,就会保存到本地消息表。本地消息表,主要保存唯一信息和步骤状态。 第二种理解:本地缓存比如app端的sqlite保存聊天记录。 注意:在没明确说明的情况下,以第一种理解为准。 阅读全文
posted @ 2020-08-05 21:17 福大大架构师每日一题 阅读(101) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-27: 福哥口诀法:事原一隔持(事务属性ACID:原子性、一致性、隔离性、持久性) 用银行数据库来举例子解释一下这四个特性 原子性: 一个事务可能会包含多种操作,比如转账操作包括从你的账户上扣钱和对方账户加钱。虽然内部有多步操作,但是外部看来它们是一个整体,要么都成功执行,要 阅读全文
posted @ 2020-08-05 21:15 福大大架构师每日一题 阅读(115) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-26: 【聚簇索引】平时习惯逛图书馆的童鞋可能比较清楚,如果你要去图书馆借一本书,最开始是去电脑里面查书名然后根据书名来定位藏书在那个区,哪个书柜,哪一行,第多少本。。。清晰明确,一目了然,因为藏书的结构与图书室的位置,书架的顺序,书本的摆放顺序与书籍的编号都是从大到小一致的 阅读全文
posted @ 2020-08-05 21:14 福大大架构师每日一题 阅读(185) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-25: B树:1.叶子节点和非叶子节点都存数据。2.数据无链指针。B+树:1.只有叶子节点存数据。2.数据有链指针。B树优势:1.靠近根节点的数据,访问速度快。B+树优势:1.一页内存可以容纳更多的键,访问数据需要更少的缓存未命中。2.全面扫描只需要扫描叶子节点。 阅读全文
posted @ 2020-08-05 21:13 福大大架构师每日一题 阅读(113) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-24: java:1.finally;2.try-with-resource,类必须实现AutoCloseable接口;3.finalize(),不一定安全,慎用。 c#:1.finally;2.using,类必须实现IDisposable接口;3.析构,不一定安全,慎用。 阅读全文
posted @ 2020-08-05 21:12 福大大架构师每日一题 阅读(103) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-23: 1.现象:cpu使用100%,内存不足。 2.定位问题:记住下面3条命令,红色字体标注。 登录服务器,查看cpu, 内存等使用情况。使用命令,查看 JAVA 进程创建了多少线程: ps -Te | grep java | wc发现java进程创建了1万多个线程,进一步 阅读全文
posted @ 2020-08-05 21:10 福大大架构师每日一题 阅读(117) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-22: 1.遍历法时间复杂度:O(N)最好空间复杂度:O(1)平均空间复杂度:O(sqrt(N))最坏空间复杂度:O(N)[0,N/2]依次遍历,符合条件的就是需要的结果。 2.位运算法最好时间复杂度:O(1)平均时间复杂度:O(sqrt(N))最坏时间复杂度:O(N)最好空 阅读全文
posted @ 2020-08-05 20:58 福大大架构师每日一题 阅读(250) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-21: 福哥口诀法:数负命Ma集配分(使用场景:数据发布订阅、负载均衡、命名服务、Master 选举、集群管理、配置管理、分布式队列和分布式锁) 数据发布订阅:dubbo的rpc。负载均衡:动态dns。命名服务:全局唯一id。Master 选举:搜索系统、Hbase。集群管理 阅读全文
posted @ 2020-08-05 20:56 福大大架构师每日一题 阅读(85) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-20: 这道题价值不大,但是面试题里有这道题。 分布式协调服务,注册服务和发现,树形结构,监听机制,过半机制。 ZooKeeper是源代码开放的分布式协调服务,由雅虎公司创建,是Google Chubby(主要解决分布式锁相关问题)的开源实现。ZooKeeper是一个高性能的 阅读全文
posted @ 2020-08-05 20:36 福大大架构师每日一题 阅读(106) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-19: 答案来自群成员:基准测试。 观察 网络和磁盘的读写,实时与历史曲线,观察文件句柄/内存的使用情况。观察系统patch 基础库/运行时状态。 阅读全文
posted @ 2020-08-05 20:33 福大大架构师每日一题 阅读(95) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-18: Zk分布式锁有两种实现方式一种比较简单,应对并发量不是很大的情况。获得锁:创建一个临时节点,比如/lock,如果成功获得锁,如果失败没获得锁,返回false释放锁:删除/lock节点锁等待:使用监听机制,监听lock节点,如果lock节点被删除,重新去抢锁,否则一直等 阅读全文
posted @ 2020-08-05 20:30 福大大架构师每日一题 阅读(117) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-17: 一、锁丢失Redis的master节点上拿到了锁;但是这个加锁的key还没有同步到slave节点;master故障,发生故障转移,slave节点升级为master节点;导致锁丢失。 二、持有同一把锁(竞态模型场景)为了避免Redis宕机引起锁服务不可用, 需要为Red 阅读全文
posted @ 2020-08-05 20:27 福大大架构师每日一题 阅读(114) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-16: 时间复杂度是O(N)。时间复杂度:O(N) where N is the size of the hash. 阅读全文
posted @ 2020-08-05 20:09 福大大架构师每日一题 阅读(393) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-15: 答案来自群成员:1.setnx:del2.set:lua+del3.redisson:@Overridepublic void unlock(String lockKey) { RLock lock = redissonClient.getLock(lockKey); 阅读全文
posted @ 2020-08-05 20:08 福大大架构师每日一题 阅读(170) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-14: 1.SETNX+EXPIRE。非原子性。2.SET key value [EX seconds] [PX milliseconds] [NX|XX]EX second :设置键的过期时间为second秒PX millisecond :设置键的过期时间为millisec 阅读全文
posted @ 2020-08-05 20:07 福大大架构师每日一题 阅读(96) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-13: 福哥口诀法:简链字跳整 压快压 SDS simple synamic string:简单动态字符串。支持自动动态扩容的字节数组 。list :链表 。双端链表。dict :字典。使用双哈希表实现的, 支持平滑扩容的字典 。zskiplist :跳跃表。附加了后向指针的 阅读全文
posted @ 2020-08-05 20:01 福大大架构师每日一题 阅读(92) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-12: 问:推箱子关卡可以用电脑求解吗?答:对不太大,箱子不太多的关卡,目前有不少程序都能够求出答案。但是,推箱子已经被数学家和计算机科学家证明 是PSPACE完全(PSPACE-complete)问题,即基本可以认为不存在快速(多项式时间)的求解算法。对于比较大的关卡(如我 阅读全文
posted @ 2020-08-05 19:58 福大大架构师每日一题 阅读(471) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-11: 福哥口诀法:字哈列集有(string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合))位超地流(位图bitmaps, 超日志hyperloglogs, 地理空间索引geospatial indexes,流str 阅读全文
posted @ 2020-08-05 19:56 福大大架构师每日一题 阅读(96) 评论(0) 推荐(0) 编辑
摘要:2020-06-10:给定一个无序数组,里面数都是成双数的,只有一个数是成单数的,求这个数? 如果上面那题里面有两个单数,怎么求出来? 福哥答案2020-06-10: 1.异或2.字典或集合3.排序 golang语言采用异或方式,代码如下: package test22_singlenumber3 阅读全文
posted @ 2020-08-05 19:55 福大大架构师每日一题 阅读(94) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-09: 1.异或2.字典或集合3.排序 golang语言采用异或方式,代码如下: package test21_singlenumber import ( "fmt" "testing" ) //go test -v -test.run TestSingleNumber fu 阅读全文
posted @ 2020-08-05 19:54 福大大架构师每日一题 阅读(105) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-08: golang代码如下: package test20_mergersort import ( "fmt" "testing" ) //go test -v -test.run TestMergerSort func TestMergerSort(t *testing. 阅读全文
posted @ 2020-08-05 19:52 福大大架构师每日一题 阅读(107) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-07: 答案来自群员:对于int类型id,查询的varchar 类型 ‘1’会隐式转换成 1,‘1’和 1都能正常走索引;对于varchar类型id,查询的int 类型 1不会转换,‘1’正常走索引,1走全表; 阅读全文
posted @ 2020-08-05 19:50 福大大架构师每日一题 阅读(154) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-06: 此答案来自群员:按照锁的轻重划分有 偏向锁 轻量级锁 重量级锁按照先后顺序有 公平锁 非公平锁按照使用规则有 重入锁 不可重入锁按照加锁时机有 悲观锁 乐观锁按照场景加锁有 读锁 写锁 读写锁数据库用的比较多的话有 行锁 表锁 临键锁 间隙锁 记录锁 阅读全文
posted @ 2020-08-05 19:49 福大大架构师每日一题 阅读(101) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-05: 1.索引列上有函数。2.不满足最左前缀。3.使用了不等号。 1.唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件。2.更新非常频繁的字段不适合创建索引。3.不会出现在 WHERE 子句中的字段不该创建索引。4.表记录太少。 sql优化,有点沾边。如下:福哥口诀 阅读全文
posted @ 2020-08-05 19:47 福大大架构师每日一题 阅读(261) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-04: 福哥口诀法:拒中丢老调(线程池拒绝策略:中止策略、丢弃策略、弃老策略、调用者运行策略) 简单回答:中止策略:无特殊场景。丢弃策略:无关紧要的任务(博客阅读量)。弃老策略:发布消息。调用者运行策略:不允许失败场景(对性能要求不高、并发量较小)。 详细回答:1.Abort 阅读全文
posted @ 2020-08-05 19:45 福大大架构师每日一题 阅读(1007) 评论(0) 推荐(1) 编辑
摘要:福哥答案2020-06-03: 简单设计:redis+lua。红包池list+抢红包用户hash。是否有红包?用户是否抢过? 中级设计:1.拆红包:预拆包和实时拆包。2.高并发读:缓存。3.并发写:串行化和乐观锁。4.网络流量峰值:大量用户同时抢红包是否会造成网络拥塞,发红包和抢红包最好在同一个ID 阅读全文
posted @ 2020-08-05 19:38 福大大架构师每日一题 阅读(142) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-02: 对于千万级长度的数组单值查找:序号小的,单线程占明显优势;序号大的,多线程占明显优势。单线程时间不稳定,多线程时间稳定。 go语言测试代码如下: package main import ( "fmt" "math/rand" "testing" "time" ) co 阅读全文
posted @ 2020-08-05 19:36 福大大架构师每日一题 阅读(616) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-06-01: fork/join。 对于百万级长度的数组求和,单线程和多线程下区别不大。对于千万级长度的数组求和,多线程明显变快,大概是单线程的2-3倍。 go语言测试代码如下: package test18_sum100w import ( "fmt" "math/rand" " 阅读全文
posted @ 2020-08-05 19:33 福大大架构师每日一题 阅读(387) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-31: 使用keys指令可以扫出指定模式的key列表。对方接着追问:如果这个redis正在给线上的业务提供服务,那使用keys指令会有什么问题?这个时候你要回答redis关键的一个特性:redis的单线程的。keys指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕 阅读全文
posted @ 2020-08-05 19:13 福大大架构师每日一题 阅读(211) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-30: 场景描述,对于主从库,读写分离,如果主从库更新同步有时差,就会导致主从库数据的不一致。1、忽略这个数据不一致,在数据一致性要求不高的业务下,未必需要时时一致性。2、强制读主库,使用一个高可用的主库,数据库读写都在主库,添加一个缓存,提升数据读取的性能。3、选择性读主库 阅读全文
posted @ 2020-08-05 19:11 福大大架构师每日一题 阅读(262) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-29: Redis 高可用架构如下:1.Redis Sentinel 集群 + 内网 DNS + 自定义脚本。2.Redis Sentinel 集群 + VIP + 自定义脚本。3.封装客户端直连 Redis Sentinel 端口。4.JedisSentinelPool,适 阅读全文
posted @ 2020-08-05 19:09 福大大架构师每日一题 阅读(128) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-28: 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位才能得到锁。优点:所有的线程都能得到资源,不会饿死在队列中。缺点:吞吐量会下降很多,队列里面除了第一个线程,其他的线程都会阻塞,cpu唤醒阻塞线程的开销会很大。 非公平锁:多个线程 阅读全文
posted @ 2020-08-05 19:03 福大大架构师每日一题 阅读(101) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-27: SpringCloud分布式开发五大组件详解服务发现——Netflix Eureka客服端负载均衡——Netflix Ribbon断路器——Netflix Hystrix服务网关——Netflix Zuul分布式配置——Spring Cloud Config 分布式追 阅读全文
posted @ 2020-08-05 19:01 福大大架构师每日一题 阅读(89) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-26: 阅读全文
posted @ 2020-08-05 18:59 福大大架构师每日一题 阅读(86) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-25: 应用场景:解耦、异步、削峰。区别如下:特性 ActiveMQ RabbitMQ RocketMQ Kafka单机吞吐量 万级,比 RocketMQ、Kafka 低一个数量级 同 ActiveMQ 10 万级,支撑高吞吐 10 万级,高吞吐,一般配合大数据类的系统来进行 阅读全文
posted @ 2020-08-05 18:55 福大大架构师每日一题 阅读(506) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-24: Zk分布式锁有两种实现方式一种比较简单,应对并发量不是很大的情况。获得锁:创建一个临时节点,比如/lock,如果成功获得锁,如果失败没获得锁,返回false释放锁:删除/lock节点锁等待:使用监听机制,监听lock节点,如果lock节点被删除,重新去抢锁,否则一直等 阅读全文
posted @ 2020-08-05 18:53 福大大架构师每日一题 阅读(211) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-23: 计数器、漏桶、令牌桶。 除了算法手动实现限流 guava也有提供限流工具 除了程序内限流 gateway 网关nginx也能实现限流。 短连接无状态的的集群并发接口的限流 只能靠 7层负载均衡器上的网关功能。长连接或者说有状态的接口 限流 依靠 类分布式锁 准分布式锁 阅读全文
posted @ 2020-08-05 18:50 福大大架构师每日一题 阅读(114) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-22: 防重放:幂等性,url里添加唯一标识参数防篡改:url里添加签名参数 阅读全文
posted @ 2020-08-05 18:48 福大大架构师每日一题 阅读(155) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-21: es不熟悉,答案仅供参考:es写数据过程1、客户端选择一个node发送请求过去,这个node就是coordinating node(协调节点)2、coordinating node 对document进行路由,将请求转发给对应的node(有primary shard) 阅读全文
posted @ 2020-08-05 17:57 福大大架构师每日一题 阅读(98) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-20: 停机迁移、双写迁移 阅读全文
posted @ 2020-08-05 17:45 福大大架构师每日一题 阅读(123) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-19: 如果不着急用钱,贷款最好别碰。当你没欠款的时候,诱导你欠款。当你欠款还不上的时候,会经常被骚扰,叫你还上。给我的感觉就是叫良家妇女入风尘,叫风尘女子从良。短信催收:快到期的时候,短信提示。电话催收:已经过期了,第一次电话,看是不是搞忘了。第N次电话,看怎么诱导优先还款 阅读全文
posted @ 2020-08-05 17:42 福大大架构师每日一题 阅读(124) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-18:此答案来自群员:因为4.0成型那个年代,B树体系大量用于文件存储系统,甚至当年的Longhorn的winFS都是基于b树做索引,开源而且好用的也就这么个体系了。B+树的磁盘读写代价更低,便于遍历,查询效率更加稳定,更适合基于范围的查询。数据来了先用索引节点找叶子,叶子找 阅读全文
posted @ 2020-08-05 17:40 福大大架构师每日一题 阅读(87) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-17: 通过加锁解决缓存击穿问题。布隆过滤器是解决缓存穿透问题的。 阅读全文
posted @ 2020-08-05 17:35 福大大架构师每日一题 阅读(77) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-16: 阅读全文
posted @ 2020-08-05 17:33 福大大架构师每日一题 阅读(54) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-15: 阅读全文
posted @ 2020-08-05 17:32 福大大架构师每日一题 阅读(68) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-14: 此答案来自群员:分布式session ,最开始起源是双机热备,当时php1和php2为了共享session,一开始采用samba/nfs,后来php有了插件以后就扔当时刚刚起步的mdb/redis , 后来java出现了jwt令牌机制,再到后来越发成熟的Oauth2机 阅读全文
posted @ 2020-08-05 17:30 福大大架构师每日一题 阅读(106) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-13: XA协议能搞定两个数据库的事务(分布式标准事务),为什么还要放弃?1.性能低,2.A的api不希望直接用B的数据库,希望调用B的api。柔性事务放弃了ACID,只保证了一致性。常用柔性事务框架:seata框架,lcn框架。 阅读全文
posted @ 2020-08-05 17:28 福大大架构师每日一题 阅读(100) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-12: 答案仅供参考:2.需要幂等的场景可能会发生重复请求或消费的场景,在微服务架构中是随处可见的。以下是笔者梳理的几个常见场景: 网络波动:因网络波动,可能会引起重复请求 分布式消息消费:任务发布后,使用分布式消息服务来进行消费,参考【消息总线真的能保证幂等?】 用户重复操 阅读全文
posted @ 2020-08-05 17:26 福大大架构师每日一题 阅读(241) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-11: 此答案不完善,仅供参考。开10个实例相对更占资源,在多核下能充分利用资源。 阅读全文
posted @ 2020-08-05 17:24 福大大架构师每日一题 阅读(176) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-10: 调用一次和多次,对资源产生影响是相同的。 阅读全文
posted @ 2020-08-05 17:23 福大大架构师每日一题 阅读(87) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-09: 丨 ->垂直— ->水平 分库分表方案如下:merge存储引擎amoebaMySQL ProxymycatCobarClientHibernateShardguzzTDDLAtlasDRDS 阅读全文
posted @ 2020-08-05 17:18 福大大架构师每日一题 阅读(117) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-08:答案仅供参考,来自群员 使用activity时,连接mycat设置进去的序列化的流程变量,反序列化会报错这个类型字段类型是blob类型,mycat对这种类型处理时有点问题 阅读全文
posted @ 2020-08-05 17:16 福大大架构师每日一题 阅读(193) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-07: 福哥口诀法:C初并重清(初始标记、并发标记、重新标记、并发清除) 整个过程分为 4 个步骤,包括:初始标记:仅仅只是标记一下 GCRoots 能直接关联到的对象,速度很快,需要停顿(STW-Stoptheworld)。并发标记:从 GCRoot 开始对堆中对象进行可达 阅读全文
posted @ 2020-08-05 17:14 福大大架构师每日一题 阅读(140) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-06: 福哥口诀法:对大长动空(堆内存分配策略:对象优先在Eden分配,大对象直接进入老年代,长期存活的对象将进入老年代,动态对象年龄判定,空间分配担保) Java对象分配的过程1.编译器通过逃逸分析,确定对象是在栈上分配还是在堆上分配。如果是在堆上分配,则进入选项2.2.如 阅读全文
posted @ 2020-08-05 17:12 福大大架构师每日一题 阅读(101) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-05: 堆分为新生代:老年代=1:2,新生代分为e区和两个s区8:1:1 阅读全文
posted @ 2020-08-05 17:09 福大大架构师每日一题 阅读(93) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-04: 句柄池、直接指针。HotspotVM使用的是直接指针的定位方式。 阅读全文
posted @ 2020-08-05 17:07 福大大架构师每日一题 阅读(82) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-03: 福哥口诀法:标类长(对象头:markword标记字、klass类型指针、数组长度(仅限于数组)) 无偏轻重G(锁状态:无锁、偏向锁、轻量级锁、重量级锁、GC标记) 未哈未年标,25 31 1 (64位无锁情况:未使用25、hashcode31、未使用1、年龄4、偏向标 阅读全文
posted @ 2020-08-05 17:05 福大大架构师每日一题 阅读(225) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-02: 福哥口诀法:头实填 (存储布局:对象头、实例数据、对齐填充)标类长(对象头:markword标记字、klass类型指针、数组长度(仅限于数组)) 阅读全文
posted @ 2020-08-05 17:03 福大大架构师每日一题 阅读(108) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-05-01: 福哥口诀法:检分零头初(对象创建的几个步骤:检查加载 分配空间 设置零值 设置对象头 对象初始化) 阅读全文
posted @ 2020-08-05 17:01 福大大架构师每日一题 阅读(122) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-30: 简要回答:三个生产者消费者模式先并联再串联。针对临时存放牛奶地方:牛奶供应生产线为生产者,奶酪生产线为消费者。针对临时存放发酵剂的地方:发酵剂制作生产线为生产者,奶酪生产线为消费者。针对冷库:奶酪生产线为生产者,车为消费者。 详细回答: 1.存放牛奶和发酵剂两个队列, 阅读全文
posted @ 2020-08-05 16:59 福大大架构师每日一题 阅读(269) 评论(0) 推荐(0) 编辑
摘要:2020-04-29:现在你有个秒杀抢购的app,用户不断大量增加,技术层面,你要怎么做,才能既满足用户需求,又能扛住压力,还能帮公司合理支出?福哥答案2020-04-29: 限流(杀部分用户祭天)、削锋、缓存、弹性可拓展 阅读全文
posted @ 2020-08-05 16:58 福大大架构师每日一题 阅读(150) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-28:此答案来自群员,感谢群员支持。 消息堆积 只能考虑 增多消费者 以及后端其他服务 组件的吞吐能力 别的有办法吗 如果更彻底一点 分撒单个队列里的消息 队列 更分门别类 或者 只是简单物理分散 也都能提高吞吐 但是本质都是增多消费者 运维方法 有靠各种 弹性在消息堆积的情 阅读全文
posted @ 2020-08-05 16:56 福大大架构师每日一题 阅读(240) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-27:此答案来自群员,感谢群员支持。 有些题目,表面叫你设计一个连接池,背地里想考你连接池的原理。 面试官你好,如果让我设计一个连接池,首先我会设计一个[核心线程数],用来常驻内存中,迅速响应任务进行。再设计一个[最大可扩展线程数]。用来当任务增多的时候最多扩展线程的数量,当 阅读全文
posted @ 2020-08-05 16:54 福大大架构师每日一题 阅读(124) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-26: 无锁、偏向锁、轻量级锁、重量级锁 阅读全文
posted @ 2020-08-05 16:51 福大大架构师每日一题 阅读(74) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-25:答案均从群聊中来,不能保证100%正确。 1.redis集群+zset有序集合2.hadoop3.kafka4.flink或者spark streaming5.mysql:select userid from records group by userid having 阅读全文
posted @ 2020-08-05 16:48 福大大架构师每日一题 阅读(120) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-25:这道题最好把对象和变量分开说明,否则容易产生误解。以下都是64位环境下。针对对象:压缩状态:MarkWord 8+klass 4+数据0+对齐4=16非压缩状态:MarkWord 8+klass 8+数据0+对齐0=16 针对变量:压缩状态:4非压缩状态:8 阅读全文
posted @ 2020-08-05 16:47 福大大架构师每日一题 阅读(151) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-23: 分批查询:分成500次count(),每次count()肯定小于等于2000条数据,经过测试,一次count()在.1ms左右,500次就是500ms。二分法(时间微超):count() 50万,25万,12.5万依次下去。rownum作差(时间超):rownum和i 阅读全文
posted @ 2020-08-05 16:45 福大大架构师每日一题 阅读(195) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-22: jdk1.8下的hashmap采用的是尾插法,不会有链表成环的问题。jdk1.7下采用的头插***有链表成环的问题。 hashmap成环原因的代码出现在transfer代码中,也就是扩容之后的数据迁移部分 解释一下transfer的过程:首先获取新表的长度,之后遍历新 阅读全文
posted @ 2020-08-05 16:43 福大大架构师每日一题 阅读(465) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-22: 索普唯复聚非全(普通索引、唯一索引、复合索引(组合索引、联合索引)、聚簇索引、非聚簇索引、全文索引) 主键索引、倒排索引、覆盖索引、哈希索引、B+树、空间数据索引(RTree) 阅读全文
posted @ 2020-08-05 16:41 福大大架构师每日一题 阅读(85) 评论(0) 推荐(0) 编辑
摘要:静态代理Java中的静态代理要求代理类(ProxySubject)和委托类(RealSubject)都实现同一个接口(Subject)。静态代理中代理类在编译期就已经确定,而动态代理则是JVM运行时动态生成,静态代理的效率相对动态代理来说相对高一些,但是静态代理代码冗余大,一单需要修改接口,代理类和 阅读全文
posted @ 2020-08-05 16:39 福大大架构师每日一题 阅读(228) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-19: 构造一个一一映射x→f(x)。定义域和值域都是0到999999,当x加1时,y的变化必须看起来杂乱无章。然后从0到99万循环x,打印f(x)。直接找杂乱无章的f(x)是可以的,由于我不是专门研究数学的,就不考虑了。 分块+每位随机。100万以内的数字总共有6位,个位, 阅读全文
posted @ 2020-08-05 16:38 福大大架构师每日一题 阅读(255) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-19:采纳群员答案: 1 synchronized是关键字,reentrantlock是类,API层面的2 前者是通过monitor来实现锁机制,后者是基于AQS实现的,通过内部类sync继承aqs实现3前者会自动释放锁,后者需要手动释放4 前者是非公平锁,后者可以是公平或非 阅读全文
posted @ 2020-08-05 16:35 福大大架构师每日一题 阅读(105) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-18: 这是一道挖坑题。内存占用只会比6g多一点,不会用12g。fork+cow。 阅读全文
posted @ 2020-08-05 16:33 福大大架构师每日一题 阅读(419) 评论(0) 推荐(0) 编辑
摘要:MySQL的大多数事务型存储引擎实现的都不是简单的行级锁。基于提升并发性能的考虑,它们一般都同时实现了多版本并发控制(MVCC)。不仅是MySQL,包括Oracle、PostgreSQL等其他数据库系统也都实现了MVCC,但各自的实现机制不尽相同,因为MVCC没有一个统一的实现标准。 1 2 3 4 阅读全文
posted @ 2020-08-05 16:26 福大大架构师每日一题 阅读(108) 评论(0) 推荐(0) 编辑
摘要:1、Mysql怎么保证一致性的? OK,这个问题分为两个层面来说。 从数据库层面,数据库通过原子性、隔离性、持久性来保证一致性。也就是说ACID四大特性之中,C(一致性)是目的,A(原子性)、I(隔离性)、D(持久性)是手段,是为了保证一致性,数据库提供的手段。数据库必须要实现AID三大特性,才有可 阅读全文
posted @ 2020-08-05 16:24 福大大架构师每日一题 阅读(405) 评论(0) 推荐(0) 编辑
摘要:能通过less命令打开文件,通过Shift+G到达文件底部,再通过?+关键字的方式来根据关键来搜索信息。 能通过grep的方式查关键字,具体用法是, grep 关键字 文件名,如果要两次在结果里查找的话,就用grep 关键字1 文件名 | 关键字2 --color。最后--color是高亮关键字。 阅读全文
posted @ 2020-08-05 16:22 福大大架构师每日一题 阅读(246) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-11: 1 排查api服务 是否是有大量请求 2 查看mysql的系统情况 cpu 磁盘io 连接数 还是要先定位问题出现在哪个环节 阅读全文
posted @ 2020-08-05 16:15 福大大架构师每日一题 阅读(143) 评论(0) 推荐(0) 编辑
摘要:jstat -gc pid可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 2.jstat -gccapacity pid可以显示,VM内存中三代(young,old,perm) 阅读全文
posted @ 2020-08-05 16:12 福大大架构师每日一题 阅读(352) 评论(0) 推荐(0) 编辑
摘要:Ioc的底层原理 (1)xml配置文件 (2)dom4j解析xml (3)工厂设计模式 (4)反射 阅读全文
posted @ 2020-08-05 16:07 福大大架构师每日一题 阅读(94) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-08: 策略,工厂。 阅读全文
posted @ 2020-08-05 16:03 福大大架构师每日一题 阅读(83) 评论(0) 推荐(0) 编辑
摘要:1.会话状态转换为update 2.激活事物状态由 not_active 变为 active 3.查找定位数据 4.进行乐观插入 记录insert的undo记录记录undo的redo log 入redo buffer进行insert 元组插入,及实际的插入操作记录插入的redo log 入redo 阅读全文
posted @ 2020-08-05 16:00 福大大架构师每日一题 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2020-08-05 15:59 福大大架构师每日一题 阅读(104) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-04:超时释放锁。 阅读全文
posted @ 2020-08-05 15:56 福大大架构师每日一题 阅读(139) 评论(0) 推荐(0) 编辑
摘要:从eureka工作原理可以看出,eureka client有缓存功能,即使eureka所有的serve都宕掉,仍然能给服务消费者发送服务信息,所以eureka保证了服务可用性,不能保证数据一致性,是一个AP。 而zk,每当master宕机后,都会进行重新选举,重新选举这个过程(一般几十秒),是不能提 阅读全文
posted @ 2020-08-05 15:53 福大大架构师每日一题 阅读(132) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020年3月26日:口诀如下:单开里依接迪合桥适装代组外享建单抽工原模策观责命访 状中迭备解单开里依接迪合 (面向对象七大原则:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、合成复用原则) 桥适装代组外享(结构型:桥接。适配器。装饰器。代理。组合。外观。享元 阅读全文
posted @ 2020-08-05 15:51 福大大架构师每日一题 阅读(96) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-03-25: 享元模式。 阅读全文
posted @ 2020-08-05 15:47 福大大架构师每日一题 阅读(602) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-19: 阅读全文
posted @ 2020-08-05 15:45 福大大架构师每日一题 阅读(73) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-14: 洪泛攻击 阅读全文
posted @ 2020-08-05 15:43 福大大架构师每日一题 阅读(124) 评论(0) 推荐(0) 编辑
摘要:TIME_WAIT状态存在有两个原因。<1>可靠终止TCP连接。如果最后一个ACK报文因为网络原因被丢弃,此时server因为没有收到ACK而超时重传FIN报文,处于TIME_WAIT状态的client可以继续对FIN报文做回复,向server发送ACK报文。<2>保证让迟来的TCP报文段有足够的时 阅读全文
posted @ 2020-08-05 15:41 福大大架构师每日一题 阅读(351) 评论(0) 推荐(0) 编辑
摘要:假想一下,如果我们去掉了第三次呢?如果只是第二次建立的话,服务端和客户端就已经建立,但是如果客户端没有收到服务端的回应?这个时候,客户端认为没有建立,服务端却为认为建立成功,并保存了必要的资源,如果出现大量的这样的情况。那么服务器会奔溃。因此第三次握手是必要的。 为什么不是四次因为三次握手后,C和S 阅读全文
posted @ 2020-08-05 15:39 福大大架构师每日一题 阅读(99) 评论(0) 推荐(0) 编辑
摘要:Servlet的生命周期分为5个阶段:实例化:Servlet容器创建Servlet类的实例。初始化:该容器调用init()方法,通常会申请资源。服务:由容器调用service()方法,(也就是doGet()和doPost())。破坏:在释放Servlet实例之前调用destroy()方法,通常会释放 阅读全文
posted @ 2020-08-05 15:38 福大大架构师每日一题 阅读(112) 评论(0) 推荐(0) 编辑
摘要:红黑树的阈值是8,当链表大于等于8时链表变成了红黑树结构,大大减少了查找的时间。 当长度低于6时会由红黑树转成链表,TreeNodes占用空间是普通Nodes的两倍,所以只有当bin包含足够多的节点时才会转成TreeNodes,而是否足够多就是由TREEIFY_THRESHOLD的值决定的,当bin 阅读全文
posted @ 2020-08-05 15:37 福大大架构师每日一题 阅读(1065) 评论(0) 推荐(0) 编辑
摘要:福哥口诀法:核最生单任线拒 阅读全文
posted @ 2020-08-05 15:36 福大大架构师每日一题 阅读(109) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-04-04:头插改尾插,解决链表成环的问题。链表改成链表和红黑树。 阅读全文
posted @ 2020-08-05 15:35 福大大架构师每日一题 阅读(88) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-03-27:一次遍历 或者 小根堆 阅读全文
posted @ 2020-08-05 15:34 福大大架构师每日一题 阅读(209) 评论(0) 推荐(0) 编辑
摘要:福哥答案2020-03-26: 口诀如下:冒选插希快 堆归计桶基(冒泡,选择,插入,希尔,快速,堆,归并,计数,桶,基数)冒线 平平 稳常小选平 平平 不常小插线 平平 稳常序希线 四组 不常组快四 四平 不对大堆四 四四 不常大归四 四四 稳线大计加 加加 稳k空桶加 加平 稳加空基乘 乘乘 稳加 阅读全文
posted @ 2020-08-05 15:33 福大大架构师每日一题 阅读(195) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示