21 小时前 / 狂聊Java
点上面蓝色字体关注我呀 大家好,我是狂聊。 自己最近负责的几个接口,都涉及到了幂等性的操作,抽空总结了一下,这也是面试官比较爱问的问题。 一、什么是幂等?看一下维基百科怎么说的: 幂等性:多次调用方法或者接口不会改变业务状态,可以保证重复调用的结果和单次调用的结果一致。 二、使用幂等的场景 1、前端重复提交用户注册,用户创建商品等操作,前端都会提交一些数据给后台服务,后台需要根据用户提交的数据在数据库中创建记录。如果用户不小心多点了几次,后端收到了好几次提交,这时就会在数据库中重复创建了多条记录。
4 天前 / 九卷
这个问题是安琪拉之前面试被问到的一个问题,正好顺着上一篇文章介绍完线程调用时的用户态和内核态的切换,后续把 Java 并发的都一起讲了。 面试官:听前一个面试官说你 Java 并发这块掌握的不错,我们深入的交流一下; 我: 看了看面试官头部稀疏的结缔组织,已然觉得这场面试不简单,不过好在事前把安琪拉的博客看了个遍,有所准备,我回答说:咳咳,掌握的还算可以。 面试官:Java 线程用过的吧? 我:用过。 面试官:那你给我讲讲 Java 线程和操作系统的? 我:啊!!! 咆哮剧情不应该这样的啊,开场不应该先是 synchronized 或者 volatile...
28 天前 / 程序猿石头
点击上方蓝色字体,关注我 —— 一个在阿里云打工的清华学渣! 图 by:我是严肃的于海童 关于号主:程序猿石头 (ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader。欢迎关注,交流和指导!回复 “0” 送阿里技术大礼包。背景新鲜出炉的校招系列第三篇,前两篇分别是: 非科班学弟如何转行斩获 ATM 大厂的 Offer ? 羡慕,又一清华学弟斩获 6 个大厂 SSP Offer | 面经分享 本篇是石头哥又一厉害学弟 ——见习格子衫 的佳作,他从秋招历程、校招结构化面试、 offer 选择等三个方面进行了总结和经验分享。
38 天前 / openio
2007 年,Jeff Atwood 提出了一个著名的观点, 戏谑又似认真地称其为 Atwood's Law(https://blog.codinghorror.com/the-principle-of-least-power/): any application that can be written in JavaScript, will eventually be written in JavaScript. 时间快速穿行 13 年到今天,仿佛在印证戏言成真:在互联网软件工业的疆域上,以 ECMAScript 为圆点朝各个方向射出一箭,凡目力所及的范围内,皆似洒落上了这一箭之威。
56 天前 / reesunhuang
大家都听过 SOA 架构,也都知道现在特别火的微服务架构,那么这两个有什么区别呢,别傻傻分不清了,这篇告诉你,学会它,把阿里面试官都说懵逼! 前言之前找工作面试的时候,面试官总是问我你了解 SOA 吗,你知道为什么微服务这么火吗,他们有什么区别吗,之前乱说一通的我现在才知道,了解这个可能比你会开发更重要,所以它来了!系统架构的发展烟囱式的架构很多公司老的 IT 架构属于传统的“烟囱式”架构,也就是每个业务线之间由不同的开发团队独立建设,技术栈不同,互不联系。
71 天前 / 猿天地
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。 今天给大家介绍一些在使用过程中会遇到的一些问题。 SentinelResource 埋点监控 @SentinelResource 可以作用于方法上的熔断降级保护,跟 Hystrix 的 @HystrixCommand 注解作用是一样的。 做监控的目的是为了在业务方法触发了熔断降级规则后,在对应的监控视图中可以看到这个操作触发了对应的规则。
84 天前 / reesunhuang
本文提纲如下 前言单数据源事务 & 多数据源事务常见分布式事务解决方案 2.1. 分布式事务模型 2.2. 二将军问题和幂等性 2.3. 两阶段提交(2PC) & 三阶段提交(3PC)方案 2.4. TCC 方案 2.5. 事务状态表方案 2.6. 基于消息中间件的最终一致性事务方案 Seata in AT mode 的实现 3.1. Seata in AT mode 工作流程概述 3.2. Seata in AT mode 工作流程详述结束语 img0. 前言从 CPU 到内存、到磁盘、到操作系统、到网络,计算机系统处处存在不可靠因素。工程师和科学家努力使用各种软硬件方法对抗这种不可靠因素,保证数据和指令被正确地处理。
96 天前 / 开发者头条
最近有一些粉丝私聊我,有没有技术文档,然后我这边经过一段时间收集,终于整理好了这套技术文档,里面包含了 Redis、Nginx、设计模式、spring 全家桶、Dubbo 等关于 Java 架构方面的资料,一并分享给大家。 技术文档已经整理好储存在网盘里面 这份资料包括: IDEA、Java 语法、面向对象、异常、常用类、集合、IO 流、多线程、网络编程、JUnit、枚举、注解、反射机制、CSS、HTML、JavaScript、JQuery、ajax、Javaweb、MySQL、JavaEE、SSM 框架、springboot、算法、Git、maven、Linux、设计模式、多线程与高并发、视频教程、视频源码、实战项目、电子书、简...
127 天前 / Ccww
欢迎关注公众号【Ccww 技术博客】,原创技术文章第一时间推出前言 集合在基础面试中是必备可缺的一部分,其中重要的 HashMap 更是少不了,那面试官会面试中提问那些问题呢,这些在 JDK1.7 和 1.8 有什么区别?? HashMap 的底层原理 HashMap 的 hash 哈希函数的设计原理,以及 HashMap 下标获取方式? HashMap 扩容机制,hashMap 中什么时候需要进行扩容,扩容 resize()又是如何实现的 hashMap 中 put 是如何实现的 ,JDK1.7 和 1.8 有什么区别? hashMap 中 get 是如何实现的 其他涉及问题 HashMap 具备的特性 为什么 Hash 的底层数据长度总为 2 的 N 次方...
130 天前 / Ccww
欢迎关注公众号【Ccww技术博客】,原创技术文章第一时间推出前言 在上篇《面试:为了进阿里,死磕了ConcurrentHashMap源码和面试题(一)》,研究了基础原理,以及ConcurrentHashMap数据put的流程等线程安全的,来回顾一下面试的问题点: ConcurrentHashMap的实现原理 ConcurrentHashMap1.7和1.8的区别? ConcurrentHashMap使用什么技术来保证线程安全 ConcurrentHashMap的put()方法 ConcurrentHashmap 不支持 key 或者 value 为 null 的原因? put()方法如何实现线程安全呢? ConcurrentHashMap扩容机制 ConcurrentHashMap的get方法是否要加锁...
141 天前 / Ccww
欢迎关注公众号【Ccww 技术博客】,原创技术文章第一时间推出 在深入理解使用 Volatile 与 Synchronized 时,应该先理解明白 Java 内存模型 (Java Memory Model,JMM) Java 内存模型(Java Memory Model,JMM)Java 内存(JMM)模型是在硬件内存模型基础上更高层的抽象,它屏蔽了各种硬件和操作系统对内存访问的差异性,从而实现让 Java 程序在各种平台下都能达到一致的并发效果。
148 天前 / Ccww
欢迎关注公众号【Ccww 技术博客】,原创技术文章第一时间推出前言 在面试中,并发线程安全提问必然是不会缺少的,那基础的 CAS 原理也必须了解,这样在面试中才能加分,那来看看面试可能会问那些问题: 什么是乐观锁与悲观锁 什么乐观锁的实现方式 -CAS(Compare and Swap),CAS(Compare and Swap)实现原理 在 JDK 并发包中的使用 CAS 的缺陷 1. 什么是乐观锁与悲观锁?悲观锁总是假设最坏的情况,每次读取数据的时候都默认其他线程会更改数据,因此需要进行加锁操作,当其他线程想要访问数据时,都需要阻塞挂起。
160 天前 / u539609
写了多年的代码,始终觉得如何写出干净优雅的代码并不是一件容易的事情。按 10000 小时刻意训练的定理,假设每天 8 小时,一个月 20 天,一年 12 个月,大概也需要 5 年左右的时间成为大师。其实我们每天的工作中真正用于写代码的时间不可能有 8 个小时,并且很多时候是在完成任务,在业务压力很大的时候,可能想要达到的目标是如何尽快的使得功能 work 起来,代码是否干净优雅非常可能没有能放在第一优先级上,而是怎么快怎么来。 在这样的情况下是非常容易欠下技术债的,时间长了,这样的代码基本上无法维护,只能推倒重来,这个成本是非常高的。
205 天前 / aoho求索
在上一篇我们中,我们分享了几大互联网公司面试的题目,本文就来详细分析面试题答案以及复习参考和整理的面试资料,小民同学的私藏珍品。 首先是面试题答案公布,在讲解时我们主要分成如下几块:语言的基础知识、中间件、操作系统、计算机网络、手写算法、开放题和项目经历。对面试题和涉及的知识点进行整理,这样更容易让各位同学理解。不会按照提问的顺序进行讲解,还请见谅。 其次是 Java 复习参考和整理的面试资料。由于内容比较多,学习有 道 非常重要,我们介绍一下其中的要点和目录,完整文件可以参见笔者提供的 pdf 资料。