JavaWeb面试题

标签:
itjava培训linux大数据尚硅谷 |
分类: 大数据学科 |
1.Javaweb技术的结构
1.1. Javaweb技术结构图
1.1. 结构图说明:
整体分为四个部分:
1.
2.
3.
4.
2.JavaScript相关技术路线(黑线)
此部分包括: JavaScript, Jquery, Ajax, XML, JSON和HTML等技术.
2.1. 列举BOM中常用的几个全局变量和全局方法?
全局对象: window
全局变量: document
全局方法:
2.2. 在js中如何创建一个对象?
2.3. 在js中如何得到对象的属性?
http://s6/mw690/003zs2uIzy7n34co6KF25&690
2.4. 谈谈Ajax技术
Ajax原理
Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面的局部显示。
http://s5/mw690/003zs2uIzy7n3463zh2b4&690
Ajax的优点:
1.最大的一点是页面无刷新,给用户的体验非常好。
2.使用异步方式与服务器通信,不需要打断用户操作,具有更加迅速的响应能力。
3.ajax的原则是“按需取数据”,最大程度的减少冗余请求,减少服务器的负荷。
Ajax的缺点:
1.破坏浏览器后退按钮的正常行为。在动态更新页面后,用户无法回到前一个页面的状态.
2.使用JavaScript作Ajax的引擎,JavaScript的兼容性和Debug本身就让人头大。
Ajax的应用场景:
1.文本输入提示(自动完成)的场景(注册)
2.对数据进行联动过滤的场景(三级联动)
2.1. 你觉得jquery有哪些好处?
jQuery是轻量级的javascript框架
强大的选择器
出色的DOM操作的封装
可靠的事件处理机制
完善的ajax封装
出色的浏览器的兼容性
支持链式操作,隐式迭代
支持丰富的插件
jquery的文档也非常的丰富
2.2. jquery对象和dom对象如何转换?
1.
jQuery 对象是一个数组对象,可以通过[index]的丰富得到DOM对象还可以通过get[index]去得到相应的DOM对象。
2.
$(DOM对象)
2.3. jquery中$.get()提交和$.post()提交的区别?
1.
2.
3.
2.4. $(document).ready()方法和window.onload区别?
答: 两个方法有相似的功能,但是在实行时机方面是有区别的。
1 window.onload方法是在网页中所有的元素(包括元素的所有关联文件)完全加载到浏览器后才执行的。
2 $(document).ready() 方法可以在DOM载入就绪时就对其进行操纵,并调用执行绑定的函数。
2.5. xml有哪些解析技术?区别是什么?
答:有DOM,DOM4j,SAX,PULL等
DOM: 一次性将整个文档加载到内存中, 生成一个对象树, 在处理大型文件时其性能下降的非常厉害。
DOM4J: 对DOM的进一步封装, API使用更简洁
SAX:基于事件驱动的方法回调机制。每读取一小部分数据时就会回调事件处理器对象的方法, 但解析一旦开始就不能停止.
PULL: 也是基于事件驱动, 只是需要手动控制读取下一部分数据,这样得到想要的数据后就可以停止解析.
2.6. 你在项目中用到了xml技术的哪些方面?如何实现的?
答:用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成XML文件,然后将XML文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同XML文件中还原相关信息进行处理。在做软件配置时,利用XML可以很方便的进行,软件的各种配置参数都存贮在XML文件中。
2.7. 说说你对JSON的理解
JSON( 是一种轻量级的数据交换格式。它基于标准;">字符串
JSON有三类数据
1.
有number, string, boolean和null四种类型数据
2.
用[]包含起来, 其元素可以是三类数据中的任意一种, 元素之间用,号隔开
3.
用{}包含起来, 其元素必须由key-value组成, key是一个字符串, value可以是任意类型数据, key与value之间用:号隔开, 两个key-value之间用,号隔开.
http://s14/mw690/003zs2uIzy7n34fuNUV4d&690
3.Servlet相关技术路线(蓝线)
此部分包括: Servlet, Filter, Listener和HTTP协议
1.1. 解释一下什么是servlet?
答: 我们可以从下面二个方面去看Servlet:
1.
2.
1.2. 说一说Servlet的生命周期?
答: Servlet生命周期分为三个阶段:
1,初始化阶段
2,响应客户请求阶段 调用service()方法-àdoGet/doPost()
3,终止阶段 调用destroy()方法
1.3. 区别请求的转发与重定向?
答: 可以从以下三个方面进行比较
1.地址栏:
转发: 显示的是请求的URL
重定向: 显示的不是请求的URL, 而是重定向指向的新的URL
2.浏览器发了几次请求?
转发: 1次请求
重定向: 2次请求
3. 是否可以进行Request的数据共享?
转发: 两个资源之间是同一个request对象, 可以共享request中的数据
重定向: 两个资源之间不是同一个request对象, 不可以共享
经典现实案例:
http://s15/mw690/003zs2uIzy7n34ocBdQce&690
1.1. HTTP请求的GET与POST方式的区别
答: 可以从以下几个方面去回答:
1.
GET: 通过请求行携带参数, 参数会显示在地址栏
POST: 通过请求体来携带参数, 参数不会显示在地址栏
2.
GET: 会调用Servlet的doGet()来处理请求
POST: 会调用Servlet的doPost()来处理请求
3.
GET: 大小有限制(小于2k), 不安全
POST: 大小没有限制, 安全
1.2. 比较一下Servlet与Filter
1. Filter是一种特别的Servlet, 它们的作用是完全不一样的. Servlet是用来处理请求的, 而Filter是用来过滤检查请求的.
经典现实案例:
假如我们要去坐地铁去天安门, 我们需要先在检票机上刷票后才能进站坐上地铁, 请求问: 在这个实际业务中, 哪个是Servlet?哪个是Filter呢?
本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。