AJAX笔试面试题汇总

Javascript

1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识)

什么是ajax:

AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网页开发技术。

Ajax包含下列技术:

  • 基于web标准(standards-based presentation)XHTML+CSS的表示;

  • 使用 DOM(Document Object Model)进行动态显示及交互;

  • 使用 XML 和 XSLT 进行数据交换及相关操作;

  • 使用 XMLHttpRequest 进行异步数据查询、检索;

  • 使用 JavaScript 将所有的东西绑定在一起。

为什么要用ajax:Ajax应用程序的优势在于:

  • 1. 通过异步模式,提升了用户体验

  • 2. 优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用

  • 3. Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

2. Ajax的最大的特点是什么。

Ajax可以实现动态不刷新(局部刷新)

就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

3. 请介绍一下XMLHTTPREQUEST对象?

Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中首次引入,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。

4. Ajax技术体系的组成部分有哪些?

HTML,css,dom,xml,xmlHttpRequest,javascript

5. AJAX应用和传统Web应用有什么不同?

在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者POST数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。

因为服务器每次都会返回一个新的页面, 所以传统的web应用有可能很慢而且用户交互不友好。

使用AJAX技术, 就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互。

通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript后台进行的发送请求和接受响应。

6. AJAX请求总共有多少种CALLBACK

Ajax请求总共有八种Callback

  • onSuccess

  • onFailure

  • onUninitialized

  • onLoading

  • onLoaded

  • onInteractive

  • onComplete

  • onException

7.Ajaxjavascript的区别?

javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript。

Javascript是由网景公司开发的一种脚本语言,它和sun公司的java语言是没有任何关系的,它们相似的名称只是一种行销策略。

在一般的web开发中,javascript是在浏览器端执行的,我们可以用javascript控制浏览器的行为和内容。

在 Ajax应用中信息是如何在浏览器和服务器之间传递的

通过XML数据或者字符串

8,在浏览器端如何得到服务器端响应的XML数据

XMLHttpRequest对象的responseXMl属性

9 XMLHttpRequest对象在IEFirefox中创建方式有没有不同?

有,IE中通过new ActiveXObject()得到,Firefox中通过new XMLHttpRequest()得到

10介绍一下XMLHttpRequest对象的常用方法和属性(回答的越多越好)

open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求    方式可以为GET,POST或任何服务器所支持的您想调用的方式。 
第二个参数是请求页面的URL。

  • send()方法,发送具体请求

  • abort()方法,停止当前请求

  • readyState属性   请求的状态 有5个可取值 0=未初始化 ,1=正在加载

2=以加载,3=交互中,4=完成

  • responseText 属性  服务器的响应,表示为一个串

  • reponseXML 属性 服务器的响应,表示为XML

status    服务器的HTTP状态码,200对应ok  400对应not found

11Ajax的优点和缺点

使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。

对应用Ajax最主要的缺点就是,它可能破坏浏览器后退按钮的正常行为

因为Ajax中采用了xml技术,所以在Ajax中也可能问到XML的问题

12,什么是XML

XML是扩展标记语言,能够用一系列简单的标记描述数据

13xml的解析方式

常用的用dom解析和sax解析。dom解析是一次性读取xml文件并将其构造为DOM对象供程序使用,优点是操作方便,但是比较耗内存。Sax是按事件驱动的方式解析的,占用内存少,但是编程复杂

14,你采用的是什么框架(架包)?

这题是必问的,一般也是最开始就会问到。

在java中比较流行的有 dojo, Prototype , JQuery, Dwr, extjs  等等

15,如果熟悉某种ajax框架,他可能会问到怎样在程序中使用这种框架

DWR框架介绍

  • DWR(Direct Web Remoting)是一个WEB远程调用框架.利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端利用JavaScript直接调用服务端的Java方法并返回值给JavaScript就好像直接本地客户端调用一样(DWR根据Java类来动态生成JavaScrip代码).

  • DWR的实现原理是通过反射,将java翻译成javascript,然后利用回调机制,从而实现了javascript调用Java代码

16,介绍一下Prototype$()函数,$F()函数,$A()函数都是什么作用?

  • $() 方法是在DOM中使用过于频繁的 document.getElementById() 方法的一个便利的简写,就像这个DOM方法一样,这个方法返回参数传入的id的那个元素。

  • $F()函数是另一个大收欢迎的“快捷键”,它能用于返回任何表单输入控件的值,比如text box,drop-down list。这个方法也能用元素id或元素本身做为参数。

  • $A()函数能把它接收到的单个的参数转换成一个Array对象。

17、介绍一下XMLHttpRequest对象

通过XMLHttpRequest对象,Web开发人员可以在页面加载以后进行页面的局部更新。

AJAX开始流行始于Google在2005年使用的”Google Suggest”。

“Google Suggest”就是使用XMLHttpRequest对象来创建动态的Web接口:

当用户开始输入google的搜索框,Javascript发送用户输入的字符到服务器,然后服务器返回一个建议列表。

XMLHttpRequest对象在IE5.0+, Safari 1.2, Mozilla 1.0/Firefox, Opera 8+ 和NetScapt7 开始被支持。

18AJAX应用和传统Web应用有什么不同?

在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者POST数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载。

因为服务器每次都会返回一个新的页面, 所以传统的web应用有可能很慢而且用户交互不友好。

使用AJAX技术, 就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互。

通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是通一个页面,用户感觉页面刷新,也看不到到Javascript后台进行的发送请求和接受响应。

19AJAX的全称是什么?介绍一下AJAX

AJAX的全称是Asynchronous JavaScript And XML.

AJAX是2005年由Google发起并流行起来的编程方法, AJAX不是一个新的编程语言,但是它是一个使用已有标准的新的编程技术。

使用AJAX可以创建更好,更快,更用户界面友好的Web应用。

AJAX技术基于Javascript和HTTP Request.

20,介绍一下XMLHttpRequest对象的常用方法和属性?

  • open(“method”,”URL”) 建立对服务器的调用,第一个参数是HTTP请求    方式可以为GET,POST或任何服务器所支持的您想调用的方式。

第二个参数是请求页面的URL。

  • send()方法,发送具体请求

  • abort()方法,停止当前请求

  • readyState属性   请求的状态 有5个可取值 0=未初始化 ,1=正在加载  2=以加载,3=交互中,4=完成

  • responseText 属性 服务器的响应,表示为一个串

  • reponseXML 属性 服务器的响应,表示为XML

  • status    服务器的HTTP状态码,200对应ok 400对应not found

21.Ajax主要包含了哪些技术?

Ajax(Asynchronous JavaScript + XML)的定义

  • 基于web标准(standards-based presentation)XHTML+CSS的表示;

  • 使用 DOM(Document Object Model)进行动态显示及交互;

  • 使用 XML 和 XSLT 进行数据交换及相关操作;

  • 使用 XMLHttpRequest 进行异步数据查询、检索;

  • 使用 JavaScript 将所有的东西绑定在一起。英文参见Ajax的提出者Jesse James Garrett的原文,原文题目(Ajax: A New Approach to Web Applications)。

类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。事实上,一些基于AJAX的“派生/合成”式(derivative/composite)的技术正在出现,如“AFLAX”。

AJAX的应用使用支持以上技术的web浏览器作为运行平台。这些浏览器目前包括:Mozilla、Firefox、Internet Explorer、Opera、Konqueror及Safari。但是Opera不支持XSL格式对象,也不支持XSLT。

22AJAX都有哪些有点和缺点?

  • 1、最大的一点是页面无刷新,用户的体验非常好。

  • 2、使用异步方式与服务器通信,具有更加迅速的响应能力。

  • 3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。

  • 4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。

ajax的缺点

AJAX笔试面试题汇总的更多相关文章

  1. 秒杀多线程第一篇 多线程笔试面试题汇总 ZZ 【多线程】

    http://blog.csdn.net/morewindows/article/details/7392749 系列前言 本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些 ...

  2. Android开发经典笔试面试题汇总(持续更新中)

    1.我们都知道Handler是线程与Activity通信的桥梁,假设线程处理不当.你的机器就会变得非常慢,那么线程销毁的方法是:(A) A. onDestroy() B. onClear() C. o ...

  3. 收藏所用C#技术类面试、笔试题汇总

    技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...

  4. BAT及各大互联网公司2014前端笔试面试题--JavaScript篇

    很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大有裨益. 而更多的题目是我一路以来收集的,也有往年的,答案不确保一定正确, ...

  5. 【转】BAT及各大互联网公司2014前端笔试面试题:JavaScript篇

    原文转自:http://blog.jobbole.com/78738/ 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习前端基础更是 ...

  6. 【2017年新篇章】 .NET 面试题汇总(二)

    本次给大家介绍的是我收集以及自己个人保存一些.NET面试题第二篇 第一篇文章请到这里:[2017年新篇章] .NET 面试题汇总(一) 简介 此次包含的不止是.NET知识,也包含少许前端知识以及.ne ...

  7. PHP 高级工程面试题汇总

    PHP高级工程面试题汇总(2018.05) 1.给你四个坐标点,判断它们能不能组成一个矩形,如判断([0,0],[0,1],[1,1],[1,0])能组成一个矩形. 勾股定理,矩形是对角线相等的四边形 ...

  8. 转:.NET 面试题汇总(二)

    目录 本次给大家介绍的是我收集以及自己个人保存一些.NET面试题第二篇 简介 1.接口 2.您在什么情况下会用到虚方法或抽象类,接口? 3.重载(Overload )和覆写(Override)的区别 ...

  9. BAT及各大互联网公司2014前端笔试面试题--JavaScript篇(昨天某个群友表示写的简单了点,然后我无情的把他的抄了一遍)

    (某个群友)http://www.cnblogs.com/coco1s/ 很多面试题是我自己面试BAT亲身经历碰到的.整理分享出来希望更多的前端er共同进步吧,不仅适用于求职者,对于巩固复习js更是大 ...

随机推荐

  1. git初体验(二)基础git文件操作

    文件操作续 忽略一些文件 只需在主目录下建立".gitignore"文件,注意新建的是文件而非文件夹,在win窗口中不能建立以.开头的文件,只能在dos下: E:\knowcars ...

  2. tableView异步下载图片/SDWebImage图片缓存原理

    问题说明:假设tableView的每个cell上的imageView的image都是从网络上获取的数据.如何解决图片延迟加载(显示很慢).程序卡顿.图片错误显示.图片跳动的问题. 需要解决的问题: 1 ...

  3. 【BZOJ-1552&3506】robotic sort&排序机械臂 Splay

    1552: [Cerc2007]robotic sort Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 806  Solved: 329[Submit][ ...

  4. 【codevs1227】 方格取数 2

    http://codevs.cn/problem/1227/ (题目链接) 题意 N*N的方格,每个格子中有一个数,寻找从(1,1)走到(N,N)的K条路径,使得取到的数的和最大. Solution ...

  5. C#中的斜变性和逆变性的详解

    1,问题 大家可以看到定义泛型类型的可以看到out和in这两个关键字,那么具体代表什么意思呢? 2,文字解释 C# 4.0通过两个关键字:out和in来分别支持以协变和逆变的方式使用泛型. 如果某个返 ...

  6. joomla \libraries\joomla\session\session.php 反序列化截断畸形字符串导致对象注入漏洞

    catalog . 漏洞描述 . PHP SESSION持久化 . PHP 序列化/反序列化内核实现 . 漏洞代码分析 . POC构造技巧 . 防御方案 . Code Pathc方案 1. 漏洞描述 ...

  7. Android四大组件

    Activity 概念 活动是一种可以包含用户界面的组件,主要用于和用户交互.一个应用程序可以包含零个或多个活动. 基本用法 手动创建活动 1. 创建或加载布局 2. 在AndroidManifest ...

  8. Zabbix邮件报警-->Script

    Version:3.0.1 邮件报警有两种media 1.Email zabbix发送报警邮件到指定smtp服务器(使用系统自带的sendmail,发送邮箱是zabbix服务器的本地邮箱账号) 再由s ...

  9. shell命令date

    某个标准时间转换为unix时间戳 date -d '2015-10-20 15:07:02' +%s unix时间戳转换为对应的标准时间 date -d @1445324822 date " ...

  10. iOS GCD中的dispatch_group

    假如有一组任务,A,B,C,D,其中ABC是可以并行的,D是必须在ABC任务完成后再执行的. (举个场景,比如吃饭前必须先做菜.做饭和买饮料,然后才能开吃) 1.关于ABC的并行: 采用多线程的方式就 ...