自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(618)
  • 收藏
  • 关注

原创 MySQL高端局,不把这些吃透,谈什么优化?

MySQL,一个熟悉又陌生的名词,早在学习Javaweb的时候,我们就用到了MySQL数据库,在那个阶段,MySQL对我们来说似乎只是一个存储数据的好东西,存储时一股脑往里边塞,查询时也是盲目的全表查询(不带一点点优化)。​我们总是自欺欺人的觉得,我们通过其他方面来优化就好了阿,迟迟不愿面对MySQL高级,转而学习一些看似更为"高级"的东西,学Redis,来分担MySQL的压力,学MyCat等中间件,实现主从复制,读写分离,分库分表等等。(说的就是melo没错了)​到了准备面试的时候,发现面试题

2022-04-19 13:54:51 11883 12

原创 拿捏大厂面试,2022最新版的Java面试突击班手册

前言最近很多同学已经成功“拿捏”了今年的面试,好多同学给老师说,2022最新版的Java面试突击班的内容给自己提供了很大的帮助,在这里很感谢这些同学对老师的认可,老师会持续奋战在Java教培的一线,了解最新的技术并且提供给大家学习! 话说回来,今天给大家分享的就是咱们2022版面试突击班的文字PDF版本,如果大家需要视频版本也可以一并送给大家的,下面是文字版的分享大家可以详细往下看!由于文章的篇幅有限,所以这里只为大家截图一些大标题内容,里面详细的小标题内容就不为大家截图了,等大家自己拿到手之后可以

2022-05-17 21:30:50 625 1

原创 阿里面试官:你先简单说说JVM 是如何管理内存的吧?

Java 的内存管理都是由 JVM 来进行管理的,不需要程序员手动管理内存,这对于程序员来说是友好的。 但一件事有好处就有坏处。 假如内存管理出现了问题,如果我们不了解 JVM 是如何管理内存的,那么排查问题将会是一项异常艰难的工作。1、运行时数据区域Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途。1.1 程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看.

2022-05-17 20:54:39 747

原创 当 key 达到过期时间,Redis 就会马上删除么?

码哥,当 key 达到过期时间,Redis 就会马上删除么?先说结论,并不会立马删除,Redis 有两种删除过期数据的策略:定期选取部分数据删除; 惰性删除;该命令在 Redis 2.4 版本,过期时间并不是很精确,它可能在零到一秒之间。从 Redis 2.6 开始,过期错误为 0 到 1 毫秒。EXPIRE key seconds [ NX | XX | GT | LT] 指令可以将指定的 key 设置过期时间,如果没有设置过期时间, key 将一直存在,除非我们明确将其删...

2022-05-17 15:35:25 1501

原创 SpringBoot终于受不了这种滥用,对循环依赖说再见

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,非公众号转载保留此声明。Spring的Bean管理,一直是整个体系中津津乐道的东西。尤其是Bean的循环依赖,更是很多面试官最喜欢考察的2B知识点之一。但事实上,项目中存在Bean的循环依赖,是代码质量低下的表现。多数人寄希望于框架层来给擦屁股,造成了整个代码的设计越来越糟,最后用一些奇技淫巧来填补犯下的错误。还好,SpringBoot终于受不了这种滥用,默认把循环依赖给禁用了!从2.6版本开始,如果你的项目里还存在循环依赖,..

2022-05-17 15:11:16 688 2

原创 CTO给我炫了一遍RocketMQ 的设计理念剖析

前言张大胖最近是又喜又忧,喜的是业务量发展猛增,忧的是由于业务量猛增,一些原来不是问题的问题变成了大问题,比如说新会员注册吧,原来注册成功只要发个短信就行了,但随着业务的发展,现在注册成功也需要发 push,发优惠券,...等这样光注册用户这一步就需要调用很多服务,导致用户注册都需要花不少时间,假设每个服务调用需要 50 ms,那么光以上服务就需要调用 200 ms,而且后续产品还有可能再加一些发新人红包等活动,每加一个功能,除了引入额外的服务增加耗时外,还需要额外集成服务,重发代码,实在让

2022-05-17 14:09:40 227

原创 前后端分离:怎样能提高对接效率,并且代码更优雅呢?

现在大多数公司项目框架,基本都是属于前后端分离模式,这种模式会涉及到一个前后端对接问题,无论是对前端或者是后台服务,维护一套完善且规范的接口是非常有必要的,这样不仅能够提高对接效率,也可以让我的代码看起来更加简洁优雅。修改前后最大的区别是我们不用在每个接口单独捕获异常,也不用在每个接口都要组装一遍返回参数,可以参考下面这张对比图:一、SpringBoot不使用统一返回格式默认情况下,SpringBoot会有如下三种返回情况。1.1 字符串@GetMapping("/getUse

2022-05-16 20:41:27 1525

原创 阿里巴巴开源SpringBoot深度历险(嵩山版),实现面试进阶

前言大家可以回想一下,当初我们最开始学习Java的时候,搭建一个Web所需要的步骤。。。1、配置web.xml,加载spring和spring mvc2、配置数据库连接、配置spring事务3、配置加载配置文件的读取,开启注解4、配置日志文件...5、配置完成之后部署tomcat 调试现在回看一下,真的是yue了!现在大家学Spring,需要搭建一个新的项目时都是先从SpringBoot入手,用SpringBoot只需要非常少的几个配置就可以迅速搭建起来一套web项目或者微服务(

2022-05-16 17:05:12 590

原创 概念详解:MySQL不同事务之间的隔离性,如何实现?

前言MySQL有ACID四大特性,本文着重讲解MySQL不同事务之间的隔离性的概念,以及MySQL如何实现隔离性。下面先罗列一下MySQL的四种事务隔离级别,以及不同隔离级别可能会存在的问题。事务隔离级别越高,多个事务在并发访问数据库时互相产生数据干扰的可能性越低,但是并发访问的性能就越差。(相当于牺牲了一定的性能去保证数据的安全性)下面这张表,展示了MySQL的四大隔离级别和伴随着的一些问题,下面详细介绍。事务隔离级别读未提交:多个事务同时修改一条记录,A事务对其的改动在A事务还没

2022-05-16 14:41:44 286

原创 同事问我Nacos集群架构到底怎么用?我笑了

前言由于在公司,注册中心和配置中心都是使用的Nacos,因为前一段时间比较忙(木有划水时间),没有精力仔细去研究,时间就像海绵里的水,挤一挤总会是有的,出于对技术的好奇心,今天挤了一点时间,终于到了我牧汉三出马的时候。今儿个就说一说Nacos集群架构是如何搭配,以及在企业中是如何使用的。Nacos集群架构在搭建Nacos集群之前,我们首先要了解一下Nacos的架构,工欲善其事必先利其器,磨刀不费砍材功,在上一节中,我们了解了Nacos基础功能,对Nacos的一些基本使用和配置,但是这些在实际..

2022-05-16 14:29:16 524

原创 字节面试真题:什么是伪共享?图文详解一番

大家好!周末的时候,有个读者跟我说,面试字节的时候被问到:「什么是伪共享?又该怎么避免伪共享的问题?」这个其实是考察 CPU 缓存的问题,我之前的图解系统也有提到过。今天,我再跟大家讲一下。正文CPU 如何读写数据的?先来认识 CPU 的架构,只有理解了 CPU 的 架构,才能更好地理解 CPU 是如何读写数据的,对于现代 CPU 的架构图如下:可以看到,一个 CPU 里通常会有多个 CPU 核心是,比如上图中的 1 号和 2 号 CPU 核心,并且每个 CPU 核心

2022-05-16 14:13:10 207

原创 Future机制,绝对是并发编程里必须跨过的坎

前言Java 5在concurrency包中引入了java.util.concurrent.Callable 接口,它和Runnable接口很相似,但它可以返回一个对象或者抛出一个异常。Callable接口使用泛型去定义它的返回类型。Executors类提供了一些有用的方法在线程池中执行Callable内的任务。由于Callable任务是并行的,我们必须等待它返回的结果。而线程是属于异步计算模型,所以不可能直接从别的线程中得到函数返回值。java.util.concurrent.Future对象

2022-05-16 13:56:25 732

原创 同事告诉我他代码丝滑的原因是用了 Mybatis Plus?

1. Mybatis 存在的痛点我们知道 MyBatis 是一个基于 java 的持久层框架,它内部封装了 jdbc,极大提高了我们的开发效率。但是使用 Mybatis 开发也有很多痛点:每个 Dao 接口都需要自己定义一堆增删改查方法。/** * @Desc: UserDao 接口 * @Author: 公众号:知否技术 * @date: 下午7:43 2022/5/7 */public interface UserDao { // 获取所有用户信息 Li...

2022-05-14 20:32:26 266

原创 Cloudreve自建云盘实站:容量和速度自己来决定

一、前言为啥要用自建网盘,市面上的云盘不香了?每一个用户需求的背后都是因为有场景存在,而这些差异化的场景也都是因为不同的用户类型产生的。就像我作为技术号主想分享一些自己总结的资料,放到一些云盘以后有时候会被其他不知道从哪冒出来的小伙伴给举报,举报链接就取消了,取消了链接也就影响了我的资料分享。同时我可能还希望我的分享内容能被记录到下载次数、允许几次下载、下载时是否要做一些引流动作等等。所以类似这样的特殊场景下就需要自建网盘来维护个人需要的资料,与之类似的还有一些公司或者组织都会建相对私域的网

2022-05-14 16:09:27 974

原创 大厂程序员都在用的都在用的API管理神器,学到就是赚到

❝ 程序员最讨厌的两件事:1. 写文档,2. 别人不写文档。大多数开发人员不愿意写 API 文档的原因:写文档短期收益远低于付出的成本,然而并不是所有人都能够坚持做有长期收益的事情的。你因为写文档而耽误了当前项目进度,老板会直接找你麻烦;但是因为没写文档而带来的长期收益低,老板是看不见的。这就是现实,让人去做违反人性的事情是非常困难的。 ❞作为一个前后端分离模式开发的团队,我们经常会看到这样的场景:前端开发和后端开发在一起热烈的讨论“你这接口参数怎么又变了?”,“接口怎么又不通了?”,“稍等,我调试.

2022-05-14 15:48:07 2065 1

原创 理论详解:为什么 MySQL 采用B+树作为索引?

前言为什么 MySQL 采用B+树作为索引?如果纯粹的猜测MySQL数据库索引为什么使用B+树?那么围绕这个问题的回答通常一定是围绕B+树本身是什么,有什么优势这两点去解释这个问题。(这不是我开始这么去想的,看了很多文章都是从这一维度问答,这些回答让我失望啊。直到那天问了坐在我旁边那个整天摸鱼的5年程序员;他慵懒的回答:你想为什么是使用的是树结构呢? 咦,听到这回答,一下打开了我的思绪,有点意思!)先抛开B+树是什么,有什么优势,这些先入为主的答案。(我并不想要这个往我脑袋硬塞的硬邦邦.

2022-05-14 15:07:06 475

原创 常读常新,微服务最强内功心法,这些理论得吃透~

前言Building Microservices: Designing Fine Grained Systems 读书笔记。本书偏理论而非实现,可作为内功心法,适合架构师或有经验的系统工程师。常读常新。前言微服务是分布式系统提高细粒度服务(use of finely grained services)使用的一种 方式,在这种模式中,每个服务都有自己独立的生命周期,所有服务共同合作完成整体 的功能。微服务主要是针对业务领域建模的(modeled around business doma

2022-05-14 14:27:26 477

原创 面试大厂真题:怎么实现JVM性能调优?

对于工作3年左右的Java程序员来说,在面试大厂的过程中,面试官可能不会太关注你做了多少个项目、你的CRUD水平如何。更多的是关注你对某项技术点的理解深度,所以说,工作3年左右的小伙伴一定要把自己的重心放到技术的深度上来。今天,我们先一起聊聊关于JVM性能调优的话题,本文的主要结构如下所示。常见面试题关于JVM,一道常见的面试题就是:Java中创建的对象是存储在JVM中的哪个区域的?例如,这里,我们简单的列举一行代码,如下所示。User user = new User();

2022-05-13 20:44:12 418

原创 学Netty前,还是要先把JavaNIO编程模型掌握好

一、Java NIO 基本介绍Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的NIO 相关类都被放在 java.nio 包及子包下,并且对原 java.io 包中的很多类进行改写。NIO是面向缓冲区 ,或者面向 快 编程的。数据读取到一个它稍后处理的缓冲区,需要时可在缓冲区中前后移动,这就增加了处理过程中的灵活性,使

2022-05-13 20:30:48 382

原创 596页阿里面试参考指南首发,助力斩获大厂offer

前言本文主要记录了我的同事能够拿到阿里的offer,一大部分功劳得益于这一本“阿里面试参考指南(恒山版)”,这本手册596页他整整狂刷了29天,收获颇丰。下面咱们就跟着文章一起来看看吧!内容大纲 阿里巴巴高并发秒杀架构 分布式 中间件 数据库 设计模式与实践 数据结构与算法 阿里巴巴面试真实场景还原 ​恒山版阿里巴巴高并发秒杀架构​XA两阶段提交(2PC)

2022-05-13 20:06:41 594

原创 面试被SpringBoot问倒,那是你不知道它还可以这样学?

SpringBoot 以其轻量级、内嵌 Web 容器、一键启动、方便调试等特点被越来越多的微服务实践者所采用。然而知其然还要知其所以然,本 Chat 就来讲解 SpringBoot 核心模块的实现原理,在面试的时候也是会被经常问到的,核心内容主要包括: spring-boot-load 模块,正常情况下一个类加载器只能找到加载路径的 jar 包里面当前目录或者文件类里面的 *.class 文件,SpringBoot 允许我们使用 java -jar archive.jar 运行包含嵌套依赖 jar 的

2022-05-13 19:30:21 197

原创 字节面试复盘:大厂究竟会问些什么呢?

最近这段时间,身边的一个朋友刚刚拿到字节跳动的offer,一起来复盘一下他的offer之路,希望能给正在看机会的你有所帮助。这次面试总共经历了四轮,这四轮面试都是视频面试,其中前三轮是技术面试,最后一轮是hr面试。前三轮技术面试都有一个手动写代码的环节,在牛客网上写。情况也不完全一样,有的是先写代码后面试,有的是先聊一会儿再写代码。首轮面试1.1 算法题开始首先一道算法题,题目是链表上的数字相加。题目类似下面这道leetcode题。https://leetcode-cn.com/p

2022-05-13 15:36:17 218

原创 分享一次对我而言惊心动魄的Java面试

记录一次面试的题和自己的一些理解,通常一般都是自我介绍,项目介绍,问问业务以及后面就是吧拉吧拉的技术细节,反正一句话 “面试过程都是一连串的连环 Q”。如果大家觉得这些问题都能够游刃有余的回答大家出去拿一个高级的 title 问题不大。分布式锁部分redis 分布式锁超时后,第二个线程进入过后会有什么影响?无法保证幂等,可能发生未知问题。分布式锁锁超时如何实现?主线程中,增加延迟队线程池实现。2000 个线程持有锁如何续期呢?框架实现:应该是一个定时任务。 redisson 使用的是

2022-05-13 14:58:59 147

原创 美团OCTO,千亿级的分布式系统,到底牛在哪里?

OCTO 是美团千亿调用量的分布式服务通信框架及服务治理的系统,可实现服务注册、服务自动发现、服务管理、容错处理、数据可视化、服务监控报警、服务分组等。本文总结了 OCTO 架构原理、Java 应用的集成方法、以其控制台的使用。1 概述OCTO 是 octopus(章鱼) 的缩写。是美团公司级基础设施,为公司所有业务提供统一的高性能服务通信框架,使业务具备良好的服务运营能力,轻松实现服务注册、服务自动发现、负载均衡、容错、灰度发布、数据可视化、监控告警等功能,提升服务开放效率、可用性及服务运维效率。

2022-05-13 14:22:27 661

原创 字节面试题:「什么是伪共享?又该怎么避免伪共享的问题?」

大家好,我是小林。周末的时候,有个读者跟我说,面试字节的时候被问到:「什么是伪共享?又该怎么避免伪共享的问题?」这个其实是考察 CPU 缓存的问题,我之前的图解系统也有提到过。今天,我再跟大家讲一下。正文CPU 如何读写数据的?先来认识 CPU 的架构,只有理解了 CPU 的 架构,才能更好地理解 CPU 是如何读写数据的,对于现代 CPU 的架构图如下:可以看到,一个 CPU 里通常会有多个 CPU 核心是,比如上图中的 1 号和 2 号 CPU 核心,并且每个 CPU

2022-05-13 14:08:32 305

原创 都说字节的算法是天花板,那它究竟牛在哪里?

文章的开头大家先来看一看一道字节的算法题,看是否能做出来: 给定一个单链表的头节点 head,实现一个调整单链表的函数,使得每K个节点之间为一组进行逆序,并且从链表的尾部开始组起,头部剩余节点数量不够一组的不需要逆序。(不能使用队列或者栈作为辅助) 大家有没有一脸懵逼的感觉?(我也不会) 曾经有个说法,程序=数据结构+算法。这在面向过程的编程语言流行的年代是很受推崇的。 然而,随着时代的发展,各种编程语言的出现,各种编程模式的发明,面向对象、设计模式、框架、模型等各种概念出来之前那个说

2022-05-12 21:11:41 20993 14

原创 优雅代码的秘密,只因为我掌握了Java Stream 流操作

概念Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。Stream` 的操作符大体上分为两种:`中间操作符`和`终止操作符中间操作符对于数据流来说,中间操作符在执行指定处理程序后,数据流依然可以传递给下一级的操作符。中间操作符包含8种(排除了parallel,sequential,这两个操作并不涉及到对数据流的加工操作):map(mapToInt,mapToLong,mapToDouble)

2022-05-12 20:21:58 238

原创 美团面试官:关于SpringCloud我就只问这35道题

1、什么是Spring Cloud?Spring cloud流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生命周期短暂的微服务框架,用于快速构建执行有限数据处理的应用程序。2、使用Spring Cloud有什么优势?使用Spring Boot开发分布式微服务时,我们面临以下问题与分布式系统相关的复杂性-这种开销包括网络问题,延迟开销,带宽问题,安全问题。 服务发现-服务发现工具管理群集中的流程和服务如.

2022-05-12 20:01:10 237

原创 阿里五月面试题:聊聊之前你用过哪些限流方案?

一、限流思路常见的系统服务限流模式有:熔断、服务降级、延迟处理和特殊处理四种。1、熔断将熔断措施嵌入到系统设计中,当系统出现问题时,若短时间内无法修复,系统会自动开启熔断开关,拒绝流量访问,避免大流量对后端的过载请求。除此之外,系统还能够动态监测后端程序的修复情况,当程序已恢复稳定时,就关闭熔断开关,恢复正常服务。常见的熔断组件有 Hystrix 以及阿里的 Sentinel。在Spring Cloud框架里,熔断机制通过Hystrix实现。Hystrix会监控微服务间调用的状况,当

2022-05-12 14:41:59 333

原创 来预判下:Pulsar到底会不会超越Kafka?

Pulsar是一款分布式发布/订阅消息平台,近两年非常火,被称为下一代的消息流平台,大有取代Kafka的势头。今天我们就来比较一下Pulsar跟Kafka。历史背景Pulsar源自Yahoo,于2016年开源并捐献给Apache基金会,并在2018年9月升级成为Apache顶级项目。Kafka最初由Linkedin开发,并于2010年贡献给了Apache基金会,之后成为Apache顶级项目。架构KafkaKafka架构由broker和zookeeper组成,如下图:[1]

2022-05-12 13:59:41 167

原创 89个操作系统概念,看完我也是个成熟的程序员了

1. 操作系统(Operating System,OS):是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。2. shell:它是一个程序,可从键盘获取命令并将其提供给操作系统以执行。在过去,它是类似 Unix 的系统上唯一可用的用户界面。如今,除了命令行界面(CLI)外,我们还具有图形用户界面(GUI)。

2022-05-12 13:34:25 188

原创 从基础到高级,看完这篇Java进阶文档,你会发现没有那么难

Java基础(对象+线程+字符+接口+变量+异常+方法) 面向对象和面向过程的区别? Java 语言有哪些特点? 关于 JVM JDK 和 JRE 最详细通俗的解答 Oracle JDK 和 OpenJDK 的对比 Java 和 C++的区别? 什么是 Java 程序的主类?应用程序和小程序的主类有何不同? Java 应用程序与小程序之间有哪些差别? 字符型常量和字符串常量的区别 构造器 Constructor 是否可被

2022-05-11 21:13:32 161

原创 想要跳出CRUD的苦海,阿里高工这本性能优化全栈小册是必备

性能优化性能优化可以说是我们程序员的必修课,如果你想要跳出CRUD的苦海,成为一个更“高级”的程序员的话,性能优化这一关你是无论无何都要去面对的。为了提升系统性能,开发人员可以从系统的各个角度和层次对系统进行优化。除了最常见的代码优化外,在软件架构上、JVM虚拟机层、数据库以及操作系统层面都可以通过各种手段进行调优,从而在整体上提升系统的性能。​为了能让大家更好的入手性能优化,今天LZ为大家带来了一份阿里内部强推性能优化全栈小册,内容涵盖设计调优、代码调优、JVM调优。大家看了之后就知道,差距不

2022-05-11 16:57:15 168

原创 JDK源码难学?可能是因为你没看这本阿里技术官的源码笔记

灵魂一问,我们为什么要学习JDK源码?当然不是为了装,毕竟谁没事找事虐自己 ...1、面试跑不掉。现在只要面试Java相关的岗位,肯定或多或少会会涉及JDK源码相关的问题。2、弄懂原理才不慌。我们作为JDK的使用者,虽然说天天用得很开心,但是有时候遇到问题还是得跟到底层源码去看看,才能帮助我们更好的弄懂原理,3、学习优秀的代码、思想和模式。JDK毕竟是一个优秀的代码库,我们天天用,源码也就在里面,作为一个有志向的程序员,读一读源码也能让我们吸取到更多优秀的思想和模式。那么源码难吗?废

2022-05-11 16:38:50 253

原创 7年阿里Java人教你:秒杀活动就应该这样玩?

秒杀活动是指网络商家为促销等目的组织或网上限时抢购活动,这种活动具有瞬时并发量大、库存量少和业务逻辑简单等特点。设计一个秒杀系统需要考虑的因素很多,比如对现有业务的影响、网络带宽消耗以及超卖等因素。本文会讨论秒杀系统的各个环节可能存在的问题以及解决方案。秒杀系统傻瓜式秒杀系统秒杀系统的核心难点是并发量,如果不考虑并发问题,那么我们可以用如下图所示的简单的系统结构来实现秒杀系统,用户只有两个简单操作:刷新界面和秒杀按钮,服务端也只有两个服务接口:返回秒杀界面和处理秒杀逻辑。假设本文中秒杀商品有10

2022-05-11 15:59:49 485

原创 一篇入魂~看完你就掌握一个高级Java人必备的分布式RPC框架

一.概述什么是RPC?远程服务调用 官方:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想 通俗一点:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个对象,就像调用本地应用程序中的对象一样。 市面上常见的rpc框架:dobbo,springCloud,gRPC...那为什么要有 RPC,HTTP 不好么?因为 RPC 和 HTTP 就不是一个层级的东西,所以严格意义上这两个没有可比性,也不应该来作比较。 HTTP 只是传输协议,协议只是规范了一定的.

2022-05-11 15:31:30 154

原创 腾讯一面:一致性哈希是什么,使用场景,解决了什么问题?

大家好!在逛牛客网的面经的时候,发现有位同学在面微信的时候,被问到这个问题:​第一个问题就是:一致性哈希是什么,使用场景,解决了什么问题?这个问题还挺有意思的,所以今天就来聊聊这个。发车!​如何分配请求?大多数网站背后肯定不是只有一台服务器提供服务,因为单机的并发量和数据量都是有限的,所以都会用多台服务器构成集群来对外提供服务。但是问题来了,现在有那么多个节点(后面统称服务器为节点,因为少一个字),要如何分配客户端的请求呢?​

2022-05-11 15:17:34 113

转载 面试官太喜欢问RocketMQ了?那我只好把这23点都刷下来挑战他了

1.为什么要使用消息队列呢?消息队列主要有三大用途,我们拿一个电商系统的下单举例:解耦:引入消息队列之前,下单完成之后,需要订单服务去调用库存服务减库存,调用营销服务加营销数据……引入消息队列之后,可以把订单完成的消息丢进队列里,下游服务自己去调用就行了,这样就完成了订单服务和其它服务的解耦合。 异步:订单支付之后,我们要扣减库存、增加积分、发送消息等等,这样一来这个链路就长了,链路一长,响应时间就变长了。引入消息队列,除了更新订单状态,其它的都可以异步去做,这样一来就来,就能降低响应时间。

2022-05-11 14:47:19 261

原创 Spring超级全家桶,学完绝对是惊艳面试官的程度

前言不知道各位Java好大哥们闲的时候会不会去关注Spring目前的官网,你会发现他的slogan是: Spring makes Java Simple。它让Java的开发变得更加简单。某种意义上来说:是Spring成就了Java!但随之而来的就是:由他之后诞生出来的各种组件;SpringBoot,SpringCloud,SpringSecurity啥的都成了我们Java程序员必须要掌握的技能;每次面试也都是必问。Spring家族有了SpringBoot这个亲儿子之后,我们摆脱了被无数xml支配的恐

2022-05-10 21:21:10 611 1

原创 大厂门槛高?阿里内部5份专属PDF带你激流勇进,勇夺offer

前言由于疫情关系,最近在后台收到很多同学的工作情况内心还是蛮触动的(降薪、变相裁员、辞退等)。可能这并不是当下一个普遍的现象,但仍然使我感受到前端这碗青春饭不好混。于此同时联系我内推的同学很多都处于待业状态,能感受到他们内心的迷茫和焦灼。于是内心一直有声音督促我,赶紧写点面试相关的东西出来吧,哪怕对大家只有一丝丝的帮助。所以这次我也是把自己之前在阿里的所有内部专属资料整理成册,在这里跟大家一起分享,希望能够帮到大家:五份阿里内部专属PDF展示​注:由于这次分享的内容有点多,所以老师这里这

2022-05-10 19:51:45 202

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除