写点什么

阿里巴巴 Java 方向面试题汇总(含答案),为什么数据库会丢失数据

发布于: 5 小时前

需要更多大厂面试资料的话也可以[点击直接进入,免费获取!](


)暗号:CSDN


[](


)四、Tomcat,Apache,JBoss 的区别?




1、Apache 是 HTTP 服务器,Tomcat 是 Web 服务器,JBoss 是应用服务器。


2、Apache 解析静态的 Html 文件;Tomcat 可解析 jsp 动态页面、也可充当


容器。


面小易说:对于服务器而言,在面试中可能并不会过多涉及,相对而言,面小易认为像是 Liunx、Tomcat 这些背后的原理可能更受面试官的青睐。


[](


)五、GET,POST 请求之间的区别?




基础知识:HTTP 的请求格式如下。


主要包含三个信息:1、请求的类型(GET 或 POST),2、要访问的资源(如 resimga.jif),3、HTTP 版本(http/1.1)


区别:


1、Get 是从服务器端获取数据,Post 则是向服务器端发送数据。


2、在客户端,Get 方式通过 URL 提交数据,在 URL 地址栏可以看到请求消息,该消息被编码过;Post 数据则是放在 Html header 内提交。


3、对于 Get 方式,服务器端用 Request.QueryString 获取变量的值;对用 Post 方式,服务器端用 Request.Form 获取提交的数据值。


4、Get 方式提交的数据最多 1024 字节,而 Post 则没有限制。


5、Get 方式提交的参数及参数值会在地址栏显示,不安全,而 Post 不会,比较安全。


[](


)六、Session, Cookie 的区别是什么?




1、Session 由应用服务器维护的一个服务器端的存储空间;Cookie 是客户端的存储空间,由浏览器维护。


2、用户可以通过浏览器设置决定是否保存 Cookie,而不能决定是否保存 Session,因为 Session 是由服务器端维护的。


3、Session 中保存的是对象,Cookie 中保存的是字符串。


4、Session 和 Cookie 不能跨窗口使用,每打开一个浏览器系统会赋予一个 SessionID,此时的 SessionID 不同,若要完成跨浏览器访问数据,可以使用 Application。


5、Session、Cookie 都有失效时间,过期后会自动删除,减少系统开销。


[](


)七、HTTP 报文包含内容




主要包含四部分:


1、request line


2、header line


3、blank line


4、request body


面小易说:上面的三个问题是网络编程的基础知识问题,作为 Java 工程师也需要掌握 HTTP 的知识,而如今 HTTPS 同样也成为了标准,也需要大家进一步了解。此外,相对于大家在课本或者课堂中所学习的 HTTP 1.0/1.1 这些协议而言,很多公司已经迈入了 HTTP 2.0 时代,因此两者之间的差别也需要我们进一步了解。


[](


)八、sendRedirect, foward 区别




1、foward 是服务器端控制页面转向,在客户端的浏览器地址中不会显示转向后的地址;sendRedirect 则是完全的跳转,浏览器中会显示跳转的地址并重新发送请求链接。原理:forward 是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来,然后再将这些内容返回给浏览器,浏览器根本不知道服务器发送的这些内容是从哪来的,所以地址栏还是原来的地址。


2、redirect 是服务器端根据逻辑,发送一个状态码,告诉浏览器重新去请求的那个地址,浏览器会用刚才的所有参数重新发送新的请求。


面小易说:以上的三个问题在之前网络相关的知识上更进一步,上升到了 Java 网络编程的相关知识,这部分意在考察面试者对于 Java 网络编程相关知识的掌握程度。


[](


)九、谈谈 Hibernate 与 iBatis 的区别,哪个性能会更高一些




1、Hibernate 偏向于对象的操作达到数据库相关操作的目的;而 iBatis 更偏向于 SQL 语句的优化。


2、Hibernate 的使用的查询语句是自己的 HQL,而 iBatis 则是标准的 SQL 语句。


3、Hibernate 相对复杂,不易学习;iBatis 类似 SQL 语句,简单易学。


性能方面:


1、如果系统数据处理量巨大,性能要求极为苛刻时,往往需要人工编写高性能的 SQL 语句或存错过程,此时 iBatis 具有更好的可控性,因此性能优于 Hibernate。


2、同样的需求下,由于 Hibernate 可以自动生成 HQL 语句,而 iBatis 需要手动写 SQL 语句,此时采用 Hibernate 的效率高于 iBatis。


[](


)十、关于 Java 内存模型,



本次面试答案,以及收集到的大厂必问面试题分享:


CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】

用户头像

VX:vip204888 领取资料 2021.07.29 加入

还未添加个人简介

评论

发布
暂无评论
阿里巴巴Java方向面试题汇总(含答案),为什么数据库会丢失数据