Java架构师常见基础面试题(附答案)

news/2024/5/19 12:58:44/文章来源:https://blog.csdn.net/m0_54850604/article/details/126753495

随着每日确诊病例人数的减少以及治愈患者人数增多,随着这场抗“疫”战争即将以胜利告终,接踵而来的是企业复工、金三银四求职高峰季的来临。有很多Java工程师想要把握住这个机会,实现升职加薪、成为Java架构师。但你知道企业在招聘面试时会提问什么吗?接下来Java小编就给大家一些基础面试题答疑。
image.png
1、什么是Spring框架?Spring框架有哪些主要模块?

Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。

2、SpringMVC工作原理?

1)客户端发送请求到DispatcherServlet

2)DispatcherServlet查询handlerMapping找到处理请求的Controller

3)Controller调用业务逻辑后,返回ModelAndView

4)DispatcherServlet查询ModelAndView,找到指定视图

5)视图将结果返回到客户端

3、讲下MyBatis的缓存

MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置。

4、简述Mybatis的插件运行原理,以及如何编写一个插件?

1)Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这4种接口的插件,Mybatis通过动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法。

2)实现Mybatis的Interceptor接口并复写intercept()方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。

5、springmvc和struts2的区别?

机制:springmvc的入口是servlet,struts2的入口是filter。

性能:springmvc会比struts2快一点。springmvc是基于方法设计,struts2是基于类,每次发一次请求都会实例一个action,每个Action都会被注入属性。

参数传递:struts2是在接受参数的时候,可以采用属性来接收参数,这家说明可以让多个方法共享。

拦截器机制:struts2有自己的interceptor机制,springmvc用的是独立的AOP方式,strtus2的配置文件还是比springmvc大,springmvc使用简洁,springMVC比struts2开发效率要高。

6、谈谈SSH整合?

struts(表示层)+spring(业务层)+hibernate(持久层)

struts是一个表示层的框架,主要用于接收请求,分发请求。struts其实属于MVC中的VC层次的;

hibernate是一个持久层的框架,主要负责与关系数据库的操作;

spring是一个业务层的框架,是一个整合的框架,能够很好的黏合表示层和持久层。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_6000.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

证件照换底色

阅读原文 如有侵权,请联系立即删除。 5种方法轻松给证件照换底色不同底色的证件照有着不同的用途。如白底的证件照一般用于身份证、港澳通行证等用途;而蓝底的证件照则用于工作证、简历等。例如我们需要提供蓝色背景的证件照,而手头只有白色背景的证件照,该怎么办呢?其实我…

开学季征文丨来大学已两年,我还有几个两年?

👋写在前面 大家好,我是陈橘又青,一名双非本科大学生,计算机科学与技术专业,最近因为疫情的原因,开学以来一直在家里上网课,也不是很忙,所以我想借着这次开学季征文活动,…

羧基化聚苯乙烯-二氧化硅复合材料/季铵化壳聚糖掺杂荷正电聚苯乙烯微球的制备步骤

今日小编为大家分享了羧基化聚苯乙烯-二氧化硅复合材料/季铵化壳聚糖掺杂荷正电聚苯乙烯微球的制备步骤,一起来看! 羧基化聚苯乙烯-二氧化硅复合超疏水涂层的制备方法,其特征在于包括如下步骤: (聚苯乙烯种子微球的制备;羧基修饰的聚苯乙烯微…

【控制】滑模控制,小例子,有程序有结果图

目录滑模控制的一点笔记和看法1【控制】滑动模型控制(Sliding Mode Control)2【控制】滑模控制,小例子,有程序有结果图3【控制】滑模控制,滑模面的选择文章目录1 问题描述2 滑模控制器设计2.1 滑模面选择2.2 控制器设计…

麻了,别再为难软件测试员了

前言 有不少技术友在测试群里讨论,近期的面试越来越难了,要背的八股文越来越多了,考察得越来越细,越来越底层,明摆着就是想让我们徒手造航母嘛!实在是太为难我们这些测试工程师了。 这不,为了帮大家节约时…

hive中使用iceberg表格式时锁表总结

1. 原因 写入iceberg表时,会在hive_locks表中插入一条记录,表示该表正在被写入(hive中的独占锁)当数据插入完成后,会自动删除该条记录。 2. 出现场景 (1)在同时往同一个iceberg表中写入数据时,会出现Retrying task after failure: Waiting for lock之类的警告信息 如果有…

Docker 环境 Nacos2 MySQL8

本文介绍 docker 环境下安装并单机运行 Nacos2,使用 docker 环境下的 MySQL 8 存储数据。本文介绍 docker 环境下安装并单机运行 Nacos2,使用 docker 环境下的 MySQL 8 存储数据。 1 拉取镜像 1.1 创建目录 在硬盘上创建 nacos 的有关目录: mkdir -p /Users/yygnb/dockerMe/…

FPGA之旅设计99例之第十三例-----FPGA在OLED上显示DHT11数据

一. 简介 这是FPGA之旅设计的第十三例啦,本例是一个综合性的例程,基于OLED屏幕显示,和DHT11温湿度采集,将DHT11采集到的温湿度显示到OLED屏幕上。 在开始本例之前,先补充一下,在上例中,代码中…

Webpack 打包 - 14. html压缩

这里使用 html-webpack-plugin 插件压缩 html 文件。 1.文件结构 2.代码 index.html<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>webpack</title> </head> <body> <!--这里…

《Hyperspectral Image Classification With Deep Feature Fusion Network》论文笔记

论文题目《Hyperspectral Image Classification With Deep Feature Fusion Network》 论文作者:Weiwei Song, Shutao Li, Leyuan Fang,Ting Lu 论文发表年份:2018 网络简称:DFFN 一、本文提出的挑战 1.由于光谱混合和光谱特征空间变异性的存在,HSIs通常具有非常复…

KingbaseES V8R6集群运维案例之---repmgr standby promote应用案例

KingbaseES 、repmgr案例说明: 在容灾环境中,跨区域部署的异地备节点不会自主提升为主节点,在主节点发生故障或者人为需要切换时需要手动执行切换操作。若主节点已经失效,希望将异地备机提升为主节点。 $bin/repmgr standby promote 适用版本:KingbaseES V8R6 集群节点信息…

Postman和Jmeter的区别

Postman是一款功能强大的用于发送HTTP请求的Chrome插件&#xff0c;主要用于接口测试&#xff1b; Jmeter是apache公司基于java开发的一款开源压力测试工具&#xff0c;也可以用来进行接口测试。 很多同学经常将两款工具混淆&#xff0c;这里就为大家介绍一下二者的区别。 1…

Java 将Excel转为UOS

以.uos为后缀的文件,表示Uniform Office Spreadsheet文件,是一种国产的办公文件格式,该格式以统一办公格式(UOF)创建,使用XML和压缩保存电子表格。既有的Excel表格文件,可以通过格式转换的方式转换为UOS格式,本文将对此作相关介绍。 【导入jar包】 使用jar包:Spire.Xls…

Nginx log 日志分割

Nginx日志不处理的话,会一直追加,文件会变得很大 Linux nginx_log.sh#!/bin/bash date=$(date +%F -d -1day) cd /usr/local/nginx/logs if [ ! -d bak ] ; thenmkdir -p bak fi mv access.log bak/access_$date.log mv error.log bak/error_$date.log # /usr/bin/…

Cache一致性导致的踩内存问题【转】

转自:http://blog.coderhuo.tech/2019/07/28/DMA_mem_crash/ 本文主要分享一个Cache一致性踩内存问题的定位过程,涉及到的知识点包括:backtrace、内存分析、efence、wrap系统函数、硬件watchpoint、DMA、Cache一致性等。 1 背景 设备上跑的是嵌入式实时操作系统(RTOS,具体为…

9.7--prompt理论学习

但是这些表现低于有监督的方法&#xff0c;但是我们在工作当中&#xff0c;我们引入了PET 利用模板的训练 Pattern Exploiting Training(PET) 把分类变成了完形填空的问题&#xff0c;来帮助模型理解任务 最后卖弄一下他的论文 最后在训练集上运用了有监督的训练。 并且远远…

[NOIP2014 提高组] 飞扬的小鸟题解

[NOIP2014 提高组] 飞扬的小鸟题解 题目描述 Flappy Bird 是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败。 为了简化问题,我们对游戏…

java1.8环境配置

https://blog.csdn.net/blbyu/article/details/126152202 可用,java1.8环境配置 最主要的是这个步骤,小心仔细看清楚 java1.8 下载 地址 https://www.oracle.com/java/technologies/downloads/#java8-windows 往下拉可用看到jdk8版本下载即可

iOS APP 转让避坑指南

背景 由于公司主体改变&#xff0c;跟进法务要求&#xff0c;需要将APP下面的主体改变成新主体。主体改变有两种途径&#xff1a; 直接在开发者账号-联系我们-会员资格和账户-组织名称更改。 通过App Store Connect 来进行APP转让&#xff0c;将APP转让到新主体下面。 第一…