【Java面试】第一章:P5级面试

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们…

大家好,又见面了,我是你们的朋友全栈君。

写了一个月,篇幅太长了,都写不下了,被逼无奈,只能拆分

面试题:

  • HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理

答案:理论:第一章:HashMap底层实现原理,红黑树,B+树,B树的结构原理,volatile关键字,CAS(比较与交换)实现原理_廖志伟-CSDN博客_hashmap底层实现原理红黑树

  • Spring的AOP和IOC是什么?使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别

答案:理论:第二章:Spring的AOP和IOC是什么?使用场景有哪些?Spring事务与数据库事务,传播行为,数据库隔离级别_廖志伟-CSDN博客

  • Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点

答案:理论:第五章:Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点_廖志伟-CSDN博客

  • SpringCould组件有哪些,他们的作用是什么?(说七八个)微服务的CAP是什么?BASE是什么?

答案:理论:第六章:SpringCould组件有哪些,他们的作用是什么(说七八个)?微服务的CAP是什么?BASE是什么?_廖志伟-CSDN博客

  • 设计模式(说五六个)

答案:理论:第七章:用生活的案例解释23种设计模式_廖志伟-CSDN博客

  • Redis支持的数据类型以及使用场景,持久化,哨兵机制,缓存击穿,缓存穿透

答案:理论:第四章:Redis支持的数据类型以及使用场景,持久化,哨兵机制,缓存雪崩,缓存穿透,双删策略_廖志伟-CSDN博客_缓存双删策略

  • 线程是什么,有几种实现方式,它们之间的区别是什么,线程池实现原理,JUC并发包,ThreadLocal与Lock和Synchronize区别

答案:理论:第八章:线程是什么,有几种实现方式,它们之间的区别是什么,线程池实现原理,JUC并发包,ThreadLocal与Lock和Synchronize区别_廖志伟-CSDN博客

  • 分布式事务(不同系统之间如何保证数据的一致性(A系统写入数据,B系统因为某些原因没有写入成功,造成数据不一致))

答案:保证分布式系统数据一致性的6种方案 – 左正 – 博客园

  • 安全性问题(数据篡改(拿到别人的URL,篡改数据(金额)发送给系统))

答案:

  • 方法一:对插入的操作进行校验:一个请求的URL传入进来,根据参数找到对应的用户关联表,查询到用户的userid和用户登录后保存到redis中的userid进行对比。例如:传入参数为(订单id)和(优惠券id),拿(订单id)查询该订单的用户id,拿来和登录的用户id进行对比,判断是否为本人操作。拿(优惠券id)查询用户表是否领取了该优惠券,该优惠券是否可用。
  • 方法二:前端传入一个加密的信息数据,后端给这个给这个数据解密,判断是否为同一用户。例如:将用户id+项目id+密钥生成一个token,传入后端解密,拿到用户id,项目id,密钥对比是否一致
  • 方法三:权限框架:可以指定某些角色,用户的登录名称密码正确才可以访问,修改。例如:1.Spring Security  2.apache shiro
  • 索引使用的限制条件,sql优化有哪些,数据同步问题(缓存,数据库数据同步)

答案:理论:第三章:索引使用的限制条件,sql优化有哪些,数据同步问题(缓存和数据库),缓存优化_廖志伟-CSDN博客

  • 初始化Bean对象有几个步骤,它的生命周期

答案:Spring框架:第三章:对象的生命周期及单例bean生命周期的11个步骤_廖志伟-CSDN博客

  • JVM内存模型,算法,垃圾回收器,调优,四大引用,常见的JVM错误,类加载机制(双亲委派),创建一个对象,这个对象在内存中是怎么分配的?

答案:理论:第九章:JVM内存模型,算法,垃圾回收器,调优,四大引用,常见的JVM错误,类加载机制(双亲委派),创建一个对象,这个对象在内存中是怎么分配的?_廖志伟-CSDN博客

  • 如何设计一个秒杀系统,(高并发高可用分布式集群)

答案:在github上根据关键字搜索seckill:(awesome seckill) (seckill stars:>=5000) (seckill forks:>500)

  • 悲观锁,乐观锁,读写锁,行锁,表锁,自旋锁,死锁,分布式锁,线程同步锁,公平锁,非公平锁分别是什么?

答案:理论:第十章:公平锁,非公平锁,可重入锁,递归锁,自旋锁,读写锁,悲观锁,乐观锁,行锁,表锁,死锁,分布式锁,线程同步锁分别是什么?_廖志伟-CSDN博客

  • 堆溢出,栈溢出的出现场景以及解决方案

答案:理论:第十三章:堆溢出,栈溢出的出现场景以及解决方案_廖志伟-CSDN博客

  • 说出几种MQ之间的区别,以及为什么使用这种MQ,消息重复发送(幂等性),消息发送失败,消息掉包,长时间收不到消息,发送的消息太大造成接收不成功

答案:互联网 Java 工程师进阶知识完全扫盲

  • 单点登录实现原理

答案:面试:第十章:单点登录_廖志伟-CSDN博客

  • 假如有上亿条数据,你如何快速找到其中一条你想要的数据(海量数据查询)

答案:互联网 Java 工程师进阶知识完全扫盲

  • Dubbo的运行原理,支持什么协议,与SpringCould相比它为什么效率要高一些,Zookeeper底层原理

答案:理论:第十二章:Dubbo的运行原理,支持什么协议,与SpringCould相比它为什么效率要高一些,Zookeeper底层原理_廖志伟-CSDN博客

  • 假如你带一个团队,让你设计一个系统,你需要考虑哪些

答案:本人还在悟,暂时不提供建议

关于面试答案说明:这里的答案我后面慢慢补,你们先看着,如果觉得自己技术能力强的可以在评论下方留言,尽量精简语言将知识点扩展多些,合适的我会采用

关于背面试题说明:对于上面的面试题其实都是一些比较常见的,高频率的题目,能回答上来的有很多人,我相信你是可以做到的,但你聊的真的足够深入吗?讲解的真的够全面吗?拿下面第一题来说,面试官一般都直接问你HashMap实现原理,但是要是换一个问法,比如:影响HashMap性能有哪些因素?HashMap为什么存取效率那么高?如果只是死记硬背总有那么几道题达不上来吧,相信大部分面试者就只会讲一些在网上找到的答案,没有扩展,面试官听到你的回答,其实他已经听过很多遍了,讲出花来在面试官耳朵里也就那么回事,你拿什么和别人拉开差距,所有请不要死记硬背。

关于中级面试题被收录说明:我发现我的java中级开发面试题被一些培训机构直接被收录了,我写了多少,他们也更新多少,这给了我一种错觉,好像这个是面试java中级开发的标杆,^_^还请原谅我的自恋,不过在此说明一下,以上的面试题是属于中级开发偏上水平,也就是说最低薪资水平也有16薪,当然了,参考坐标仅为上海地区,参考时间也是19年年底,20年年初。

来波三连关注一下呗,各位大爷们,觉得我写的还行的,赏包辣条吧

【Java面试】第一章:P5级面试

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126180.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用Struts之ActionForm

    使用Struts之ActionForm使用Struts之鸟瞰ActionForm是窗体的对象化表示,它本身其实是个JavaBean,除了标准的getter与setter等方法之外,还提供有reset()、validate()等方法供Struts组件呼叫。当透过发送请求来到ActionServlet后,ActionServlet会从ActionMapping对象中得知所使用的ActionForm对象,这是在struts-con

    2025年6月20日
    2
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友

    8年软件测试工程师感悟——写给还在迷茫中的朋友这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。“长江后浪推前浪,前浪死在沙滩上”,曾经一句让人…

    2022年9月19日
    4
  • date和localdatetime转换_localDate

    date和localdatetime转换_localDateLocalDate与Date相互转换

    2022年10月4日
    3
  • 模2除法(CRC校验码计算)_crc校验模二算法

    模2除法(CRC校验码计算)_crc校验模二算法鉴于网上的讲解自己好不容易才看懂…所以自己整理了一下,也方便大家能够理解如果有不对或者不准确的地方,恳请大家指出…模2加减法模2除法需要用到模2加减法,关于模2加减法,其实就是异或操作,规则如下://不需要考虑进位和借位0±0=01±1=00±1=11±0=1例:1101±1001=0100计算如下:…

    2025年8月20日
    3
  • 日期格式 FormatDateTime函数详解[通俗易懂]

    FormatDateTime函数详解  描述返回一个日期或时间格式的表达式。语法FormatDateTime(Date[,NamedFormat])FormatDateTime函数语法有如下几部分:部分描述Date必需的。要被格式化的日期表达式。

    2022年4月9日
    232
  • Java Spring 框架详解

    Java Spring 框架详解文章目录1Spring入门1.1Spring简介1.1.1Spring的由来1.1.2Spring的优点1.1.3Spring的体系结构1.2Spring开发环境1.2.1环境准备1.2.2创建Spring工程1.3使用IDEA开发Spring入门程序2SpringIoC2.1SpringIoC的基本概念2.2SpringIoC容器2.2.1BeanFactory2.2.2ApplicationContext3SpringBean4SpringAOP

    2022年7月7日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号