前端100道面試題——2017-03-03

前端100道面試題

 總分:100javascript

文檔下載地址:

http://files.cnblogs.com/files/qwjdr/%E5%89%8D%E5%90%8E%E7%AB%AF100%E9%81%93%E9%9D%A2%E8%AF%95%E9%A2%98.rar

1、單選題(共15題,每題2分

1、 如下不屬於行內元素的是(    )php

a) h1css

b) a前端

c) spanjava

d) selectcss3

 

2、 如下不屬於塊級元素的(    )程序員

a) h2面試

b) divajax

c) span數據庫

d) h3

 

3、 如下不屬於空元素的(    )

a) <br>

b) <img>

c) <col>

d) <ol>

 

4、 如下不屬於display的值是(    )

a) inherit

b) table

c) bolck

d) list-item

注:是block,不是bolck.

5、 如下關於ajax的說法錯誤的是(    )

a) ajax的全稱:Asynchronous Javascript And XML

b) 向服務器發送請求的時候,需等待結果

c) 可經過XMLHttpRequest對象建立一個異步調用對象

d) 可實現局部刷新

  

6、 如下哪個不是DOM操做的建立新節點(   )

a) createNode()

b) createDocumentFragment()

c) createElement()

d) createTextNode()

 

7、 如下哪個DOM節點操做方法是undefined(    )

a) appendChild()

b) removeChild()

c) changeChild()

d) insertBefore()

 

8、 如下哪個DOM操做不是查找節點操做(    )

a) queryselector()

b) getElementById()

c) getElementsByTag()

d) getElementsByName()

 

9、 假設今天是200641日星期六,請問如下javascript代碼輸出結果是(  )

a) 2006

b) 1

c) 4

d) 06

 

10、 setTimeout("buy( )",2000)表示的意思是(   )

a) 間隔2000秒後,buy( )函數被調用一次

b) buy( )函數被持續調用2000

c) 間隔2秒後,buy( )函數被調用一次

d) 間隔2分鐘後,buy( )函數被調用一次

 

11、 JQuery中被譽爲工廠函數的是(   ) 

a) ready( )

b) function( )

c) $( )

d) factory()

 

12、 關於bind( )方法與unbind( )方法說法正確的是(    ) 

a) bind( )方法可用來移除單個或多個事件

b) unbind( )方法能夠同時移除多個事件,但不能移除單個事件

c) 使用bind( )方法可同時綁定鼠標事件和鍵盤事件

d) bind( )方法只能移除多個事件

Tip:bind(""mouseenter mouseleave",function(){    });

 

13、 (   )是遍歷同輩節點的方法

a) next( )

b) child( )

c) children( )

d) prev()

 

14、 對字符串str="welcome to china"進行下列操做處理,描述結果正確的是(   ) 

a) str.substring(1,5)的返回值是"elcom"

b) str.length的返回值15

c) str.indexOf("come",4)的返回值爲4

d) str.replace('o','a')的返回值是"Welcame To China"

 

15、 騰訊QQ號從10000開始,目前最高位10位,(   )能夠匹配QQ

a) /^[1-9][0-9]{4,10}$/

b) /^[1-9][0-9]{4,9}$/

c) /^\d{5,10}$/

d) /^\d[5,10]$/

 

 

2、多選題(共15題,每題2分,多選/少選都不給分

1.屬於語意化的內容元素有(    

  a) articlefooter

  b) block

  c) sectionbanner

  d) headernav

 

2.HTML5新增的特性有哪些(    )

a) 表單新特性:RequiredAutofocusPlaceholderspattern

b) 語義化的headerfooter

c) 讓你的內容可編輯,只須要加一個contenteditable屬性

d) Local StorageWeb Sockets

 

3.如下關於響應式佈局說法正確的是(    )

a) 利用css3media query媒體查詢功能

b) 使用bootsrap框架

c) 使用HTML5語義化標籤

d) 以上說法都正確

 

4.js有哪些內置的數據封裝類對象(    )

a) ObjectArray

b) Boolean

c) Number Error

d) Math

 

5.this對象的理解正確的是(    )

a) this老是指向函數的直接調用者

b) this老是指向函數的非間接調用者

c) 若是有new關鍵字,this指向new出來的那個對象;

d) IEattachEvent中的this老是指向全局對象Window

 

6.JSON 的說法正確的是(    )

a) 全稱是JSON(JavaScript Object Number)

b) 是一種輕量級的數據交換格式

c) 數據格式簡單, 易於讀寫, 佔用帶寬小

d) 採用鍵值對,例如:{'age':'12', 'name':'back'}

 

7.HTTP狀態碼說法正確的是(    )

a) 200  OK   正常返回信息

b) 302 Found  永久性重定向

c) 401 Unauthorized  禁止訪問

d) 503 Service Unavailable 服務器端暫時沒法處理請求

 

8.哪些性能優化的方法是正確的(    )

a) 減小http請求次數:CSS Sprites, JSCSS源碼壓縮、圖片大小控制合適;網頁GzipCDN託管,data緩存 ,圖片服務器

b) 少用全局變量、緩存DOM節點查找的結果。減小IO讀取操做

c) 前端模板不要使用 JS+數據,會增長因爲HTML標籤致使的帶寬浪費

d) 當須要設置的樣式不少時少設置className而是直接操做style

 

9.關於Node.js中使用NPM的說法正確的是(    )

a) 能夠安裝和管理項目的依賴

b) 不可以指明依賴項的具體版本號

c) 不能夠經過package.json文件來管理項目信息,配置腳本,

d) 能夠經過package.json指明項目依賴的具體版本

 

10.關於MVC說法正確的是(    )

a) MVCModle(模型), View(視圖)和Controller(控制器)組成

b) PHP MVC能夠更高效地管理好3個不一樣層的PHP代碼。

c) view層負責將應用的數據以特定的方式展示在界面上

d) Controller:一般控制用戶輸入,並模型裏對數據信息進行存取

 

11.優化MYSQL數據庫的方法(    )

a) 語句方面:使用索引,增長查詢效率

b) 語句方面:優化查詢語句,提升索引命中率

c) 數據庫涉及方面:構造分庫分表,提升數據庫的存儲和擴展能力

d) 數據庫涉及方面:根據須要使用不一樣的存儲引擎

 

12.關於大流量的網站,如下解決訪問量問題的方法正確的有(    )

a) 避免使用緩存,減小緩存命中率

b) 使用負載均衡

c) 對靜態文件使用CDN進行存儲和加速

d) 想法增長數據庫的使用

 

13.php中下面哪些函數是有關文件操做的(    )

a) fget()

b) file_open()

c) fopen()

d) fclose()

 

14.如下屬於PHP5權限控制修飾符的有哪些(    )

a) public

b) protected

c) publish

d) private

 

15.Linux服務器中如下說法正確的有(    )

a) 在從新啓動Linux系統的同時把內存中的信息寫入硬盤,應使用shutdown –r now命令實現

b) 對名爲fido的文件用chmod 551 fido 進行了修改,則它的許可權是-rwxr-xr-x

c) NFS是網絡文件系統

d) 刪除文件命令爲rmdir

 

3、問答題(共4題,每題10分

1. 怎樣添加、移除、移動、複製、建立和查找節點?

答案:

1)建立新節點
  createDocumentFragment() //建立一個DOM片斷
  createElement() //建立一個具體的元素
  createTextNode() //建立一個文本節點

 

2)添加、移除、替換、插入
  appendChild() //添加
  removeChild() //移除
  replaceChild() //替換
  insertBefore() //插入

 

3)查找
  getElementsByTagName() //經過標籤名稱
  getElementsByName() //經過元素的Name屬性的值
  getElementById() //經過元素Id,惟一性

2. 你所瞭解到的Web攻擊技術

答案:

 (1XSSCross-Site Scripting,跨站腳本攻擊):指經過存在安全漏洞的Web網站註冊用戶的瀏覽器內運行非法的HTML標籤或者JavaScript進行的一種攻擊。
 (2SQL注入攻擊
 (3CSRFCross-Site Request Forgeries,跨站點請求僞造):指攻擊者經過設置好的陷阱,強制對已完成的認證用戶進行非預期的我的信息或設定信息等某些狀態更新。

3. 使用PHP寫一個遍歷目錄下全部文件以及子目錄的函數 

答案:

<?php

    function traverse($path = '.') {

    $current_dir = opendir($path);    //opendir()返回一個目錄句柄,失敗返回false

    while(($file = readdir($current_dir)) !== false) {    //readdir()返回打開目錄句柄中的一個條目

            $sub_dir = $path . DIRECTORY_SEPARATOR . $file;    //構建子目錄路徑

        if($file == '.' || $file == '..') {

            continue;

        } else if(is_dir($sub_dir)) {    //若是是目錄,進行遞歸

            echo 'Directory ' . $file . ':<br>';

            traverse($sub_dir);

        } else {    //若是是文件,直接輸出

            echo 'File in Directory ' . $path . ': ' . $file . '<br>';

        }

    }

  }

4. 對前端工程師這個職位你是怎麼樣理解的?

答案:

  a. 前端是最貼近用戶的程序員,前端的能力就是能讓產品從 90分進化到 100 分,甚至更好

  b. 參與項目,快速高質量完成實現效果圖,精確到1px

  c. 與團隊成員,UI設計,產品經理的溝通;

  d. 作好的頁面結構,頁面重構和用戶體驗;

  e. 處理hack,兼容、寫出優美的代碼格式;

  f. 針對服務器的優化、擁抱最新前端技術。

相關文章
相關標籤/搜索