动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

10道JavaWeb高级面试题助你通过面试(附答案)

07-27 17:04 464浏览
举报 T字号
  • 大字
  • 中字
  • 小字

面试也是一场考试,是考试就有简单的基础题和复杂的难题,对于java面试也是如此,有java的基础面试题,有java的高级面试题。前面已经总结整理了不少各类的java基础面试题,今天来汇总一些javaweb高级面试题,帮助那些不是java零基础的程序员学习回顾javaweb的知识。

1、谈谈你对ajax的认识?

答:Ajax 是一种创建交互式网页应用的的网页开发技术;“JavaScript and XML”的缩写。

Ajax 的优势: 通过异步模式,提升了用户体验;优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用;Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

Ajax的最大特点:可以实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度。

2、jsonp的原理是什么?

答:JavaScript 是一种在 Web 开发中经常使用的前端动态脚本技术。在 JavaScript 中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于 JavaScript 代码能够访问的页面内容做了很重要的限制,即 JavaScript 只能访问与包含它的文档在同一域下的内容。

jsonp的最基本的原理是:动态添加一个<script>标签,使用 script 标签的 src 属性没有跨域的限制的特点实现跨域。首先在客户端注册一个 callback, 然后把 callback 的名字传给服务器。此时,服务器先生成 json 数据。然后以 javascript 语法的方式,生成一个 function , function 名字就是传递上来的参数 jsonp。最后将json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端。客户端浏览器,解析 script 标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里。

3、说一下常用的Linux命令都有哪些?

答:列出文件列表:ls【参数 -a -l】

创建目录和移除目录:mkdir rmdir

用于显示文件后几行内容:tail

打包:tar -xvf

打包并压缩:tar -zcvf

查找字符串:grep

显示当前所在目录:pwd

创建空文件:touch

编辑器:vim vi

列出文件列表:ls 【参数 -a -l】

创建目录和移除目录:mkdir rmdir

用于显示文件后几行内容:tail

打包:tar -xvf

打包并压缩:tar -zcvf

查找字符串:grep

显示当前所在目录:pwd

创建空文件:touch

4、Linux怎么关闭进程?

答:通常用ps查看进程PID,用kill命令终止进程。ps命令用于查看当前正在运行的进程。grep 是搜索,例如:ps -ef | grep java表示查看所有进程里 CMD 是 java 的进程信息。

5、JSP中动态的include与静态include的区别?

答:动态include用于jsp:include动作实现<jsp:include page = “include.jsp” flush = “true”/>它总是会检查所含文件的变化,适用于包含动态页面,并且可以带参数。

静态include用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@include file=“include.html”%>。

6、请求转发和重定向的区别?

答:(1)请求转发是一个请求一次响应,而重定向会是两次请求两次响应。2)请求转发地址栏不变化,而重定向会显示后一个请求的地址。(3)请求转发只能转发到本地项目其他servlet,而重定向不只能重定向到本项目其他servlet,还能定向到其他项目。(4)请求转发是服务器端行为,只需要给出转发的servlet路径,而重定向需要给出request URI,即包含项目名。(5)请求转发带值,重定向不带值。

7、JSP和Servlet有哪些相同点和不同点,联系是什么?

答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类Servlet",Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在java文件中,并且完全从表现HTML中分离出来,而JSP的情况是java和HTML可以组合成一个扩展名为.jsp的文件,JSP偏重于视图,Servlet偏重于业务逻辑。

8、jsp有哪些内置对象?作用分别是什么?

答:JSP共有以下9种基本内置组件。

1)request对象 对应客户端请求,此请求会包含来自GET/POST请求的参数,通过它了解客户的需求,然后做出响应。

2)response对象 响应客户请求的有关信息,包括返回给客户端的信息。

3)session对象 它指的是客户端与服务器的一次会话,从客户端连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。

4)out对象 它是JspWriter类的实例,是向客户端输出内容常用的对象。

5)page对象 它是指向当前JSP页面本身,有点象类中的this指针,它是 java.lang.Object类的实例。

6)application对象 它实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭。

7)exception对象 它是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。

8)pageContext对象 它提供了对JSP页面内所有的对象及名字空间的访问。

9)config对象 它是在一个Servlet初始化时,JSP引擎向它传递信息用的。

9、tomcat容器是如何创建servlet类实例?用到了什么原理?

答:当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。

10、Servlet API中forward()与redirect()的区别?

答:forward是服务器端的转向也就是请求转发而redirect是客户端的跳转也就是重定向。使用forward浏览器的地址不会发生改变。而redirect会发生改变。

forward是一次请求中完成。而redirect是重新发起请求,意味着上一次请求中传递过来的参数在重新发起请求时将不再存在。

forward是在服务器端完成,而不用客户端重新发起请求,效率较高。

forward请求转发不允许访问外部资源,redirect重定向则可以访问外部资源。因为相当于两次请求,第二次请求与第一次请求无关,所以第二次请求可以去访问任何网页。

以上就是今天整理的javaweb高级面试题,希望大家可以好好学习这10道题,将这些题目里涉及到的知识点都复习回顾一下,遇到哪里不会的要及时查阅资料弄懂,以后顺利通过面试。

0人推荐
共同学习,写下你的评论
0条评论
代码小兵1063
程序员代码小兵1063

5篇文章贡献22976字

作者相关文章更多>

推荐相关文章更多>

Java数据结构

HelloWorld10-31 08:24

浅谈MySQL中SQL优化的常用方法

军哥08-12 23:29

五分钟读懂UML类图

江湖人称小李白12-10 10:41

MyBatis开发框架的四大核心

IT逐梦者08-17 21:43

一次搞定continue,break和return

HelloWorld11-06 11:19

发评论

举报

0/150

取消