
面试
文章平均质量分 85
主要分享面试经历、面试题等
首席架构师专栏
本人担任大厂架构师,具有多年的架构经验,专注于研究高并发,高性能,高可用的架构设计解决方案,把自己从小白晋升架构师的技术和经验分享给大家,教大家如何成为合格的架构师!
展开
-
这么回答Java对象创建过程, 面试官给我一个赞
当支持克隆时,通过重写Object类的clone方法,并把方法的修饰符改为public,就可以直接调用该类的实例对象的clone方法实现克隆。为了反序列化一个对象,我们需要让我们的类实现Serializable接口。JDK1.6以后的版本在处理同步锁时存在锁升级的概念,JVM对于同步锁的处理是从偏向锁开始的,随着竞争越来越激烈,处理方式从偏向锁升级到轻量级锁,最终升级到重量级锁。对这个将要创建出来的对象,进行信息标记,包括是否为新生代/老年代,对象的哈希码,元数据信息,这些标记存放在对象头信息中。原创 2024-12-10 09:55:02 · 751 阅读 · 0 评论 -
史上最强的Seata面试题,值得收藏!
Seata 是一个开源的分布式事务解决方案,主要用于微服务架构下跨多个数据库、服务或系统的全局事务管理。“Seata” 是 “Simple Extensible Autonomous Transaction Architecture”(简单扩展自主事务架构)的缩写,其前身是阿里巴巴开源的分布式事务中间件 Fescar。在传统的单体应用中,事务管理通常依赖于单个数据库的事务能力,并由关系型数据库的事务管理器实现。但在微服务架构中,系统被拆分为多个松耦合、独立部署的服务,每个服务可能使用独立的数据库。原创 2024-12-09 15:10:59 · 1479 阅读 · 0 评论 -
阿里二面:双亲委派机制?原理?能打破吗?
双亲委派机制(Parent Delegation Mechanism)是Java中的一种类加载机制。在Java中,类加载器负责加载类的字节码并创建对应的Class对象。双亲委派机制是指当一个类加载器收到类加载请求时,它会先将该请求委派给它的父类加载器去尝试加载。只有当父类加载器无法加载该类时,子类加载器才会尝试加载。这种机制的设计目的是为了保证类的加载是有序的,避免重复加载同一个类。原创 2024-12-06 15:29:20 · 4783 阅读 · 0 评论 -
腾讯面试:如何解决哈希冲突?
我们面试时经常被问到HashMap是怎么解决哈希冲突的,很多同学对其含糊其词、一知半解。因此小编对相关知识进行了总结,希望帮助读者加深对其理解。哈希表就是通过散列函数将键映射到定值,简单来说就是一个键对应一个值。而通过散列函数映射时将两个键映射到了同一个值,即这两个键将被哈希表映射到同一个位置,这种情况就被称为哈希冲突。原创 2024-12-04 11:03:43 · 871 阅读 · 0 评论 -
面试题:请你讲一讲Eureka和Nacos的区别
Nacos 和 Eureka是两种服务注册与发现的组件,它们在微服务架构中扮演重要角色。两者虽然都是为了解决服务发现的问题,但在功能特性、架构、设计理念等方面有很多不同。Eureka 更适合于较为单一的服务注册与发现场景,而 Nacos 则提供了更全面的功能,特别是在需要统一管理配置、健康检查、服务发现等情况下,Nacos 是一个更好的选择。原创 2024-12-03 11:21:17 · 1610 阅读 · 0 评论 -
美团面试:有哪些情况会产生死锁
我们首先需要知道,死锁一定发生在并发场景中。为了保证线程安全,有时会给程序使用各种能保证并发安全的工具,尤其是锁,但是如果在加解锁过程中处理不恰当,就有可能适得其反,导致程序出现死锁的情况。什么是死锁?死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。Java应用程序死锁产生的四个必要条件:1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用。原创 2024-11-22 17:47:46 · 1553 阅读 · 0 评论 -
吊打面试官系统:请说一下Java中的反射机制及反射的优缺点
java 中 java.lang.Class 是反射机制的基础,当我们想要在运行期获取一个类中的相关信息的时候,必须先获取其 Class 类。他本身的构造方法是 private 的,对外提供 getSingleton() 方法,统一管理实例的获取。而反射可以通过获取到类中的私有构造方法, 并将其变为可用,通过构造方法生成新的实例,这样就造成了单例的破坏。Class 类中有获取类的所有 属性、方法、注解、构造器的相关方法。:在单例类的构造方法中加判断,当实例已存在的时候,不再创建新的实例。原创 2024-11-19 15:01:08 · 967 阅读 · 0 评论 -
阿里面试题:为什么HashMap链表转红黑树的阈值为8呢
这段话的意思是:因为树节点(TreeNodes)所占的空间是普通节点Node的两倍,所以我们只有在桶中包含足够的节点时才使用树节点(请参阅TREEIFY_THRESHOLD)(只有在同一个哈希桶中的节点数量大于等于TREEIFY_THRESHOLD时,才会将该桶中原来的链式存储的节点转化为红黑树的树节点)。事实上,链表长度超过 8 就转为红黑树的设计,更多的是为了防止用户自己实现了不好的哈希算法时导致链表过长,从而导致查询效率低,而此时转为红黑树更多的是一种保底策略,用来保证极端情况下查询的效率。原创 2024-11-18 09:56:44 · 1415 阅读 · 0 评论 -
面试官:说说Ribbon是如何实现负载均衡的?
集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx)。客户端根据自己的请求情况做负载均衡,Ribbon 就属于客户端自己做负载均衡。Spring Cloud Ribbon是基于Netflix Ribbon 实现的一套客户端的负载均衡工具,Ribbon客户端组件提供一系列的完善的配置,如超时,重试等。通过Load Balancer获取到服务提供的所有机器实例,Ribbon会自动基于某种规则(轮询,随机)去调用这些服务。原创 2024-11-14 16:46:34 · 1789 阅读 · 0 评论 -
吊打面试官系列:hashCode() 相同,equals() 就一定相等吗?
在哈希表中,哈希码值相同的对象被称为“哈希冲突”。由于哈希函数的设计,不同的对象可能会有相同的哈希码值。哈希码值是一个整数,通常用于在哈希表(如HashMap、HashSet等)中快速查找对象。理解它们之间的关系和实现方式,对于编写高质量的代码至关重要。涵盖 Java几乎覆盖了所有主流技术面试题,还有市面上最全的技术精品系列教程,免费提供。类中,是每个Java对象都继承的两个方法。如果两个对象相等,那么它们的。属性都相同,那么它们是相等的,它们的哈希码值也相同。属性,那么这两个对象可能会有相同的哈希码值。原创 2024-11-13 09:17:02 · 928 阅读 · 0 评论 -
HashMap的put流程知道吗
HashMap 的 put 方法算是 HashMap 中比较核心的功能了,复杂程度高但是算法巧妙,同时在上一版本的基础之上优化了存储结构,从链表逐步进化成了红黑树,以满足存取性能上的需要。本文逐行分析了 put 方法的执行流程,重点放在了对整个流程的把握,以后遇到相关问题时,也能够得心应手。原创 2024-11-12 10:21:15 · 1289 阅读 · 0 评论 -
阿里面试:为什么MySQL不建议使用Delete删除数据?
MySQL有建议过不要使用他们家的DELETE吗?在MySQL 8.0的官方文档里没有找到不建议使用DELETE的文字。原创 2024-10-31 11:42:41 · 627 阅读 · 0 评论 -
被面试官怼了,对nacos的原理都不理解,还多年的微服务工作经验?
现如今市面上注册中心的轮子很多,我实际使用过的就有三款:Eureka、Nacos,Zookeeper、Consul ,由于当前参与Nacos 集群的维护和开发工作,期间也参与了 Nacos 社区的一些开发和 bug fix 工作,过程中对 Nacos 原理有了一定的积累,今天给大家分享一下 Nacos 动态服务发现的原理。原创 2024-10-25 15:07:37 · 1545 阅读 · 0 评论 -
10道线程池面试题,都答上来算你赢
本文旨在深入探讨Java线程池在面试中可能遭遇的各类核心问题,为您的求职之路铺设坚实基石。全程内容精炼且实用,相信在掌握这些知识点后,您将能游刃有余地应对任何关于线程池的面试挑战,并进一步深化对线程池机制的理解。作为Java开发者,面试中遭遇线程池相关提问几乎成为了一种“常规操作”。线程池作为一个既复杂又强大的系统,其广阔的讨论空间让面试官能够设计出丰富多样的问题,考验应聘者的专业知识与实战经验。原创 2024-08-16 16:34:37 · 1563 阅读 · 0 评论 -
优雅的接口防刷处理方案,值得收藏!!!
这防刷处理方案写的太好了,值得收藏原创 2023-05-16 11:19:26 · 260 阅读 · 0 评论 -
2022年Java高级架构师面试技术标准手册(对标阿里P7架构师)
一份2022年阿里巴巴Java高级架构师面试标准手册(对标P7+)的面试参考指南,如果有的小伙伴想在今年进行尝试跳槽,可以刷刷!原创 2022-02-22 20:57:05 · 634 阅读 · 0 评论 -
工作三年,百度面经分享,已拿Offer
计科大三学生,无实习无项目经历成绩普通一面3.9:40minHashMap和ConcurrentHashMap的区别vector,listC++多态,虚函数机制进程通信进程线程差异TCP三次握手四次挥手细节算法题:最长不重复字串(HashTable,O(N))面试官人非常好,有一些遗漏的知识点会给你指出来并且讲解,也很耐心。二面3.15:1hJava多态(看程序说结果,比较复杂,还考察了override和overwrite)二叉搜索树B树b+树红黑树删除算法用互斥锁实现读写锁,原创 2021-10-21 18:46:20 · 441 阅读 · 0 评论