百度前端笔试面试7个试题

flykingwf

flykingwf

2016-02-20 01:08

下面这个百度前端笔试面试7个试题教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

1、    JavaScript包括哪些数据类型?

我回答的是有两种:基本类型和对象,其中基本类型包括数字、字符串、布尔和null;对象(类似对象),包括数组、函数、内置对象、自定义对象。不过按理说字符串也有些对象的特点。

我这个回答是参考的JavaScript权威指南的,有些小问题,第一类中缺少了undefined。

搜索了下,网上还有几种回答:

第一种:共九种类型:1.未定义(undefined) 2.空(null) 3.布尔(boolean) 4.字符串(string) 5.数字(number)6.对象(object) 7.引用(reference) 8.列表(list) 9.完成(completion)。reference,list,completion这3种类型是做为JavaScript运行时中间结果的数据类型 在代码中不能使用。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

最后我确实没见过。

第二种:javascript中包含6种数据类型:undefined、null、string、number、boolean和object。其中,前5种是原始数据类型,object是对象类型。object类型中包括Object、Function、String、Number、Boolean、Array、Regexp、Date、Globel、Math、Error,以及宿主环境提供的object类型。

除去reference,list,completion不同外,这几个回答其实大同小异。

2、img元素的alt和title有什么异同?

这个我前几天正好看到了一篇这样的文章。这两个属性是有些重复了。在不同浏览器里面表现有些不同。在alt和title同时设置的时候,alt作为图片的替代文字出现,title是图片的解释文字。

刚刚小小的实验了一把,在没有title的时候,alt会作为图片的解释,但是Firefox好像不这样做。完全测试的话要分图片存不存在、只有title、只有alt,2*2*2,8种情况,真复杂啊。

3、    border-color-left、marin-left、-moz-viewport改写成JavaScript格式

这个就是-后字符换大写,没什么问题。第三个-moz的真不敢确定。(未完待续)

ps:刚接到了百度面试的电话,等了好久,以为没希望了呢,小小高兴一下吧。不过我也没有多大的优势,不管是技术方面还是经验方面只有劣势没有优势,只是rp还行(窃喜一下)。笔试通过的有些侥幸,去百度的希望不大。

继续:刚才试验了一个-moz-border-radius确实是写成MozBorderRadius。

4、 编写一个JavaScript函数,实时显示当前时间,格式年-月-日 时:分:秒

主要是用到了各种时间函数,setInterval(funtionName,Time),firstChild.nodeValue。

setInterval函数名我好像写错了。我写的是最普通最简单的函数,每隔一秒钟重新获取时间。有很多值得优化的地方。程序写的不好看,就不献丑了。

5、 用css、html编写一个两列布局的网页,要求右侧宽度为200px,左侧自动扩展。

我主要的想法是右侧绝对定位,左框右边距200px,正好空出了右侧的位置。

我写的CSS如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)#right{
  position:absolute;
   right:0;
   width:200px;
}
#left{
  marin-right:200px;
}

另一种方法(试验有效):

#right{
  float:right;
  width:200px;
}
#left{
  marin-right:200px;
}

HTML代码中#right必须写在#left前面

body
  div id=right/div
  div id=left/div
/body

这好像是道经典面试题,在某次面试的时候,就被问过这个问题。还有一道经典的问题是如何使固定宽度的div在页面居中。

6、 使用JavaScript深度克隆一个对象?

JavaScript的对象赋值var anObj = anOtherObj 用的是传址方式,不能用于复制对象。

用对象原型写通用性更强些,但是当时对prototype没有十分的把握,只写了个克隆函数。刚刚查了下,果然有猫腻,下面是实现代码:

function Object.prototype.cloneObj()
{
   function NEWOBJECT(){};
   NEWOBJECT. prototype = this;
   var anObj = new NEWOBJECT();
   for ( var ele in anObj )
   {
      if ( typeof anObj[ele] == object ) return anObj[ele]. cloneObj();
   }
   return anObj;
}

7.Linux题目:批量删除当前目录下后缀名为.c的文件,如a.c、b.c

我的回答是rm *.c

幸亏我还有点点linux基础,当然更得归功于考前复习了几个常用linux命令。

附加题是Flash的AS题,大概是比较AS2.0和AS3.0在面向对象方面的异同吧。我都有好久好久没有接触过AS了,这题我没答。

展开更多 50%)
分享

猜你喜欢

百度前端笔试面试7个试题

Web开发
百度前端笔试面试7个试题

Delphi笔试题

编程语言 网络编程
Delphi笔试题

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

百度糯米怎么绑定百度钱包

手机软件 应用软件
百度糯米怎么绑定百度钱包

百度杀毒和百度卫士怎么卸载?

电脑网络
百度杀毒和百度卫士怎么卸载?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

百度小偷

Web开发
百度小偷

百度HI怎么注册 百度HI注册教程

软件教程
百度HI怎么注册  百度HI注册教程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

书名号怎么打?word中书名号怎么打

书名号怎么打?word中书名号怎么打

jQuery教程:14个实用的jQuery技巧

jQuery教程:14个实用的jQuery技巧
下拉加载更多内容 ↓