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

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

1.該正則可以匹配下列哪個(gè)字符串? /^sjm/

A、absjm

B、phpsjm

C、sjmphp

D、phpsimd

參考答案:C

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

2.新窗口打開網(wǎng)頁,用到以下哪個(gè)值()。

A、_self

B、_blank

C、_top

D、_parent

參考答案:B

答案解析:在html中通過標(biāo)簽打開一個(gè)鏈接,通過標(biāo)簽的 target 屬性規(guī)定在何處打開鏈接文檔。

如果在標(biāo)簽中寫入target屬性,則瀏覽器會(huì)根據(jù)target的屬性值去打開與其命名或名稱相符的?框架或者窗口.

在target中還存在四個(gè)保留的屬性值如下,

### 屬性值

描述

\_blank在新窗口中打開被鏈接文檔。

\_self默認(rèn)。在相同的框架中打開被鏈接文檔。

\_parent在父框架集中打開被鏈接文檔。

\_top在整個(gè)窗口中打開被鏈接文檔。

*framename*在指定的框架中打開被鏈接文檔。

這些 target 的所有 4 個(gè)值都以下劃線開始。任何其他用一個(gè)下劃線作為開頭的窗口或者目標(biāo)都會(huì)被瀏覽器忽略,因此,不要將下劃線作為文檔中定義的任何框架 name 或 id 的第一個(gè)字符。

上面這段出自w3c。。

3.如果一個(gè)HTML文檔內(nèi)含有阿拉伯文,則應(yīng)該?

A、使用utf-8編碼

B、將阿拉伯文轉(zhuǎn)為圖片并嵌入到文檔內(nèi)

C、使用GBK編碼

D、使用iso-8859-2編碼

參考答案:A

答案解析:

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

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

```

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

```

4.以下哪個(gè)選項(xiàng)不是塊級(jí)元素()

A、div

B、span

C、p

D、h1

參考答案:B

答案解析:

常見的內(nèi)聯(lián)元素:、**、、*、*、**、、、、、` `******

常見的塊級(jí)元素:

、、、、 、、、

、> 、

窗體頂端

窗體底端

常見的內(nèi)聯(lián)塊級(jí)元素:![]()、

5.下面關(guān)于二叉樹的說法正確的是?

A、滿二叉樹就是完全二叉樹

B、滿二叉樹中有可能存在度數(shù)為1的節(jié)點(diǎn)

C、完全二叉樹就是滿二叉樹

D、完全二叉樹中某個(gè)節(jié)點(diǎn)可以沒有左孩子,只有右孩子

參考答案:A

答案解析:滿二叉樹的任意節(jié)點(diǎn),要么度為0,要么度為2.換個(gè)說法即要么為葉子結(jié)點(diǎn),要么同時(shí)具有左右孩子。 完全二叉樹:所有子樹要么沒有孩子,要么一定有左孩子。 滿二叉樹一定為完全二叉樹,但完全二叉樹不一定為滿二叉樹;

6.下面有關(guān)csrf的描述,說法錯(cuò)誤的是?

A、CSRF則通過偽裝來自受信任用戶的請求來利用受信任的網(wǎng)站

B、xss是實(shí)現(xiàn)csrf的諸多途徑中的一條

C、在客戶端頁面增加偽隨機(jī)數(shù)可以阻擋csrf

D、過濾用戶輸入的內(nèi)容也可以阻擋csrf

參考答案:D

答案解析:

D;

1.XSS 全稱“跨站腳本”,是注入攻擊的一種。其特點(diǎn)是不對(duì)服務(wù)器端造成任何傷害,而是通過一些正常的站內(nèi)交互途徑,例如發(fā)布評(píng)論,提交含有 JavaScript 的內(nèi)容文本。這時(shí)服務(wù)器端如果沒有過濾或轉(zhuǎn)義掉這些腳本,作為內(nèi)容發(fā)布到了頁面上,其他用戶訪問這個(gè)頁面的時(shí)候就會(huì)運(yùn)行這些腳本。

2.CSRF 的全稱是“跨站請求偽造”,而 XSS 的全稱是“跨站腳本”??雌饋碛悬c(diǎn)相似,它們都是屬于跨站攻擊——不攻擊服務(wù)器端而攻擊正常訪問網(wǎng)站的用戶,但前面說了,它們的攻擊類型是不同維度上的分 類。CSRF 顧名思義,是偽造請求,冒充用戶在站內(nèi)的正常操作。我們知道,絕大多數(shù)網(wǎng)站是通過 cookie 等方式辨識(shí)用戶身份(包括使用服務(wù)器端 Session 的網(wǎng)站,因?yàn)?Session ID 也是大多保存在 cookie 里面的),再予以授權(quán)的。所以要偽造用戶的正常操作,最好的方法是通過 XSS 或鏈接欺騙等途徑,讓用戶在本機(jī)(即擁有身份 cookie 的瀏覽器端)發(fā)起用戶所不知道的請求。

3.XSS 是實(shí)現(xiàn) CSRF 的諸多途徑中的一條,但絕對(duì)不是唯一的一條。一般習(xí)慣上把通過 XSS 來實(shí)現(xiàn)的 CSRF 稱為 XSRF。

7.下面span標(biāo)簽中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.數(shù)字簽名 elgamal算法的原理是?

A、擴(kuò)展歐幾里得定理

B、中國剩余定理

C、歐拉定理

D、拉斐爾定律

9.如果想在一個(gè)指定的元素后添加內(nèi)容,下面哪個(gè)是實(shí)現(xiàn)該功能的?

A、append(content)

B、appendTo(content)

C、insertAfter(content)

D、after(content)

10.在jquery中想要實(shí)現(xiàn)通過遠(yuǎn)程http get請求載入信息功能的是下面的哪一下事件?

A、$.ajax()

B、load(url)

C、$.get(url)

D、$.?getScript(url)

11.因特網(wǎng)用戶大多數(shù)情況下都是通過瀏覽器訪問網(wǎng)頁的,瀏覽器采用超文本傳輸協(xié)議與Web服務(wù)器進(jìn)行通信。超文本傳輸協(xié)議的英文縮寫是

A、?HTML

B、?URL

C、?HTTP

D、?FTP

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

A、用戶瀏覽器信息

B、用戶代理信息

C、用戶地理位置

D、用戶IP地址

參考答案:A

13.想匹配 字符串 "abc 123" 中的數(shù)字,哪個(gè)正則表達(dá)式是正確的?

A、/\d*/

B、/[0-9]*/

C、/[^a-z]*/

D、/\d+/

參考答案:D

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

14.HTML語言中的換行標(biāo)記是 ( ? )

A、html

B、br

C、title

D、p

參考答案:B

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

A、CSS必須在HTML中使用

B、HTML中必須使用CSS

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

D、在HTML元素中通過屬性完成的設(shè)置,部分也可以通過CSS來設(shè)置

參考答案:B

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

A、CSS必須在HTML中使用

B、HTML中必須使用CSS

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

D、在HTML元素中通過屬性完成的設(shè)置,部分也可以通過CSS來設(shè)置

參考答案:B

17.HTML5應(yīng)用中如果需要在瀏覽器端存儲(chǔ)一組50k大小的數(shù)據(jù),而且不受瀏覽器...

HTML5應(yīng)用中如果需要在瀏覽器端存儲(chǔ)一組50k大小的數(shù)據(jù),而且不受瀏覽器關(guān)閉影響,最好使用以下那種技術(shù):

A、localStorage

B、sessionStorage

C、cookie

D、url

參考答案:A

18.雖然不同的操作系統(tǒng)可能裝有不同的瀏覽器。但是這些瀏覽器都符合( )協(xié)議。

A、SNMP??????

B、?HTTP??

C、HTML???

D、SMTP

19.以下PCRE正則表達(dá)式在php中能與哪個(gè)選項(xiàng)匹配? '/\*+\\\+/'

A、aaa\+

B、***\+

C、****\

D、**\+

參考答案:C

答案解析:在php中單引號(hào)解析\,所以這個(gè)表達(dá)式解析后為'/\*+\\+/',所以是匹配至少一個(gè)*和至少一個(gè)\

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

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

A、$("myHeader")

B、$(".myHeader")

C、$("#myHeader")

D、都不正確

21.在實(shí)際使用中,下面哪一個(gè)可以很方便的獲得頁面中定義的HTML對(duì)象?()

A、document.GetElementsByTagName

B、document.getElementByTagNames

C、document.getElementsById

D、document.getElementById

參考答案:D

答案解析:A錯(cuò)在首字母大寫,應(yīng)為get……,后面是對(duì)的; B錯(cuò)在s,正確應(yīng)為getElementsByTagName; C也錯(cuò)在s,正確應(yīng)為getElementById; 記住首字母小寫,Id無s,TageName有s就好了。

22.表示有序列表的是

A、ul

B、dl

C、li

D、ol

23.文本文件和二進(jìn)制文件的存取,錯(cuò)誤的是?

A、用記事本打開二進(jìn)制文件時(shí), 出現(xiàn)亂碼是很必然了

B、二進(jìn)制文件還是文本文件, 在存儲(chǔ)時(shí)都是一連串的0和1

C、打開方式是一樣的

D、二進(jìn)制文件最小單位則是位

24.下面哪一種屬于“creational”的設(shè)計(jì)模式?

A、Fa?ade

B、Singleton

C、Bridge

D、Composite

E、上面都不是

參考答案:B

答案解析:總體來說設(shè)計(jì)模式分為三大類:

創(chuàng)建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結(jié)構(gòu)型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問者模式、

25.哪一個(gè)不是瀏覽器默認(rèn)的天生inline-block標(biāo)簽(擁有內(nèi)在尺寸,可設(shè)置高寬,不會(huì)自動(dòng)換行)?

A、<button>

B、<input>

C、<label>

D、<img>

參考答案:C

答案解析:

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

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

1.GET方法與POST方法的區(qū)別

A、區(qū)別一: get重點(diǎn)在從服務(wù)器上獲取資源,post重點(diǎn)在向服務(wù)器發(fā)送數(shù)據(jù);

B、區(qū)別二: get傳輸數(shù)據(jù)是通過URL請求,以field(字段)= value的形式,置于URL后,并用"?"連接,多個(gè)請求數(shù)據(jù)間用"&"連接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,這個(gè)過程用戶是可見的; post傳輸數(shù)據(jù)通過Http的post機(jī)制,將字段與對(duì)應(yīng)值封存在請求實(shí)體中發(fā)送給服務(wù)器,這個(gè)過程對(duì)用戶是不可見的;

C、區(qū)別三: Get傳輸?shù)臄?shù)據(jù)量小,因?yàn)槭躑RL長度限制,但效率較高; Post可以傳輸大量數(shù)據(jù),所以上傳文件時(shí)只能用Post方式;

D、區(qū)別四: get是不安全的,因?yàn)閁RL是可見的,可能會(huì)泄露私密信息,如密碼等; post較get安全性較高;

參考答案:ABCD

答案解析:

abcd都對(duì),還有 區(qū)別五: get方式只能支持ASCII字符,向服務(wù)器傳的中文字符可能會(huì)亂碼。 post支持標(biāo)準(zhǔn)字符集,可以正確傳遞中文字符。

2.關(guān)于focus/blur與focusin/focusout的描述,正確的有?

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

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

C、可獲得焦點(diǎn)的元素: window 、鏈接被點(diǎn)擊或鍵盤操作、表單空間被點(diǎn)擊或鍵盤操作

D、設(shè)置tabindex屬性的元素被點(diǎn)擊或鍵盤操作并不會(huì)獲得焦點(diǎn)

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 屬性取值總結(jié):

5.以下標(biāo)簽中,默認(rèn)是塊級(jí)元素的標(biāo)簽有:

A、span

B、div

C、p

D、img

參考答案:B,

答案解析:

img是內(nèi)聯(lián)元素?

需要更多資料及答案的小伙伴可以加下群一起討論哦:907694362

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容