百度web笔试题

来源:互联网 发布:中控c3100软件 编辑:程序博客网 时间:2024/05/16 09:35


1、JS主要数据类型?(5分)
答案注释:主要的类型有 number、string、object 以及 Boolean 类型,其他两种类型为 null 和 undefined。
2、img的alt和title的异同?(10分)
答案注释:title属性为设置该属性的元素提供建议性的信息。比如为链接添加描述性文字。
为不能显示图像、窗体或applets的用户代理(UA),alt属性用来指定替换文字。使用alt属性是为了给那些不能看到你文档中图像的浏览者提供文字说明。
3、CSS的JS调用?如font-family, -moz-border-radius 。(10分)
答案注释:fontFamily、MozBorderRadius

4、CSS布局:两列,左边宽度自适应,右边宽度固定200px。 (15分)

答案注释:


5、js对象的深度克隆?(20分)

答案注释:

 

    Object.prototype.deepClone=function(){

           function cloneObj(){}   

           cloneObj.prototype=this;

           var obj=new cloneObj();

     for(var o in obj){

               if(typeof(obj[o])=="object")obj[o]=obj[o].deepClone();

               }    return obj;

}

6、动态打印时间,格式为yyyy-MM-dd hh:mm:ss? (15分)

答案注释:

 

    function printTime(){

        var timer1=new Date();

        var timer=timer1.toLocaleString();

        timer=timer.replace(/[年月]/g,"-");

        timer=timer.replace(//,"");

        time.innerHTML=timer;

}setInterval("printTime()",1000);

7、如何提高网页运行性能?(20分)
答案注释:(一)、缓存

缓存是ASP.NET中提高性能的重要手段,缓存一般遵循以下原则:

1  在页面中将静态内容与动态内容分割开来

考虑将动态内容作成用户控件

2  缓存合理的数据

一般应当缓存应用程序集的数据、多个用户共同使用的数据、静态数据、生成数据需要很大开销的动态数据、DataSet以及自定义对象等。不要缓存数据库连接对象、DataReader。

3  选择适当的方式

如可以使用页面缓存指令,API等。

(二)、视图状态

视图状态放在页面中名为_VIEWSTATE的表单隐藏域里面,随页面一起被发送到客户端,在用户提交页面时,又被提交到服务器。

1  如果不需要视图状态,则禁用

视图状态默认是允许的,如果页面不进行PostBack,如果不处理服务器控件的事件,如果服务器控件的数据每次都需要重新计算等

2  尽量减少视图状态中存放的对象

(三)、关于页面处理(减少页面生成的时间和过程)

1              应尽量减少页面文件的大小

2              通过检测Page.IsPostBack减少代码执行的数量

3              禁止使用Debug=“true”,减少页面生成过程中生成额外的调试信息

4              使用Server.Transfer而不使用Response.Redirect,减少服务器和客户端间的往返

5              尽量使用客户端验证,减少服务器和客户端间的往返

6              在适当的场合使用服务器控件

7              尽量避免嵌套的服务器控件

(四)、避免使用Page.DataBind和DataBinder.Eval

(五)、关于Application对象和Session对象

1  使用静态属性存储数据而不使用Application对象,在Application对象里存储只读类型的数据都将回提高性能

2  尽量使用InProc模式的Session,这个模式是最快的

3  Session里存储基本类型的数据减少序列化的所消耗的资源

4  如果不用Session变量,使用EnvableViewState=“false”禁用

5  如果不修改Session变量的值,尽量使用ReadOnly属性设置

(六)、关于字符串操作

1  尽量使用Response.Write将结果输出到浏览器,这种方法是最快的。不要将字符串连接在一起一次输出。

2  在字符串短并且少的情况下可以使用String.Concat方法,而在字符串长度未知,并且字符串大的情况下,使用StringBuilder对象

3  不要使用strVar==“”来判断字符串是否为“”,这样它会创建额外的字符串,请使用strVar==String.Empty代替或者使用strVar.Length==0来判断

4  请使用String.Compare方法进行字符串的比较

(七)、关于数据访问

1  尽量使用存储过程返回数据,不要直接在代码中进行查询

2  在数据库中只返回有用的数据结果,不要选择不使用的数据字段

3  进行使用DataReader进行数据绑定,DataReader是单向只读的

4  尽量一次返回多个数据集而不是每个记录集分别打开一次数据库连接进行查询

5  尽量晚的打开数据库,尽量早的关闭数据库

6  使用连接池提高性能

7  使用ExecuteNonQuery方法执行不返回数据的操作,使用ExecuteScalar方法返回单个结果的操作,使用CommandBehavior.Sequentialaccess返回二进制数据或者大数据

8  如果多次相同的查询,请使用Command.Prepare方法

9  使用GetOrdinal方法预先得到索引值,使用索引值比使用字符串的列名查询数据效率更高

(八)、关于代码优化

1  在解析基本数据类型时,使用Try方法如果解析失败,会抛出异常,使用TryParse方法则只执行Else下的语句。

2  使用AppendAllText、WriteAllBytes等方法读写文件内容可以优化性能

3  将循环判定条件放在for语句外

4  避免在循环里创建对象

5  尽量减少装箱的次数

6  不要使用例外控制程序的流程

7  在循环中不要使用不变的对象属性或者字段

8  使用for循环代替foreach循环遍历结合内容

9  数组是所有集合中最快的,如果没有特殊需要,尽量使用数组代替集合

10    了解各个集合类型的特性,选择合适的类型

11    使用泛型避免减少装箱、拆箱
8、linux下删除当前目录下扩展名为c的文件(如a.c,b.c)(5分)
答案注释:rm –r *.c
find . -name “*.doc” -type f -exec cp {} /tmp/doc \;  找到当前目录(.)下扩展名为(doc)的文件并拷贝到指定目录【注意-type f 指普通文件,-exec ls-l{}列出文件,最后加上\】
cp [options] source dest 复制
9、flash as2.0和flash as3.0在面向对象方面的异同?(10分)
答案注释:面向对象方面,2.0像javascript,3.0像java。
到了 AS 2.0, 面向对象被引入了,但它实质上是动态脚本语言,虽然已经有了类的概念和class关键字,但对象支持还是基于类似JavaScript的prototype机制——动态继承。3.0同时支持静态类型,即基于类的继承方式;以及动态类型,即基于prototype的继承方式。推荐用静态类型。

10、Flash、Ajax各自的优缺点,在使用中如何取舍?(10分)
答案注释:Flash ajax对比
Flash适合处理多媒体、矢量图形、访问机器;对CSS、处理文本上不足,不容易被搜索。
Ajax对CSS、文本支持很好,支持搜索;多媒体、矢量图形、机器访问不足。
共同点:与服务器的无刷新传递消息、用户离线和在线状态、操作DOM

 由“名企笔试题库”收集整理

0 0
原创粉丝点击