![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 89
大彬聊编程
非科班转码,拿了多家大厂offer,专注Java后端编程知识分享
展开
-
面试官:如何保证接口幂等性?一口气说了9种方法!
首先看看幂等性的概念:同一个接口,多次发出同一个请求,必须保证操作只执行一次。调用接口发生异常并且重复尝试时,总是会造成系统所无法承受的损失,所以必须阻止这种现象的发生。最全面的Java面试网站比如下面这些情况,如果没有实现接口幂等性会有很严重的后果:支付接口,重复支付会导致多次扣钱;订单接口,同一个订单可能会多次创建。原创 2024-05-26 16:53:21 · 958 阅读 · 0 评论 -
有了HTTP,为啥还要用RPC
一直以来都没有深究过RPC和HTTP的区别,不都是写一个服务然后在客户端调用么?HTTP和RPC最本质的区别,就是,而。我们都知道 HTTP 协议是在传输层协议 TCP 之上的,所以效率来看的话,RPC 当然是要更胜一筹啦!HTTP和RPC的相同点是,底层通讯都是基于socket,都可以实现远程调用,都可以实现服务调用服务。原创 2024-05-24 16:53:33 · 330 阅读 · 0 评论 -
架构的演进
在架构的演进过程中,研发运维人员逐渐把关注点从机器上移走,希望更多地由平台系统管理机器,而不是由人去管理,这就是一个对 Serverless 的朴素理解。最后分享一份我精心整理的大厂面试手册,包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等高频面试题,非常实用,有小伙伴靠着这份手册拿过字节offer~需要的小伙伴可以自行下载。原创 2024-05-24 09:36:46 · 361 阅读 · 0 评论 -
三天吃透Java容器面试八股文
Hash 值的范围值比较大,使用之前需要先对数组的长度取模运算,得到的余数才是元素存放的位置也就是对应的数组下标。这个数组下标的计算方法是。将HashMap的长度定为2 的幂次方,这样就可以使用位运算代替%取余的操作,提高性能。// 容纳键值对的最大值// 负载因子int size;Node[] table的初始化长度length为16,默认的loadFactor是0.75,0.75是对空间和时间效率的一个平衡选择,根据泊松分布,loadFactor 取0.75碰撞最小。原创 2024-05-20 15:50:17 · 575 阅读 · 0 评论 -
一天吃透Spring面试八股文
面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。在Spring创建对象的过程中,把对象依赖的属性注入到对象中。依赖注入主要有两种方式:构造器注入和属性注入。控制反转,由Spring容器管理bean的整个生命周期。通过反射实现对其他对象的控制,包括初始化、创建、销毁等,解放手动创建对象的过程,同时降低类之间的耦合度。原创 2024-05-09 21:22:22 · 431 阅读 · 0 评论 -
paypal后端二面,狂怼八股文!
1.做一下自我介绍吧,你的XXX项目说一下?你这个线程池的核心线程数怎么设置的?说一说你了解的 4.说说Spring中Bean的生命周期和Bean的作用域?4.springboot是怎么运行起来的 5.线程池的实现原理?8.redis实现分布式锁与用zk实现有什么区别,你用的redis,知道用zk怎么实现吗?10.你说你了解dubbo,能讲一下dubbo的基本原理吗?粉丝投稿paypal后端开发二面,基本全是八股文,背一背还是能答上来的,能不能过就看背的八股文是不是跟面试官背的是同一个版本了!原创 2024-04-30 10:17:54 · 120 阅读 · 0 评论 -
数学领域的经典教材有哪些
全书分为三卷,第一卷主要讨论在无阻力的自由空间中物体的运动,第二卷研究在阻力给定的情况下物体的运动、流体力学以及波动理论,而第三卷则重点探讨了宇宙的系统,包括地球、月球行星和彗星的运行等。牛顿在这部书中不仅总结了之前的科学成就,还提出了许多新的观点和理论,如质量的概念和万有引力定律Q,这些都对后来的科学发展产生了重要影响。这本书是基于MIT大牛Gilbert Strang教授的《每个人的线性代数》制作的。有本书叫做《自然哲学的数学原理°》,是牛顿写的,读完之后你就会感叹牛顿的厉害之处!原创 2024-01-19 08:28:05 · 363 阅读 · 0 评论 -
一天吃透Java并发面试八股文
线程死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力作用,它们都将无法推进下去。如下图所示,线程 A 持有资源 2,线程 B 持有资源 1,他们同时都想申请对方持有的资源,所以这两个线程就会互相等待而进入死锁状态。下面通过例子说明线程死锁,代码来自并发编程之美。//资源 1//资源 2try {}, "线程 1").start();try {}, "线程 2").start();原创 2024-01-15 08:26:26 · 888 阅读 · 0 评论 -
一天吃透JVM面试八股文
JVM,全称Java Virtual Machine(Java虚拟机),是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可在多种平台上不加修改的运行,这也是Java能够“一次编译,到处运行的”原因。类的加载指的是将类的class。原创 2024-01-14 18:27:29 · 926 阅读 · 0 评论 -
快手面经总结(2024最新)
分享一份大彬精心整理的大厂面试手册,包含计等高频面试题,非常实用,有小伙伴靠着这份手册拿过字节offer~需要的小伙伴可以自行链接:https://pan.xunlei.com/s/VNgU60NQQNSDaEy9z955oufbA1?pwd=y9fy#备用链接:https://pan.quark.cn/s/cbbb681e7c19。原创 2024-01-07 21:03:46 · 947 阅读 · 1 评论 -
这本书没有一个公式,却讲透了数学的本质
作者以绝对数值的大小比较,和人类相对感知之间的矛盾说起,将数字按照等间距的乘法进行排布,实际上得到了对数的分布——因为它能将乘法变成加法,还有我们熟知的纳皮尔的白皮书加速了世界的进程的故事。步骤 1 和步骤 3 的操作是相反的,如果你能够在雨伞为你打开的特定世界中达成预期的目标,那么你在操作结束时就会恢复到开始时的状态。研究数学,就是创造想象的世界,在这些世界中,我们的思维可以自由漫步,不必担心现实的妨碍。雨伞,是观点的改变,是差异,是从另一个角度看待事物的艺术,一种更适合、更有效的角度。原创 2024-01-01 17:25:49 · 395 阅读 · 0 评论 -
三天吃透Java基础面试八股文
给大家分享我整理的Java高频面试题,有小伙伴靠他拿到字节offer了。原创 2024-01-01 11:55:47 · 1063 阅读 · 0 评论 -
三天吃透Spring面试八股文
面向切面编程,作为面向对象的一种补充,将公共逻辑(事务管理、日志、缓存等)封装成切面,跟业务代码进行分离,可以减少系统的重复代码和降低模块之间的耦合度。切面就是那些与业务无关,但所有业务模块都会调用的公共逻辑。在Spring创建对象的过程中,把对象依赖的属性注入到对象中。依赖注入主要有两种方式:构造器注入和属性注入。控制反转,由Spring容器管理bean的整个生命周期。通过反射实现对其他对象的控制,包括初始化、创建、销毁等,解放手动创建对象的过程,同时降低类之间的耦合度。原创 2023-12-24 18:39:27 · 972 阅读 · 1 评论 -
设计规则:模块化的力量
一般来说,系统集成与检测是平行于其他模块的一个实现特殊功能的模块。这就像在企业中,一个小组长是多面手,既管营销,又管生产,都干的很好,小组长这个职位已经不能充分发挥它的才能,领导就升迁他做了副经理。如果对这个主题感兴趣,有本比较薄,好读的书,名叫《模块时代:新产业结构的本质》,日本人写的,是对这个领域的一些概述,相对好读很多,读完感兴趣,意犹未尽,可以再啃设计规则。《设计规则:模块化的力量》是关于模块化的一本神书,是哈佛商学院工商管理教授写的,通过讲解如何用模块化的方式构建一个复杂稳定运行的系统。原创 2023-12-23 10:58:58 · 866 阅读 · 1 评论 -
三天吃透Redis面试八股文
Redis 官方站提出了一种权威的基于 Redis 实现分布式锁的方式名叫Redlock,此种方式比原先的单节点的方法更安全。安全特性:互斥访问,即永远只有一个 client 能拿到锁避免死锁:最终 client 都可能拿到锁,不会出现死锁的情况,即使原本锁住某资源的 client 挂掉了容错性:只要大部分 Redis 节点存活就可以正常提供服务。原创 2023-12-22 20:56:11 · 902 阅读 · 0 评论 -
设计规则:模块化的力量
一般来说,系统集成与检测是平行于其他模块的一个实现特殊功能的模块。这就像在企业中,一个小组长是多面手,既管营销,又管生产,都干的很好,小组长这个职位已经不能充分发挥它的才能,领导就升迁他做了副经理。如果对这个主题感兴趣,有本比较薄,好读的书,名叫《模块时代:新产业结构的本质》,日本人写的,是对这个领域的一些概述,相对好读很多,读完感兴趣,意犹未尽,可以再啃设计规则。《设计规则:模块化的力量》是关于模块化的一本神书,是哈佛商学院工商管理教授写的,通过讲解如何用模块化的方式构建一个复杂稳定运行的系统。原创 2023-12-21 21:33:33 · 911 阅读 · 0 评论 -
一天吃透计算机组成原理
较简单,不做过多赘述,后面会详细学到”①对于高级语言程序员来说,浮点数格式、乘法指令、数据如何在运算器中运算时透明的。对于汇编语言程序员,指令格式,机器构造,数据格式则不是透明的。②在CPU中,IR、MAR、MDR对各类程序员都是透明。③机器字长,指令字长,存储字长机器字长也称字长——是计算机直接处理二进制数据的位数,机器字长一半等于内部寄存器的大小,它决定了计算机的运算精度。指令字长——一个指令中包含的二进制代码的位数。存储字长——一个存储单元中二进制代码的长度。原创 2023-12-18 07:53:51 · 863 阅读 · 1 评论 -
线性代数的艺术
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。推荐一本日本网友Kenji Hiranabe写的《线性代数的艺术》。这本书是基于MIT大牛Gilbert Strang教授的《每个人的线性代数》制作的。虽然《线性代数的艺术》这本书仅仅只有12页的内容,就把线性代数的重点全画完了,清晰明了。这本书中内容都是图解形式呈现,尤其矩阵这一块,描述很清楚,小白也能轻松看懂。看了这个文档,再也不用原创 2023-12-14 08:38:04 · 848 阅读 · 1 评论 -
这几个SQL语法的坑,你踩过吗
数据库编译器产生执行计划,决定着SQL的实际执行方式。但是编译器只是尽力服务,所有数据库的编译器都不是尽善尽美的。上述提到的多数场景,在其它数据库中也存在性能问题。了解数据库编译器的特性,才能避规其短处,写出高性能的SQL语句。程序员在设计数据模型以及编写SQL语句时,要把算法的思想或意识带进来。编写复杂SQL语句要养成使用 WITH 语句的习惯。简洁且思路清晰的SQL语句也能减小数据库的负担。最后给大家分享一个Github仓库,上面有大彬整理的300多本经典的计算机书籍PDF,包括。原创 2023-03-27 23:06:00 · 80 阅读 · 0 评论 -
订单30分钟未支付自动取消怎么实现?
这样可以看出定时轮由个 3 个重要的属性参数,ticksPerWheel(一轮的 tick 数),tickDuration(一个 tick 的持续时间)以及 timeUnit(时间单位),例如当 ticksPerWheel=60,tickDuration=1,timeUnit=秒,这就和现实中的始终的秒针走动完全类似了。结合以上两个特性,就可以模拟出延迟消息的功能,具体的,我改天再写一篇文章,这里再讲下去,篇幅太长。也就是说,如果发布/订阅的客户端断链之后又重连,则在客户端断链期间的所有事件都丢失了。原创 2023-03-26 17:02:12 · 151 阅读 · 0 评论 -
大公司为什么禁止SpringBoot项目使用Tomcat?
在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内嵌式的Tomcat。同时,SpringBoot也支持Undertow容器,我们可以很方便的用Undertow替换Tomcat,而Undertow的性能和内存使用方面都优于Tomcat,那我们如何使用Undertow技术呢?原创 2023-03-15 22:37:44 · 172 阅读 · 0 评论 -
三天吃透mybatis面试八股文
MyBatis框架是一个开源的数据持久层框架。- 它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。- MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件当中,实现SQL的灵活配置。- 这样做的好处是将SQL与程序代码分离,可以在不修改代码的情况下,直接在配置文件当中修改SQL。原创 2023-03-07 08:33:00 · 327 阅读 · 0 评论