2019年百度前端工程師面試題及答案解

1、單選題(共25題,每題5分)php

1.該正則能夠匹配下列哪一個字符串? /^sjm/css

A、absjmhtml

B、phpsjmjava

C、sjmphpjquery

D、phpsimdajax

參考答案:C正則表達式

答案解析:該正則匹配以sjm開頭的字符串算法

2.新窗口打開網頁,用到如下哪一個值()。設計模式

A、_self瀏覽器

B、_blank

C、_top

D、_parent

參考答案:B

答案解析:在html中經過標籤打開一個連接,經過 標籤的 target 屬性規定在何處打開連接文檔。

若是在標籤中寫入target屬性,則瀏覽器會根據target的屬性值去打開與其命名或名稱相符的 框架或者窗口.

在target中還存在四個保留的屬性值以下,

### 屬性值

描述

\_blank

在新窗口中打開被連接文檔。

\_self

默認。在相同的框架中打開被連接文檔。

\_parent

在父框架集中打開被連接文檔。

\_top

在整個窗口中打開被連接文檔。

*framename*

在指定的框架中打開被連接文檔。

這些 target 的全部 4 個值都如下劃線開始。任何其餘用一個下劃線做爲開頭的窗口或者目標都會被瀏覽器忽略,所以,不要將下劃線做爲文檔中定義的任何框架 name 或 id 的第一個字符。

上面這段出自w3c。。

3.若是一個HTML文檔內含有阿拉伯文,則應該?

A、使用utf-8編碼

B、將阿拉伯文轉爲圖片並嵌入到文檔內

C、使用GBK編碼

D、使用iso-8859-2編碼

參考答案:A

答案解析:

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼。UTF-8用1到6個字節編碼UNICODE字符。用在網頁上能夠同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

GBK是漢字編碼,是雙字節碼,可表示繁體字和簡體字。

```

ISO8859-2 字符集,也稱爲 Latin-2,收集了東歐字符。

```

4.如下哪一個選項不是塊級元素()

A、div

B、span

C、p

D、h1

參考答案:B

答案解析:

常見的內聯元素:、**、、*、*、**、、、、、` `******

常見的塊級元素:

、、、、 、、、

、> 、

窗體頂端

窗體底端

常見的內聯塊級元素:![]()、

 

5.下面關於二叉樹的說法正確的是?

A、滿二叉樹就是徹底二叉樹

B、滿二叉樹中有可能存在度數爲1的節點

C、徹底二叉樹就是滿二叉樹

D、徹底二叉樹中某個節點能夠沒有左孩子,只有右孩子

參考答案:A

答案解析:滿二叉樹的任意節點,要麼度爲0,要麼度爲2.換個說法即要麼爲葉子結點,要麼同時具備左右孩子。 徹底二叉樹:全部子樹要麼沒有孩子,要麼必定有左孩子。 滿二叉樹必定爲徹底二叉樹,但徹底二叉樹不必定爲滿二叉樹;

6.下面有關csrf的描述,說法錯誤的是?

A、CSRF則經過假裝來自受信任用戶的請求來利用受信任的網站

B、xss是實現csrf的諸多途徑中的一條

C、在客戶端頁面增長僞隨機數能夠阻擋csrf

D、過濾用戶輸入的內容也能夠阻擋csrf

參考答案:D

答案解析:

D;

1.XSS 全稱「跨站腳本」,是注入攻擊的一種。其特色是不對服務器端形成任何傷害,而是經過一些正常的站內交互途徑,例如發佈評論,提交含有 JavaScript 的內容文本。這時服務器端若是沒有過濾或轉義掉這些腳本,做爲內容發佈到了頁面上,其餘用戶訪問這個頁面的時候就會運行這些腳本。

2.CSRF 的全稱是「跨站請求僞造」,而 XSS 的全稱是「跨站腳本」。看起來有點類似,它們都是屬於跨站攻擊——不攻擊服務器端而攻擊正常訪問網站的用戶,但前面說了,它們的攻擊類型是不一樣維度上的分 類。CSRF 顧名思義,是僞造請求,冒充用戶在站內的正常操做。咱們知道,絕大多數網站是經過 cookie 等方式辨識用戶身份(包括使用服務器端 Session 的網站,由於 Session ID 也是大多保存在 cookie 裏面的),再予以受權的。因此要僞造用戶的正常操做,最好的方法是經過 XSS 或連接欺騙等途徑,讓用戶在本機(即擁有身份 cookie 的瀏覽器端)發起用戶所不知道的請求。

3.XSS 是實現 CSRF 的諸多途徑中的一條,但絕對不是惟一的一條。通常習慣上把經過 XSS 來實現的 CSRF 稱爲 XSRF。

7.下面span標籤中Hello World字體的顏色是 ?<

style type="text/css">

    span {

        color: green;

    }



    .red {

        color: red;

    }



    #blue {

        color: blue;

    }</style><span class="red" id="blue" style="color:black;"> Hello World</span>

HTML

A、green

B、red

C、blue

D、black

8.數字簽名 elgamal算法的原理是?

A、擴展歐幾里得定理

B、中國剩餘定理

C、歐拉定理

D、拉斐爾定律

9.若是想在一個指定的元素後添加內容,下面哪一個是實現該功能的?

A、append(content)

B、appendTo(content)

C、insertAfter(content)

D、after(content)

10.在jquery中想要實現經過遠程http get請求載入信息功能的是下面的哪一下事件?

A、$.ajax()

B、load(url)

C、$.get(url)

D、$. getScript(url)

11.因特網用戶大多數狀況下都是經過瀏覽器訪問網頁的,瀏覽器採用超文本傳輸協議與Web服務器進行通訊。超文本傳輸協議的英文縮寫是

A、 HTML

B、 URL

C、 HTTP

D、 FTP

 

12.JavaScript中經過navigator.userAgent獲取到的是:

A、用戶瀏覽器信息

B、用戶代理信息

C、用戶地理位置

D、用戶IP地址

參考答案:A

13.想匹配 字符串 "abc 123" 中的數字,哪一個正則表達式是正確的?

A、/\d*/

B、/[0-9]*/

C、/[^a-z]*/

D、/\d+/

參考答案:D

答案解析:這個是匹配數字,\d+ 表示至少配置一個數字,A和B都是沒有至少這個含義,C這個不是數字

14.HTML語言中的換行標記是 (   )

A、html

B、br

C、title

D、p

參考答案:B

15.如下對HTML中使用CSS說法不正確的是:( )

A、CSS必須在HTML中使用

B、HTML中必須使用CSS

C、在HTML中可使用CSS,也能夠不使用

D、在HTML元素中經過屬性完成的設置,部分也能夠經過CSS來設置

參考答案:B

16.如下對HTML中使用CSS說法不正確的是:( )

A、CSS必須在HTML中使用

B、HTML中必須使用CSS

C、在HTML中可使用CSS,也能夠不使用

D、在HTML元素中經過屬性完成的設置,部分也能夠經過CSS來設置

參考答案:B

17.HTML5應用中若是須要在瀏覽器端存儲一組50k大小的數據,並且不受瀏覽器...

HTML5應用中若是須要在瀏覽器端存儲一組50k大小的數據,並且不受瀏覽器關閉影響,最好使用如下那種技術:

A、localStorage

B、sessionStorage

C、cookie

D、url

參考答案:A

18.雖然不一樣的操做系統可能裝有不一樣的瀏覽器。可是這些瀏覽器都符合( )協議。

A、SNMP      

B、 HTTP  

C、HTML   

D、SMTP

19.如下PCRE正則表達式在php中能與哪一個選項匹配? '/\*+\\\+/'

A、aaa\+

B、***\+

C、****\

D、**\+

參考答案:C

答案解析:在php中單引號解析\,因此這個表達式解析後爲'/\*+\\+/',因此是匹配至少一個*和至少一個\

20.與document.getElementById("myHeader")具...

與document.getElementById("myHeader")具備一樣效果的jQuery選擇器是()

A、$("myHeader")

B、$(".myHeader")

C、$("#myHeader")

D、都不正確

21.在實際使用中,下面哪個能夠很方便的得到頁面中定義的HTML對象?()

A、document.GetElementsByTagName

B、document.getElementByTagNames

C、document.getElementsById

D、document.getElementById

參考答案:D

答案解析:A錯在首字母大寫,應爲get……,後面是對的; B錯在s,正確應爲getElementsByTagName; C也錯在s,正確應爲getElementById; 記住首字母小寫,Id無s,TageName有s就行了。

 

22.表示有序列表的是

A、ul

B、dl

C、li

D、ol

23.文本文件和二進制文件的存取,錯誤的是?

A、用記事本打開二進制文件時, 出現亂碼是很必然了

B、二進制文件仍是文本文件, 在存儲時都是一連串的0和1

C、打開方式是同樣的

D、二進制文件最小單位則是位

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

A、Façade

B、Singleton

C、Bridge

D、Composite

E、上面都不是

參考答案:B

答案解析:整體來講設計模式分爲三大類:

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

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

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

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

A、<button>

B、<input>

C、<label>

D、<img>

參考答案:C

答案解析:

要理解display:inline、block、inline-block的區別,須要先了解HTML中的塊級(block)元素和行級(inline)元素的特色,行內元素也叫內聯元素。 塊級元素 老是另起一行開始; 高度,行高以及頂、底邊距均可以控制; 寬度缺省是它所在容器的100%,除非設定一個寬度。 塊級元素一般做爲其餘元素的容器,能夠容納內聯元素和其餘塊元素。block element的HTML標籤以下: address-地址 blockquote-塊引用 center-居中對齊塊 div-經常使用塊級元素 dl-定義列表 form-交互表單 fieldset-form控制組 hr-水平分隔線 ol-排序表單 ul-非排序列表 dir-目錄列表 p-段落 pre-格式化文本 isindex-input prompt menu-菜單列表 table-表格 h1...h6-標題 noframes-frames可選內容(對於不支持frame的瀏覽器顯示此區塊內容) noscript-可選腳本內容(對於不支持script的瀏覽器顯示此內容) 行級元素 和其餘元素都在一行上; 高度,行高以及頂、底邊距不可改變; 高度就是它所容納的文字或圖片的寬度,不可改變。 通常都是基於語義級(semantic)的基本元素,只能容納文本或者其餘內聯元素,內聯元素的HTML標籤分類以下: a-錨點 abbr-縮寫 acronym-首字 font-字體設定(不推薦) b-粗體(不推薦) big-bidi override em-強調 br-換行 small-小字體文本 strong-粗體強調 i-斜體 img-圖片 input-輸入框 label-表格標籤 select-項目選擇 textarea-多行文本輸入框 u-下劃線 var-定義變量 cite-引用 code-計算機代碼(在引用源碼的時候須要) dfn-定義字段 kbd-定義鍵盤文本 q-短引用 s-中劃線(不推薦) strike-中劃線 sub-下標 sup-上標 tt-電傳文本 HTML中有些元素是可變元素,可根據上下文語境決定該元素爲塊元素或者內聯元素。 applet-java applet button-按鈕 del-刪除文本 iframe-inline frame ins-插入的文本 map-圖片區塊(map) object-object對象 script-客戶端腳本 display:block就是將元素顯示爲塊級元素,display:inline則將元素顯示爲行內元素。 display:inline-block將元素顯示爲行內元素,可是元素的內容做爲塊元素處理。旁邊的內聯元素和該對象顯示在同一行,而且容許空格,可是該元素具備塊元素的特性,能夠設置其高度,寬度等屬性。在同一行內有不一樣高度內容的元素時,一般要設置對齊方式如vertical-align: top;來使元素頂部對齊。 兼容性 CSS中使用display:inline-block;來樣式化,在Firefox, Safari, Google Chrome 和 IE 8及以上是有效的。可是在早期的IE,好比IE 7,對行內元素設置inline-block沒法實現inline-block的效果。只是觸發了塊元素的layout,而行內元素自己就是行佈局,因此觸發後,依然是行佈局。 對IE8如下的版本,能夠採用如下兩種方法來實現inline-block的效果: 先用display:inline-block屬性觸發塊元素,而後再定義display:inline,讓塊元素呈遞爲內聯對象(原理:這是IE的一個經典bug,若是先定義了display:inline-block,而後再設置display回inline或block,layout不會消失),代碼以下: 1 div {display:inline-block;}2 div {display:inline;} 將塊元素設置爲內聯對象(display:inline),而後經過zoom:1觸發塊元素的layout,代碼以下: div {display:inline; zoom:1;}

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

1.GET方法與POST方法的區別

A、區別一: get重點在從服務器上獲取資源,post重點在向服務器發送數據;

B、區別二: get傳輸數據是經過URL請求,以field(字段)= value的形式,置於URL後,並用"?"鏈接,多個請求數據間用"&"鏈接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,這個過程用戶是可見的; post傳輸數據經過Http的post機制,將字段與對應值封存在請求實體中發送給服務器,這個過程對用戶是不可見的;

C、區別三: Get傳輸的數據量小,由於受URL長度限制,但效率較高; Post能夠傳輸大量數據,因此上傳文件時只能用Post方式;

D、區別四: get是不安全的,由於URL是可見的,可能會泄露私密信息,如密碼等; post較get安全性較高;

參考答案:ABCD

答案解析:

abcd都對,還有 區別五: get方式只能支持ASCII字符,向服務器傳的中文字符可能會亂碼。 post支持標準字符集,能夠正確傳遞中文字符。

2.關於focus/blur與focusin/focusout的描述,正確的有?

A、focus/blur冒泡,focusin/focusout不冒泡

B、focus/blur兼容性好,focusin/focusout在除FireFox外的瀏覽器下都保持良好兼容性,如需使用事件託管,可考慮在FireFox下使用事件捕獲elem.addEventListener('focus', handler, true)

C、可得到焦點的元素: window 、連接被點擊或鍵盤操做、表單空間被點擊或鍵盤操做

D、設置tabindex屬性的元素被點擊或鍵盤操做並不會得到焦點

3.下列JS框架中,系列不包含開箱即用的UI控件和小部件的是()

A、MooTools

B、ExtJS

C、jQuery

D、YUI

4.input元素的 type 屬性的取值能夠是()

A、image

B、checkbox

C、select

D、button

參考答案:A,B,D

答案解析:input的type 屬性取值總結:

 

5.如下標籤中,默認是塊級元素的標籤有:

A、span

B、div

C、p

D、img

參考答案:B,

答案解析:

img是內聯元素

相關文章
相關標籤/搜索