摘要: 每个时代,都不会亏待会学习的人。 大家好,我是 yes。 我持续在 LeetCode 刷算法题将近有一年半的时间了,这一年半以来我对算法的看法改变了很多,但是实话实说支持我前进的还是面试。 在之前的文章提到过我是面试驱动型选手,我享受面试官问我啥我都嘴角一翘微微一笑的那种不羁,而近年来算法在面试中的 阅读全文
posted @ 2020-10-21 09:22 yes的练级攻略 阅读(795) 评论(3) 推荐(1) 编辑
摘要: 深入源码分析一波。 阅读全文
posted @ 2020-10-20 10:06 yes的练级攻略 阅读(895) 评论(1) 推荐(0) 编辑
摘要: 每个时代,都不会亏待会学习的人。 在进入今天主题之前我先抛几个问题,这篇文章一共提出 23 个问题。 TCP 握手一定是三次?TCP 挥手一定是四次? 为什么要有快速重传,超时重传不够用?为什么要有 SACK,为什么要有 D-SACK? 都知道有滑动窗口,那由于接收方的太忙了滑动窗口降为了 0 怎么 阅读全文
posted @ 2020-10-19 09:43 yes的练级攻略 阅读(3066) 评论(4) 推荐(9) 编辑
摘要: 这个源码感觉优化的还不够彻底啊! 阅读全文
posted @ 2020-10-16 11:51 yes的练级攻略 阅读(587) 评论(0) 推荐(2) 编辑
摘要: 每个时代,都不会亏待会学习的人。 大家好,我是 yes。 这种设计类问题想必大家都不陌生,面试时或多或少都能碰到。 比如如何写一个线程池?如何写一个 HashMap ?如何写一个 RPC 框架等等,当然这里的写不是真的叫你用代码写出来,只是说说设计理念,整体架构。 这个面试题来自于一个读者的字节面试 阅读全文
posted @ 2020-10-13 13:56 yes的练级攻略 阅读(970) 评论(1) 推荐(2) 编辑
摘要: 每个时代,都不会亏待会学习的人。 大家好,我是 yes。 对于我们程序员来说计算机的重要性不言而喻,相信大家对计算机内部也有一定的了解。 但是大家有没想过为什么一堆逻辑门组合起来就能运算了?它是如何运作来实现加减法的? 为什么 cpu 会不停地取指执行?是什么在驱动着它? 今天我就和大家一起来探索一 阅读全文
posted @ 2020-10-10 14:21 yes的练级攻略 阅读(3615) 评论(21) 推荐(37) 编辑
摘要: 2PC、3PC、TCC及变体、XA实现、Seata原理等等,你要的全都有。 阅读全文
posted @ 2020-10-09 10:05 yes的练级攻略 阅读(1677) 评论(5) 推荐(16) 编辑
摘要: 每个时代,都不会亏待会学习的人。 大家好,我是 yes。 HTTP 协议在当今的互联网可谓是随处可见,一直默默的在背后支持着网络世界的运行,对于我们程序员来说 HTTP 更是熟悉不过。 平日里我们都说架构是演进的,需求推动着技术的迭代、更新和进步,对于 HTTP 协议来说也是如此。 不知你是否有想过 阅读全文
posted @ 2020-09-29 10:04 yes的练级攻略 阅读(932) 评论(4) 推荐(4) 编辑
摘要: 大家好,我是 yes。 昨天表弟说有个学妹问他 Redis 为什么要用 CRC16(key) mod 16384 来计算 key 所处槽的位置,我想这 CRC 一般都是用来校验的,通过多项式转换成二进制再通过模2除法得到余数,这里用来做个 Hash 函数好像用的也没啥毛病(对于CRC不太了解的同学可 阅读全文
posted @ 2020-08-09 08:38 yes的练级攻略 阅读(359) 评论(0) 推荐(1) 编辑
摘要: 大家好,我是yes。 最近看 Kafka 看到了时间轮算法,记得以前看 Netty 也看到过这玩意,没太过关注。今天就来看看时间轮到底是什么东西。 为什么要用时间轮算法来实现延迟操作? 延时操作 Java 不是提供了 Timer 么? 还有 DelayQueue 配合线程池或者 ScheduledT 阅读全文
posted @ 2020-08-07 21:15 yes的练级攻略 阅读(897) 评论(0) 推荐(0) 编辑