前端开发面试题04 如何进行Web性能优化

1. 要动态改变层中内容可以使用的方法有(AB )
a)innerHTML
b)innerText
c)通过设置层的隐藏和显示来实现
d)通过设置层的样式属性的display属性

2. 当按键盘A时,使用onKeyDown事件打印event.keyCode的结果是(A )
a)65
b)13
c)97
d)37

3. 在javascript里,下列选项中不属于数组方法的是(B);
a)sort()
b)length()
c)concat()
d)reverse()
4. 下列哪一个选项可以用来检索被选定的选项的索引号?(B)
a)disabled
b)selectedIndex
c)option
d)multiple

5. 希望图片具有”提交”按钮同样的功能,该如何编写表单提交?(A )
a)在图片的onClick事件中手动提交
b)在图片上添加onSubmit事件
c)在图片的onSubmit事件中手动提交
d)在表单中自动提交

6. 使div层和文本框处在同一行的代码正确的是(D );
a)
b)
c)
d)
7. 下列选项中,描述正确的是(选择两项) 。( AD )
a)options.add(new Option(‘a’,'A’))可以动态添加一个下拉列表选项
b)option.add(new Option(‘a’,'A’))可以动态添加一个下拉列表选项
c)new Option(‘a’,'A’)中’a'表示列表选项的值,’A'用于在页面中显示
d)new Option(‘a’,'A’)中’A'表示列表选项的值,’a'用于在页面中显示

8. 、 var emp = new Array(3);
for(var i in emp)
以下答案中能与for循环代码互换的是: (选择一项)。(D )
A for(var i =0; i<emp; i++)
B for(var i =0; i<Array(3); i++)
C for(var i =0; i<emp.length(); i++)
D for(var i =0; i<emp.length; i++)

9. 制作级联菜单功能时调用的是下拉列表框的(A )事件。
a)onChange
b)onFocus
c)selected
d)onClick

10. 下列声明数组的语句中,错误的选项是( C )。
a)Var arry= new Array()
b)Var arry=new Array(3)
c)Var arry[]=new Array(3)(4)
d)Var arry=new Array(‘3’,’4’)

11. 下列属性哪一个能够实现层的隐藏?(C )
a)display:fals
b)display:hidden
c)display:none
d)display:” ”

12. 下列哪一个选项不属于document对象的方法?(D )
a)focus()
b)getElementById()
c)getElementsByName()
d)bgColor()

13. 下列哪项是按下键盘事件(AB )
a)onKeyDown
b)onKeyPress
c)keyCode
d)onMouseOver
14. javascript进行表单验证的目的是(B )
a)把用户的正确信息提交给服务器
b)检查提交的数据必须符合实际
c)使得页面变得美观、大方
d)减轻服务器端的压力
15. 、 display属性值的常用取值不包括(C )
a)inline
b)block
c)hidden
d)none

16. 以下有关pixelTop属性与top属性的说法正确的是。(D )
a)都是Location对象的属性
b)使用时返回值都是字符串
c)都是返回以像素为单位的数值
d)以上都不对

17. 使用open方法打开具有浏览器工具条,地址栏,菜单栏的窗口,下列选项正确的是__D__
a)open("x.html","HI","toolbas=1,scrollbars=1,status=1");
b)open("HI","scrollbars=1,location=1,status=1");
c)open("x.html","status=yes,menubar=1,location=1");
d)open("x.html","HI","toolbas=yes,menubar=1,location=1");

18. 下面关闭名为mydiv的层的代码正确的是(C )
a)document.getElementById(mydiv).style.display="none";
b)document.getElementById("mydiv").style.display=none;
c)document.getElementById("mydiv").style.display="none";
d)document.getElementById("mydiv").style.display=="none";
19. 为什么要使用Div+CSS布局
形式与内容分离
大大减少页面代码,提高页面浏览速度
结构清晰,有利于SEO
缩短改版时间, 布局更方便
一次设计,多次使用

20. Block元素的特点是什么?哪些元素默认为Block元素
总是在新行上开始;
高度,行高以及顶和底边距都可控制;
宽度缺省是它的容器的100%,除非设定一个宽度
是块元素的有:,,
,
, 和21. 、 inline元素的特点是什么?哪些元素属于inline元素?
和其他元素都在一行上;
高,行高及顶和底边距不可改变;
宽度就是它的文字或图片的宽度,不可改变。

是inline元素的有:, , ,
, , 
和。 

22. 、 javascript中表达式parseInt(“X8X8”)+paseFloat(‘8’)的结果是什么?( C)
a)8+8
b)88
c)16
d)“8”+’8

23. String对象的方法不包括(C )
a)charAt();
b)substring()
c)length
d)toUpperCase()

24. 关于setTimeout(“check”,10)中说法正确的是( D)
a)程序循环执行10次
b)Check函数每10秒执行一次
c)10做为参数传给函数check
d)Check函数每10毫秒执行一次

25. 以下哪个单词不属于javascript关键字:(C)
a)with
b)parent
c)class
d)void 

1、将字符串用指定字符分割成数组的函数是什么?

var str="How are you doing today?";document.write(str.split(" ") + "
");document.write(str.split("") + "
");document.write(str.split(" ",3));2.Javascript如何创建对象?答:创建对象的例子:personObj=new Object()personObj.firstname="John"personObj.lastname="Doe"personObj.age=50personObj.eyecolor="blue"3、怎么弹出 警告对话框、确认对话框、输入对话框

alert(“message”);
cofirm(“do you want to do something?”);

3、怎么取页面的element
document.getElementById(“id”)或者

form.elementName方法根据element 的name来取

4、怎么动态创建element,怎么设置他的鼠标事件

var myLink = document.createElement('a');var href = document.createAttribute('href');myLink.setAttribute(href,'http://www.mianwww.com');myLink.innerText ="Go here";var spanAppend = document.getElementById('myDivLink');spanAppend.appendChild(myLink);5、怎么正则表达式验证用户代码合法性
6、window.open的参数
7、sort方法怎么使用、怎么对多维数组排序

1. 使用weblint或者其他HTML 检查工具来检查HTML内容是不是符合HTML 4.0规范,符合HTML 4.0规范的页面会加载的更快。
2. 最小化Javascript和Style Sheets的使用,Javascript是不标准HTML内容的最大来源,虽然实现了很多非常炫的效果但是却放缓了页面加载的时间,Style Sheets是需要在页面显示之前单独下载的,所以也会放缓页面的加载速度。
3. 关闭DNS的反向解析,DNS反向解析会记录客户端的计算机名而不仅仅是IP地址, 这样就增加消耗。
4. 使用统计工具来检查你的web系统的性能瓶颈是出在DNS,网络连接,内容大小或者是服务器端,这样就可以从瓶颈处着手提高性能。
5. 使用简单的servlet或者CGI, 在系统不需要的话使用分布式程序反而会减低性能。
6. 加内存, 跟我们使用的电脑一样,加内存往往是成本最低效果最好的提高性能的方法。要知道内存速度比硬盘速度要搞一个数量级的。
7. 合理的给你的数据库加索引,当根据关键字进行全表查询时,加索引会有效的提高查询性能。
8. 最小化数据库查询,如果能把数据缓存到中间层或者servlet的话,just do it, 数据库连接往往是系统的性能瓶颈。
9. 使用网络工具检查网络丢包和重发, 断断续续的系统性能问题一般是因为网络丢包或者干扰。因为丢包和重新发送数据之间有一个时间间隔,这样就会使系统变得缓慢。
10. 使用工具来实时监视网站的性能。

1.用JavaScript+css做个可以拖动的层。(.NET)
2. 写存储过程要求:输入2009.06.12输出2009年06月12日。(SQLServer)
3. 写个webservice自己做个调用。(要求用Ajax调)