前端面試題2019年小米工程師面試題及答案解析

1、單選題(共24題,每題5分)css

1.關於XSS的說法,錯誤的是html

A、script,js,vbscript,flashjquery

B、分類:反射,存儲css3

C、是瀏覽器端代碼注入,惡意的script,css,html代碼被瀏覽器解析web

D、PHP相關漏洞算法

參考答案:Dsql

答案解析:是瀏覽器端代碼注入,惡意的script,css,html代碼被瀏覽器解析。 分類:反射,存儲 script,js,vbscript,flash數據庫

 

2.關於JSONP使用的說法錯誤的是:json

A、能夠實現跨域通訊設計模式

B、基於 json 格式數據,兼容性好,簡單易用

C、只支持跨域HTTP請求這種狀況,不能解決不一樣域的兩個頁面之間進行JavaScript調用的問題

D、能夠完美支持POST請求

參考答案:D

3.HTML頁面中有以下結構的代碼, 下列選項所示jQuery代碼,不可以讓漢字「四」的顏色變成紅色的是?

A、  $("#header ul li:eq(3)").css("color","red");

B、  $("#header li:eq(3)").css("color","red");

C、  $("#header li:last").css("color","red");

D、  $("#header li:gt(3)").css("color","red");

參考答案:D

答案解析:

注意是選擇不能

4.下面哪種屬於「creational」的設計模式?

A、Façade

B、Singleton

C、Bridge

D、Composite

E、上面都不是

參考答案:B

答案解析:

整體來講設計模式分爲三大類:

建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

行爲型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

 

5.站點首頁最經常使用的文件名是( )。

A、index.html    

B、homepage.html   

C、resource.html

D、mainfrm.html

參考答案:A

答案解析:站點首頁最經常使用的文件名是index.html,其次是default.html。

 

 

6.sessionStorage 保存數據的方法正確的是:

A、sessionStorage.setItem(「鍵值」,」鍵名」);

B、sessionStorage.saveItem(「鍵名」,」鍵值」);

C、sessionStorage.saveItem(「鍵值」,」鍵名」);

D、sessionStorage.setItem(「鍵名」,」鍵值」);

參考答案:D

答案解析:你只要記住兩點,設置通常用 set 開頭, 獲取採用 get 開頭; 對於鍵值的話,通常都是 (key, value)的形式; 因此選D

 

7.使用CSS聲明一個關聯樣式選擇器,如下幾種HTML元素中的內容能夠爲紅色字體的是: ( )

A、<div>內容</div>

B、<div><em><span>內容</span><em></div>

C、<span></div>內容</div></span>

D、以上均可以

8.JavaScript代碼的用途描述錯誤的是()

A、JavaScript在網頁製做中普遍使用

B、JavaScript是一種功能強大的弱類型語言

C、JavaScript是一種腳本語言,因此它通常沒人用

D、avaScript是一種解釋型腳本語言

 

 

9.下圖所示爲(44)設計模式,屬於(45)設計模式,適用於(46)。

A、 表示對象的部分—總體層次結構時 

B、當一個對象必須通知其它對象,而它又不能假定其它對象是誰時 

C、當建立複雜對象的算法應該獨立於該對象的組成部分及其裝配方式時 

D、在須要比較通用和複雜的對象指針代替簡單的指針時

 

10.數值數據在計算機內用二進制編碼表示,經常使用的編碼有()

A、補碼

B、ASCII碼

C、GB2312碼

D、UFT-8碼

參考答案:A

答案解析:原碼、反碼和補碼

 

11.當使用HTML5的拖放API實現拖動時,須要監聽」開始拖動」事件,此事件的...

當使用HTML5的拖放API實現拖動時,須要監聽」開始拖動」事件,此事件的名稱是:

A、dragstart

B、dragend

C、drop

D、mousedown

參考答案:A

答案解析:拖放是一種常見的特性,即抓取對象之後拖到另外一個位置。 在 HTML5 中,拖放是標準的一部分,任何元素都可以拖放。 首先,爲了使元素可拖動,把 draggable 屬性設置爲 true 拖動什麼 - ondragstart 放到何處 -ondragover ondragover 事件規定在何處放置被拖動的數據。 進行放置 - ondrop 當放置被拖數據時,會發生 drop 事件

 

12.關於 css 佈局中的 BFC ,描述錯誤的是

關於 css 佈局中的 BFC ,描述錯誤的是

A、BFC的區域會與float的元素區域重疊

B、計算BFC的高度時,浮動子元素也參與計算

C、BFC就是頁面上的一個隔離的獨立容器,容器裏面的子元素是不會影響到外面的元素

D、BFC意爲」塊級格式化上下文」

參考答案:A

答案解析:

百度了不少BFC的內容,總結了一篇筆記。 </http:>

 

13.TCP/IP協議棧中的位置(由上到下)?

A、TCP->IP->HTTP->數據鏈路層

B、IP->HTTP->TCP->數據鏈路層

C、HTTP->IP->TCP->數據鏈路層

D、HTTP->TCP->IP->數據鏈路層

參考答案:D

答案解析:HTTP協議一般承載於TCP協議之上,有時也承載於TLS或SSL協議層之上 正確排序爲HTTP->TCP->IP->數據鏈路層

 

14.下面有關HTML的Doctype和嚴格模式與混雜模式的描述,錯誤的是?

A、聲明位於文檔中的最前面,處於  標籤以前。告知瀏覽器的解析器,用什麼文檔類型 規範來解析這個文檔

B、在標準模式中,瀏覽器根據規範呈現頁面;在混雜模式中,頁面以一種比較寬鬆的向後兼容的方式顯示

C、DOCTYPE不存在或格式不正確會致使文檔以標準模式呈現

D、瀏覽器根據DOCTYPE是否存在以及使用的哪一種DTD來選擇要使用的呈現方法

參考答案:C

答案解析:文檔類型
DTD(文檔類型定義)是一組機器可讀的規則,他們定義 XML 或 HTML 的特定版本中容許有什麼,不容許有什麼。在解析網頁時,瀏覽器將使用這些規則檢查頁面的有效性而且採起相應的措施。瀏覽器經過分析頁面的 DOCTYPE 聲明來了解要使用哪一個 DTD ,由此知道要使用 HTML 的哪一個版本。
DOCTYPE 當前有兩種風格,嚴格( strict )和過渡( transitional )。過渡 DOCTYPE 的目的是幫助開發人員從老版本遷移到新版本。
若是發送具備正確的 MIME 類型的 XHTML 文檔,理解 XML 的瀏覽器將不顯示無效的頁面。
瀏覽器模式
瀏覽器有兩種呈現模式:標準模式和混雜模式(quirks mode)。在標準模式中,瀏覽器根據規範呈現頁面;在混雜模式中,頁面以一種比較寬鬆的向後兼容的方式顯示。
DOCTYPE 切換
對於 HTML 4.01 文檔,
包含嚴格 DTD 的 DOCTYPE 經常致使頁面以標準模式呈現。
包含過分 DTD 和 URI 的 DOCTYPE 也致使頁面以標準模式呈現。
可是有過分 DTD 而沒有 URI 會致使頁面以混雜模式呈現。
DOCTYPE 不存在或形式不正確會致使 HTML 和 XHTML 文檔以混雜模式呈現

 

15.在css3中要使元素由一種樣式轉換成另外一種樣式,爲元素添加效果的屬性是?

A、animation

B、keyframes

C、flash

D、transform

 

16.HTTPS是一種安全的HTTP協議,它使用 ( ) 來保證信息安全?

A、IPSec 

B、SSL

C、SET

D、SSH

參考答案:B

答案解析:

SSL是解決傳輸層安全問題的一個主要協議,其設計的初衷是基於TCP協議之上提供可靠的端到端安全服務。應用SSL協議最普遍的是HTTPS,它爲客戶瀏覽器和Web服務器之間交換信息提供安全通訊支持。它使用TCP的443端口發送和接收報文。

 

17.下列哪一項不是HTML5中新增長的標籤?

A、nav

B、article

C、caption

D、video

 

18.下列jQuery事件綁定正確的是____。

A、$(‘#demo’).bind(‘click’,function(){})

B、$(‘#demo’).click(function() {})

C、$(‘#demo’).on(‘click’,function() {})

D、$(‘#demo’).one(‘click’,function() {})

參考答案:A

答案解析:

.bind( eventType [, eventData ], handler(eventObject) )

爲一個元素綁定一個事件處理程序。

.on( events [, selector ] [, data ], handler(eventObject) )

在選定的元素上綁定一個或多個事件處理函數。

.one( events [, data ], handler(eventObject) )

附加一個處理事件到元素。處理函數在每一個元素上最多執行一次。

 

19.在jquery中,若是想要獲取當前窗口的寬度值,下面哪一個是實現該功能的?

A、width()

B、width(val)

C、width

D、innerWidth()

 

20.下面Http協議請求方式中不包括?

A、OPTIONS

B、HEAD

C、DELETE

D、SET

 

21.jQuery 對象的方法 get() 作什麼?

A、觸發一個GET OBJECT請求

B、返回一個對象

C、返回存在jQuery對象中的DOM元素

D、觸發一個GET AJAX請求

 

 22.如下關於HTTP method 的說法,錯誤的是?

A、一臺服務器要與HTTP1.1兼容,只要爲資源實現GET和HEAD方法便可

B、PUT讓服務器用請求的主體部分來建立一個由所請求的URL命名的新文檔,或者,若是那個URL已經存在的話,就用幹這個主體替代它

C、POST起初是用來向服務器輸入數據的。實際上,一般會用它來支持HTML的表單。表單中填好的數據一般會被送給服務器,而後由服務器將其發送到要去的地方。

D、TRACE方法請求web服務器告知其支持的各類功能。能夠查詢服務器支持哪些方法或者對某些特殊資源支持哪些方法。

 

23.當表單中包含文件上傳控件時,須要將enctype設置爲()

A、application/x-www-form-urlencoded

B、multipart/form-data

C、text/explain

D、file-data

 

24.哪個不是瀏覽器默認的天生inline-block標籤(擁有內在尺寸,可設置高寬,不會自動換行)?

A、<button>

B、<input>

C、<label>

D、<img>

 

2、多選題(共6題,每題5分)

1.JavaScript函數內部arguments變量的說法,正確的有?

A、arguments全部函數中都包含的一個局部變量,是一個類數組對象,對應函數調用時的實參,若是函數定義同名參數會在調用時覆蓋默認對象

B、arguments[index]分別對應函數調用時的實參,而且經過arguments修改實參時會同時修改實參

C、arguments.callee爲當前正在執行的函數自己,使用這個屬性進行遞歸調用時需注意this的變化

D、arguments.length爲實參的個數(Function.length表示形參長度)

參考答案:A,B,C,D

答案解析:

函數內部arguments變量有哪些特性,有哪些屬性,如何將它轉換爲數組
arguments全部函數中都包含的一個局部變量,是一個類數組對象,對應函數調用時的實參。若是函數定義同名參數會在調用時覆蓋默認對象
arguments[index]分別對應函數調用時的實參,而且經過arguments修改實參時會同時修改實參
arguments.length爲實參的個數(Function.length表示形參長度)
arguments.callee爲當前正在執行的函數自己,使用這個屬性進行遞歸調用時需注意this的變化
arguments.caller爲調用當前函數的函數(已被遺棄)
轉換爲數組:var args = Array.prototype.slice.call(arguments, 0);
 

2.下列說法正確的是()

A、display: none;不爲被隱藏的對象保留其物理空間;

B、visibility:hidden;所佔據的空間位置仍然存在,僅爲視覺上的徹底透明;

C、visibility:hidden;產生reflow和repaint(迴流與重繪);

D、visibility:hidden;與display: none;二者沒有本質上的區別;

參考答案:A,B

答案解析:

 

 

3.關於柵格系統,如下說法正確的是

A、會有自動的padding樣式

B、會有自動的margin樣式

C、其字體默認爲14px

D、其box-sizing默認爲border-box

參考答案:A,C,D

答案解析:

此題有極大的問題。柵格系統是把網頁分爲 16 12 24欄。 只能要很好的劃分就好。有必要必定要建立間隔嗎。爲了好理解咱們建立一個10欄的柵格化。那麼每欄寬度10%。沒有列間隔。你能說他不叫柵格系統嗎?

 

4.假設MySQL數據庫表結構以下,哪些sql語句查詢能較好的利用索引?

create table T{ k int unsigned not null auto\_increment, a date, b varchar(24), c int,d varchar(24), primary key(k),unique key a\_index (a DESC,b DESC), key k1(b),key k2(c),key k3(d) );

A、select b from WHERE b like 'aaa%';

B、select a,b from T WHERE a='2015-10-25' ORDER BY b ASC,c ASC;

C、select a,b,c from T WHERE a='2015-10-25' ORDER BY b ASC;

D、select a,b,c from T WHERE a='2015-10-25' ORDER BY a,b;

參考答案:A,D

答案解析:

題目中的索引b是降序,而B,C兩個選項都是升序,故會致使效率下降。而A,D兩個選項沒有指定升序降序,故會按照其定義的索引a desc,b desc 來進行操做,故而效率較高。因此選A,D。

 

5.下列哪些是正確的引入CSS文件到html中的方式? ()

A、<link rel="stylesheet" type="text/css" href="test.css">

B、<link rel="stylesheet" type="text/css" src="mystyle.css">

C、<style type=」text/css」>body{color:red}</style>

D、<style type=「text/css" src="test.css"></style>

 

 

6.能夠包含在HTML網頁head標籤中的有

A、<title>

B、<meta>

C、<body>

D、<link>

相關文章
相關標籤/搜索