java面试⑧股

纪莫9 天前
java·redis·java面试⑧股
技术面:如何让你的系统抗住高并发的流量?如何能让系统抗住高并发流量,要考虑的因素有很多,但是真的让你讲一下都有哪些,很多人肯定就会说,用Redis缓存啦,用MQ做解耦啦,总之就是想起来这一块儿就说一嘴,想起来那一块儿也说一嘴,总之就是说的不能成体系一些。 一般面试官问这种问题的时候,是想看你怎么回答,有没有从架构的思想去思考这个问题,就算有一些具体技术你记得可能不是很熟练了,面试官也会相信你是能够解决问题的。
纪莫12 天前
java·数据库·java面试⑧股
技术面:MySQL篇(InnoDB的锁机制)MySQL的InnoDB引擎下,在锁的级别上一般分为两种:共享锁(S锁)、排他锁(X锁)共享锁又称为读锁,是读取操作时创建的锁。其他用户可以并发读取数据,但是一旦某行被加上共享锁,其他事务仍可继续对该行加共享锁;但任何事务若想对该行加排他锁(即执行 UPDATE/DELETE 等),则必须等待所有共享锁释放。
纪莫20 天前
数据库·java面试⑧股
技术面:MySQL篇(InnoDB事务执行过程、事务隔离级别、事务并发异常)MySQL数据库在InnoDB中一次update的操作过程基本如下:在整个事务的执行过程中,当出现并发、以及兼顾性能等情况,会出现一系列的问题,但是针对不同的情况,MySQL 也给出了针对性方案。下面就针对脏读、幻读、不可重复读三种异常情况来说明一下。
纪莫2 个月前
数据库·redis·java面试⑧股
技术面:如何解决缓存和数据库一致性的问题?缓存(例如:Redis)和数据库的数据一致性问题,也是一个经典的问题,无论是在面试还是在日常工作当中,遇到的概率非常大。尤其是在高并发的场景下,这个问题会变得更加严重。
纪莫2 个月前
java·数据库·java面试⑧股
技术面:MySQL(一条SQL在MySQL的执行过程?、MyISAM和InnoDB的区别?数据库事务机制?)优先InnoDB:现代MySQL的默认引擎,适合99%的场景,尤其是需要事务、并发或数据安全的应用。例外用MyISAM:仅当系统以读为主、无需事务且追求极简优化时(如静态报表),但已逐渐被InnoDB+缓存或Aria(MariaDB)替代。
纪莫3 个月前
java·数据库·java面试⑧股
技术面:MySQL篇(为啥会有非关系型数据库?MySQL的数据存储一定在磁盘吗?)关系型数据库是一种基于关系模型(二维表结构)的数据库管理系统,数据以"行-列"的形式存储在表中,表与表之间通过主键(Primary Key)和外键(Foreign Key)建立关联关系。 通过预定义的Schema(数据结构)将数据组织为相互关联的表。其本质是结构化数据的规范化管理工具。
纪莫3 个月前
java·spring·java面试⑧股
技术面:SpringCloud(SpringCloud有哪些组件,SpringCloud与Dubbo的区别)Spring Cloud 是一个基于 Spring Framework 的开源微服务架构工具集,用于简化和快速构建分布式系统。它提供了一套完整的微服务解决方案,基于 Spring Boot 框架,它像是一个"大的容器",将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。
纪莫3 个月前
java·spring·java面试⑧股
技术面:SpringBoot(springboot的类加载和传统的双亲委派有什么区别、如何按顺序实例化Bean)在SpringBoot中,类加载机制与Java的传统双亲委派类加载机制是有一定区别。主要体现在自定义类加载器与fat jar(可执行jar)的加载方式上。
纪莫3 个月前
java·spring·java面试⑧股
技术面:SpringBoot(启动流程、如何优雅停机)下面的代码是SpingBoot启动类里最基础的代码,SpringBoot的启动的入口就在这里,本文是在SpringBoot3的基础上进行的梳理。
纪莫3 个月前
java·spring·java面试⑧股
技术面:Spring(循环依赖,spring与springboot的区别)循环依赖是指在使用Spring框架的过程中,两个或多个Bean之间在初始化的过程相互依赖,形成一个依赖闭环,导致容器无法顺利完成Bean的创建和注入,从而可能引发启动失败或运行异常。
纪莫4 个月前
java·spring·java面试⑧股
技术面:Spring (事务传播机制、事务失效的原因、BeanFactory和FactoryBean的关系)在后端复杂的业务场景中,多个事务之间的调用可能会导致事务的不一致,例如:数据重复提交,数据丢失等问题,使用事务传播机制可以避免这些问题的发生,从而保证事务的一致性和数据的完整性。
纪莫4 个月前
java·java面试⑧股
A公司一面:类加载的过程是怎么样的? 双亲委派的优点和缺点? 产生fullGC的情况有哪些? spring的动态代理有哪些?区别是什么? 如何排查CPU使用率过高?A公司的面经这个问题有些抽象,是指要说出具体步骤,还是要深入每一步的细节?再次确认一下范围,给出的回答是,你自己了解多少就说多少。这就有意思,那我就凭自己的语言进行总结发挥了。
纪莫5 个月前
java·spring·java面试⑧股
技术面:Spring (bean的生命周期、创建方式、注入方式、作用域)在Spring容器里一个Bean的从创建到销毁一般都是经历了以下几个阶段: 定义阶段(Bean元信息配置)=>实例化阶段(创建Bean对象)=>初始化阶段(执行初始化逻辑)=>使用阶段(Bean可用)=>销毁阶段(释放资源)
纪莫5 个月前
java·java面试⑧股
技术面:Java并发(线程同步、死锁、多线程编排)线程同步,是多线程编程中的一种机制,用于协调多个线程的执行顺序,确保它们在共享资源或关键操作上按照预定的规则运行,避免因并发访问导致的数据不一致、竞态条件(Race Condition)等问题。
纪莫5 个月前
java·java面试⑧股
技术面:Java并发(线程池、ForkJoinPool)线程池,就是提前创建好一批线程,然后存储在线程池中,当有任务需要执行的时候,从线程池中选一个线程来执行。可以频繁的避免线程的创建和销毁的开销。
纪莫5 个月前
java·java面试⑧股
技术面:Java并发(上下文切换、线程安全、并发与并行、守护线程、虚拟线程)是指CPU从一个线程切换到另一个线程时,需要保存当前线程的上下文状态,然后恢复另一个线程的上下文状态,这样下次恢复执行该线程时也能够正确的执行。
我是有底线的