Fork me on GitHub
摘要:背景 如果前人认为这个一种学习提高或者检验能力的成功实践。而自己目前又没有更好的方法,那就不妨试一试。 而不管作为面试官还是被面试者,编码题最近越来越流行。而两种角色都需要思考的问题是希望考察什么能力,通过什么题目,需要达到怎样的程度可以说明面试者具有了这样的能力。 而要找到上面这些问题的答案,比较 阅读全文
posted @ 2020-06-28 08:44 编程一生 阅读(956) 评论(0) 推荐(5) 编辑
摘要:背景 之前做过一个项目,数据库存储采用的是mysql。当时面临着业务指数级的增长,存储容量不足。当时采用的措施是 1>短期解决容量的问题 mysql从5.6升级5.7,因为数据核心且重要,数据库主从同步采用的是全同步, 利用5.7并行复制新特性,减少了主从同步的延迟,提高了吞吐量。 当时业务量高峰是 阅读全文
posted @ 2020-06-16 09:52 编程一生 阅读(526) 评论(1) 推荐(3) 编辑
摘要:背景 有人对Java主流锁做了下面全面的梳理。梳理的确实挺好的。但是我看到这张图,第一个感觉是:记不住。 因为分了太多类,彼此之间没有什么联系。做PPT可以。如果聊天或者面试,不用纸笔的情况下,就不太好描述了。也不利于对原理和应用的理解。 基于上述的考虑,我就自己系统的梳理一下锁,希望可以有助于大家 阅读全文
posted @ 2020-06-04 07:52 编程一生 阅读(514) 评论(3) 推荐(5) 编辑
摘要:背景 最近了解到很多朋友对限流、熔断、降级、隔离、超时重试的概念和应用场景理解的不是很到位,所以想用五篇的篇幅稍微系统的介绍一下。 本篇是第一篇,是限流做详解,如果反馈好的话,我会继续写下面四篇。不好的话就算了,算我理解不够,再自己总结总结。 限流的概念 有朋友问我限流和熔断有什么区别,我的理解很简 阅读全文
posted @ 2020-06-02 07:57 编程一生 阅读(414) 评论(0) 推荐(1) 编辑
摘要:背景 阿里云上有个阿里巴巴编码规范认证,我估算一下时间成本很低,多个认证也没什么坏处,就花了1分钱报了个名。这个认证报名后就可以下载链接下的编码规范,然后参加个考试应该就OK了。 共48页的规范实际上每读一遍都是要花一些时间的,因为每读一遍就会发现上面有些东西我不信。我需要去证明。过去证明过的因为J 阅读全文
posted @ 2020-05-28 05:32 编程一生 阅读(1154) 评论(3) 推荐(4) 编辑
摘要:HashMap的初始容量 背景 很多人可以把HashMap的原理描述的很溜。比如JDK1.7之前,底层数据结构是数组+链表。JDK1.8之后,出于效率上的考虑,在数组长度大于64,链表长度大于8的时候,会转换为红黑树。 甚至知道对于赋值了容量的都会做一个变成2的n次方的操作。它的hash方法为了防止 阅读全文
posted @ 2020-05-27 00:51 编程一生 阅读(346) 评论(1) 推荐(0) 编辑
摘要:题目一 MyISAM和InnoDB的区别,什么时候选择MyISAM 参考回答 InnoDB是目前MySQL主流版本(5.6、5.7、8.0)默认的存储引擎,支持事务、外键、行级锁,对于并发条件下要求数据的一致性,适用于对数据准确性要求高的场景。 MyISAM只支持表级锁、数据排列是按照插入顺序,没有 阅读全文
posted @ 2020-05-26 00:29 编程一生 阅读(732) 评论(0) 推荐(7) 编辑
摘要:字符串拼接:请用StringBuffer代替String直接相加提高性能 过去的理论 有没有人告诉过你开发中不要 String newString = "牛郎"+"织女"; 而是要根据是否线程安全采用 String newString = new StringBuffer("牛郎").append( 阅读全文
posted @ 2020-04-02 23:27 编程一生 阅读(459) 评论(1) 推荐(4) 编辑
摘要:引子 先介绍几个概念,同步一下认知: 容灾:是指系统冗余部署,当一处由于意外停止工作,整个系统应用还可以正常工作。 容错:是指在运行中出现错误(如上下游故障或概率性失败)仍可正常提供服务。 可用性:描述的是系统可提供服务的时间长短。用公式来说就是A=MTBF/(MTBF+MTTR),即正常工作时间/ 阅读全文
posted @ 2020-03-17 13:25 编程一生 阅读(607) 评论(0) 推荐(2) 编辑
摘要:引子 为什么我要刷leetcode?换工作?不是!那是?玩!巴菲特的双目标清单系统,基本方法是列两个清单,一个是职业生涯最重要的目标(不超过5个),另一个是比较重要的目标。对于比较重要的目标,要像躲避瘟疫一样的去躲避它们,不投入任何的时间和精力,把这些资源花在最重要的目标上。这个双目标清单系统以方法 阅读全文
posted @ 2019-10-29 09:21 编程一生 阅读(2091) 评论(7) 推荐(6) 编辑
摘要:引子 很早之前听同事说:“要开会了。我都知道领导要问什么,就那几板斧。”其实领导之所以为领导,人家问的问题确实很合情合理,甚至可以说一针见血。而之所以能问出来这些合理的问题,就是因为头脑中有自己的思考框架。比如要做一件事情,一个思考框架就是: 1,我们现在是什么样的? 2,我们要做成什么样(解决什么 阅读全文
posted @ 2019-10-28 09:17 编程一生 阅读(823) 评论(3) 推荐(2) 编辑
摘要:引子 这是我第二遍读此书,我认为并且希望这次阅读对我整个人生产生深远的影响。人一出生身上带着母体的抵抗力,大概6个月以后开始渐渐消失,靠自身的抵抗力活着。30岁前很多人会带着上天给的运气,终有一天,用尽了所有的运气,从此只能靠实力活着了。几年前,我非常失败,同时却非常骄傲。相比一起毕业的同届,混的并 阅读全文
posted @ 2019-10-27 19:46 编程一生 阅读(401) 评论(0) 推荐(1) 编辑
摘要:引子 妈妈要我的时候已经40岁了。她一定是下了很大的决定才决定终究还是想要个女孩,希望这个女孩可以解救她的孤独。上高三的时候,有次又是因为哥哥的事情,妈妈把我从学校接回家。一个劲儿的问我怎么办好。在我能和她一起思考前的50多年里,她该是多么无助。所以当我不断看自己的掌纹,上面的起起伏伏。在想这一切解 阅读全文
posted @ 2019-10-24 12:34 编程一生 阅读(1199) 评论(0) 推荐(3) 编辑
摘要:Tair是为了解决什么问题而生? Redis很好用,相比memcached多了很多数据结构,支持持久化。但是在很长一段时间里,原生是不支持分布式的。后来就出现了很多redis集群类产品,Tair是其中胜出的优秀作品之一。 所以Tair的特性都是一些集群的特性,比如:容错、解决单点故障、跨机房管理、多 阅读全文
posted @ 2019-10-11 09:36 编程一生 阅读(673) 评论(0) 推荐(1) 编辑
摘要:kafka的术语(Terminology) Topic 和Consumer Group Topic 每条发布到 Kafka 集群的消息都有一个类别,这个类别被称为 Topic。(物理上不同 Topic 的消息分开存储,逻辑上一个 Topic 的消息虽然保存于一个或多个 broker 上但用户只需指定 阅读全文
posted @ 2019-10-10 22:52 编程一生 阅读(408) 评论(1) 推荐(1) 编辑