百度web前端筆試題和面試題答案目

大風(fēng)車考試網(wǎng)

  百度卷子上沒說要保密,我在這兒發(fā)下我的一些我的想法應(yīng)該沒問題吧 : )

1、 JavaScript包括哪些數(shù)據(jù)類型?

  我回答的是有兩種:基本類型和對(duì)象,其中基本類型包括數(shù)字、字符串、布爾和null;對(duì)象(類似對(duì)象),包括數(shù)組、函數(shù)、內(nèi)置對(duì)象、自定義對(duì)象。不過按理說字符串也有些對(duì)象的特點(diǎn)。

  我這個(gè)回答是參考的JavaScript權(quán)威指南的,有些小問題,第一類中缺少了undefined。

  搜索了下,網(wǎng)上還有幾種回答:

  第一種:共九種類型:1.未定義(undefined) 2.空(null) 3.布爾(boolean) 4.字符串(string) 5.數(shù)字(number)6.對(duì)象(object) 7.引用(reference) 8.列表(list) 9.完成(completion)。reference,list,completion這3種類型是做為JavaScript運(yùn)行時(shí)中間結(jié)果的數(shù)據(jù)類型 在代碼中不能使用。

  最后我確實(shí)沒見過。

  第二種:javascript中包含6種數(shù)據(jù)類型:undefined、null、string、 number、boolean和object。其中,前5種是原始數(shù)據(jù)類型,object是對(duì)象類型。object類型中包括Object、 Function、String、Number、Boolean、Array、Regexp、Date、Globel、Math、Error,以及宿主環(huán)境提供的object類型。

  除去reference,list,completion不同外,這幾個(gè)回答其實(shí)大同小異。

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

  這個(gè)我前幾天正好看到了一篇這樣的文章。這兩個(gè)屬性是有些重復(fù)了。在不同瀏覽器里面表現(xiàn)有些不同。在alt和title同時(shí)設(shè)置的時(shí)候,alt作為圖片的替代文字出現(xiàn),title是圖片的解釋文字。

  剛剛小小的實(shí)驗(yàn)了一把,在沒有title的時(shí)候,alt會(huì)作為圖片的解釋,但是Firefox好像不這樣做。完全測(cè)試的話要分圖片存不存在、只有 title、只有alt,2*2*2,8種情況,真復(fù)雜啊。

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

  這個(gè)就是-后字符換大寫,沒什么問題。第三個(gè)-moz的真不敢確定。(未完待續(xù))

  ps:剛接到了百度面試的電話,等了好久,以為沒希望了呢,小小高興一下吧。不過我也沒有多大的優(yōu)勢(shì),不管是技術(shù)方面還是經(jīng)驗(yàn)方面只有劣勢(shì)沒有優(yōu)勢(shì),只是rp還行(竊喜一下)。筆試通過的有些僥幸,去百度的希望不大。

  繼續(xù):剛才試驗(yàn)了一個(gè)-moz-border-radius確實(shí)是寫成MozBorderRadius。

  4、 編寫一個(gè)JavaScript函數(shù),實(shí)時(shí)顯示當(dāng)前時(shí)間,格式“年-月-日 時(shí):分:秒”

  主要是用到了各種時(shí)間函數(shù),setInterval(funtionName,Time),firstChild.nodeValue。

  setInterval函數(shù)名我好像寫錯(cuò)了。我寫的是最普通最簡(jiǎn)單的函數(shù),每隔一秒鐘重新獲取時(shí)間。有很多值得優(yōu)化的地方。程序?qū)懙牟缓每,就不獻(xiàn)丑了。

  5、 用css、html編寫一個(gè)兩列布局的網(wǎng)頁,要求右側(cè)寬度為200px,左側(cè)自動(dòng)擴(kuò)展。

  我主要的想法是右側(cè)絕對(duì)定位,左框右邊距200px,正好空出了右側(cè)的位置。

  我寫的CSS如下:

  #right{

  position:absolute;

  right:0;

  width:200px;

  }

  #left{

  marin-right:200px;

  }

  另一種方法(試驗(yàn)有效):

  #right{

  float:right;

  width:200px;

  }

  #left{

  marin-right:200px;

  }

  HTML代碼中#right必須寫在#left前面

  

  

  

  

  這好像是道經(jīng)典面試題,在某次面試的時(shí)候,就被問過這個(gè)問題。還有一道經(jīng)典的問題是如何使固定寬度的span在頁面居中。

  6、 使用JavaScript深度克隆一個(gè)對(duì)象?

  JavaScript的對(duì)象賦值var anObj = anOtherObj 用的是傳址方式,不能用于復(fù)制對(duì)象。

  用對(duì)象原型寫通用性更強(qiáng)些,但是當(dāng)時(shí)對(duì)prototype沒有十分的把握,只寫了個(gè)克隆函數(shù)。剛剛查了下,果然有貓膩,下面是實(shí)現(xiàn)代碼:

  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題目:批量刪除當(dāng)前目錄下后綴名為.c的文件,如a.c、b.c

  我的回答是rm *.c

  幸虧我還有點(diǎn)點(diǎn)linux基礎(chǔ),當(dāng)然更得歸功于考前復(fù)習(xí)了幾個(gè)常用linux命令。

  附加題是Flash的AS題,大概是比較AS2.0和AS3.0在面向?qū)ο蠓矫娴漠愅。我都有好久好久沒有接觸過AS了,這題我沒答。

  • 相關(guān)文章