摘要:上次由于時(shí)間有限只分享了一部分的前端面試題,所以本篇繼續(xù)分享前端經(jīng)典面試試題一棧和隊(duì)列的區(qū)別棧的插入和刪除操作都是在一端進(jìn)行的,而隊(duì)列的操作卻是在兩端進(jìn)行的。
上次由于時(shí)間有限只分享了一部分的前端面試題,所以本篇繼續(xù)分享前端經(jīng)典面試試題
一. 棧和隊(duì)列的區(qū)別?棧的插入和刪除操作都是在一端進(jìn)行的,而隊(duì)列的操作卻是在兩端進(jìn)行的。 隊(duì)列先進(jìn)先出,棧先進(jìn)后出。 棧只允許在表尾一端進(jìn)行插入和刪除,而隊(duì)列只允許在表尾一端進(jìn)行插入,在表頭一端進(jìn)行刪除。二. http 和 https 有何區(qū)別?如何靈活使用?
a. http是HTTP協(xié)議運(yùn)行在TCP之上。所有傳輸?shù)膬?nèi)容都是明文,客戶端和服務(wù)器端都無法驗(yàn)證對(duì)方的身份。 b. https是HTTP運(yùn)行在SSL/TLS之上,SSL/TLS運(yùn)行在TCP之上。所有傳輸?shù)膬?nèi)容都經(jīng)過加密,加密采用對(duì) 稱加密,但對(duì)稱加密的密鑰用服務(wù)器方的證書進(jìn)行了非對(duì)稱加密。此外客戶端可以驗(yàn)證服務(wù)器端的身 份,如果配置了客戶端驗(yàn)證,服務(wù)器方也可以驗(yàn)證客戶端的身份三. 請(qǐng)你談?wù)凜ookie的弊端
cookie雖然在持久保存客戶端數(shù)據(jù)提供了方便,分擔(dān)了服務(wù)器存儲(chǔ)的負(fù)擔(dān),但還是有很多局限性的。 第一:每個(gè)特定的域名下最多生成20個(gè)cookie 1.IE6或更低版本最多20個(gè)cookie 2.IE7和之后的版本最后可以有50個(gè)cookie。 3.Firefox最多50個(gè)cookie 4.chrome和Safari沒有做硬性限制 IE和Opera 會(huì)清理近期最少使用的cookie,F(xiàn)irefox會(huì)隨機(jī)清理cookie。 cookie的最大大約為4096字節(jié),為了兼容性,一般不能超過4095字節(jié)。 IE 提供了一種存儲(chǔ)可以持久化用戶數(shù)據(jù),叫做userdata,從IE5.0就開始支持。每個(gè)數(shù)據(jù)最多 128K,每個(gè)域名下最多1M。這個(gè)持久化數(shù)據(jù)放在緩存中,如果緩存沒有清理,那么會(huì)一直存在。 優(yōu)點(diǎn):極高的擴(kuò)展性和可用性 1.通過良好的編程,控制保存在cookie中的session對(duì)象的大小。 2.通過加密和安全傳輸技術(shù)(SSL),減少cookie被破解的可能性。 3.只在cookie中存放不敏感數(shù)據(jù),即使被盜也不會(huì)有重大損失。 4.控制cookie的生命期,使之不會(huì)永遠(yuǎn)有效。偷盜者很可能拿到一個(gè)過期的cookie。 缺點(diǎn): 1.`Cookie`數(shù)量和長度的限制。每個(gè)domain最多只能有20條cookie,每個(gè)cookie長度不能超過 4KB,否則會(huì)被截掉。 2.安全性問題。如果cookie被人攔截了,那人就可以取得所有的session信息。即使加密也與事 無補(bǔ),因?yàn)閿r截者并不需要知道cookie的意義,他只要原樣轉(zhuǎn)發(fā)cookie就可以達(dá)到目的了。 3.有些狀態(tài)不可能保存在客戶端。例如,為了防止重復(fù)提交表單,我們需要在服務(wù)器端保存一個(gè) 計(jì)數(shù)器。如果四. position:absolute和float屬性的異同
共同點(diǎn):對(duì)內(nèi)聯(lián)元素設(shè)置`float`和`absolute`屬性,可以讓元素脫離文檔流,并且可以設(shè)置其 寬高。 不同點(diǎn):float仍會(huì)占據(jù)位置,position會(huì)覆蓋文檔流中的其他元素。五. CSS 選擇符有哪些?哪些屬性可以繼承?優(yōu)先級(jí)算法如何計(jì)算?
1.id選擇器( # myid) 2.類選擇器(.myclassname) 3.標(biāo)簽選擇器(div, h1, p) 4.相鄰選擇器(h1 + p) 5.子選擇器(ul > li) 6.后代選擇器(li a) 7.通配符選擇器( * ) 8.屬性選擇器(a[rel = "external"]) 9.偽類選擇器(a: hover, li:nth-child) 可繼承的樣式: font-size font-family color, text-indent; 不可繼承的樣式:border padding margin width height ; 優(yōu)先級(jí)就近原則,同權(quán)重情況下樣式定義最近者為準(zhǔn); 載入樣式以最后載入的定位為準(zhǔn); 優(yōu)先級(jí)為: !important > id > class > tag important 比 內(nèi)聯(lián)優(yōu)先級(jí)高,但內(nèi)聯(lián)比 id 要高六. 頁面導(dǎo)入樣式時(shí),使用link和@import有什么區(qū)別?
(1)link屬于XHTML標(biāo)簽,除了加載CSS外,還能用于定義RSS,定義rel連接屬性等作用;而 @import是CSS提供的,只能用于加載CSS; (2)頁面被加載的時(shí),link會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁面被加載完再加載; (3)import是CSS2.1 提出的,只在IE5以上才能被識(shí)別,而link是XHTML標(biāo)簽,無兼容問題;七. 常見的瀏覽器內(nèi)核有哪些?
Trident內(nèi)核:IE,MaxThon,TT,The World,360,搜狗瀏覽器等。[又稱MSHTML] Gecko內(nèi)核:Netscape6及以上版本,F(xiàn)F,MozillaSuite/SeaMonkey等 Presto內(nèi)核:Opera7及以上。 [Opera內(nèi)核原為:Presto,現(xiàn)為:Blink;] Webkit內(nèi)核:Safari,Chrome等。 [ Chrome的:Blink(WebKit的分支)]八. 為什么要初始化CSS樣式。
因?yàn)闉g覽器的兼容問題,不同瀏覽器對(duì)有些標(biāo)簽的默認(rèn)值是不同的,如果沒對(duì)CSS初始化往往會(huì) 出現(xiàn)瀏覽器之間的頁面顯示差異。 當(dāng)然,初始化樣式會(huì)對(duì)SEO有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始 化。九. js有哪些內(nèi)置對(duì)象?
Object 是 JavaScript 中所有對(duì)象的父對(duì)象 數(shù)據(jù)封裝類對(duì)象:Object、Array、Boolean、Number 和 String 其他對(duì)象:Function、Arguments、Math、Date、RegExp、Error十. Javascript作用鏈域?
全局函數(shù)無法查看局部函數(shù)的內(nèi)部細(xì)節(jié),但局部函數(shù)可以查看其上層的函數(shù)細(xì)節(jié),直至全局細(xì) 節(jié)。當(dāng)需要從局部函數(shù)查找某一屬性或方法時(shí),如果當(dāng)前作用域沒有找到,就會(huì)上溯到上層作 用域查找,直至全局函數(shù),這種組織形式就是作用域鏈。十一. JSON 的了解?
JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。 它是基于JavaScript的一個(gè)子集。數(shù)據(jù)格式簡單, 易于讀寫, 占用帶寬小 如:{"age":"12", "name":"back"} JSON字符串轉(zhuǎn)換為JSON對(duì)象: var obj =eval("("+ str +")"); var obj = str.parseJSON(); var obj = JSON.parse(str); JSON對(duì)象轉(zhuǎn)換為JSON字符串: var last=obj.toJSONString(); var last=JSON.stringify(obj);十二.同步和異步的區(qū)別?
同步的概念應(yīng)該是來自于OS中關(guān)于同步的概念:不同進(jìn)程為協(xié)同完成某項(xiàng)工作而在先后次序上調(diào) 整(通過阻塞,喚醒等方式).同步強(qiáng)調(diào)的是順序性.誰先誰后.異步則不存在這種順序性. 同步:瀏覽器訪問服務(wù)器請(qǐng)求,用戶看得到頁面刷新,重新發(fā)請(qǐng)求,等請(qǐng)求完,頁面刷新,新內(nèi) 容出現(xiàn),用戶看到新內(nèi)容,進(jìn)行下一步操作。 異步:瀏覽器訪問服務(wù)器請(qǐng)求,用戶正常操作,瀏覽器后端進(jìn)行請(qǐng)求。等請(qǐng)求完,頁面不刷新, 新內(nèi)容也會(huì)出現(xiàn),用戶看到新內(nèi)容。 (待完善)十三.position的值, relative和absolute分別是相對(duì)于誰進(jìn)行定位的?
absolute?:生成絕對(duì)定位的元素, 相對(duì)于最近一級(jí)的 定位不是 static 的父元素來進(jìn)行定位。 fixed?(老IE不支持)生成絕對(duì)定位的元素,通常相對(duì)于瀏覽器窗口或 frame 進(jìn)行定位。 relative?生成相對(duì)定位的元素,相對(duì)于其在普通流中的位置進(jìn)行定位。 static?默認(rèn)值。沒有定位,元素出現(xiàn)在正常的流中 sticky?生成粘性定位的元素,容器的位置根據(jù)正常文檔流計(jì)算得出十四. 異步加載和延遲加載
1. 異步加載的方案: 動(dòng)態(tài)插入 script 標(biāo)簽 2. 通過 ajax 去獲取 js 代碼,然后通過 eval 執(zhí)行 3. script 標(biāo)簽上添加 defer 或者 async 屬性 4. 創(chuàng)建并插入 iframe,讓它異步執(zhí)行 js 5. 延遲加載:有些 js 代碼并不是頁面初始化的時(shí)候就立刻需要的,而稍后的某些情況才需要的
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/98635.html
摘要:上次由于時(shí)間有限只分享了一部分的前端面試題,所以本篇繼續(xù)分享前端經(jīng)典面試試題一棧和隊(duì)列的區(qū)別棧的插入和刪除操作都是在一端進(jìn)行的,而隊(duì)列的操作卻是在兩端進(jìn)行的。 上次由于時(shí)間有限只分享了一部分的前端面試題,所以本篇繼續(xù)分享前端經(jīng)典面試試題 一. 棧和隊(duì)列的區(qū)別? 棧的插入和刪除操作都是在一端進(jìn)行的,而隊(duì)列的操作卻是在兩端進(jìn)行的。 隊(duì)列先進(jìn)先出,棧先進(jìn)后出。 棧只允許在表尾一端進(jìn)行插入和刪...
摘要:上次由于時(shí)間有限只分享了一部分的前端面試題,所以本篇繼續(xù)分享前端經(jīng)典面試試題一棧和隊(duì)列的區(qū)別棧的插入和刪除操作都是在一端進(jìn)行的,而隊(duì)列的操作卻是在兩端進(jìn)行的。 上次由于時(shí)間有限只分享了一部分的前端面試題,所以本篇繼續(xù)分享前端經(jīng)典面試試題 一. 棧和隊(duì)列的區(qū)別? 棧的插入和刪除操作都是在一端進(jìn)行的,而隊(duì)列的操作卻是在兩端進(jìn)行的。 隊(duì)列先進(jìn)先出,棧先進(jìn)后出。 棧只允許在表尾一端進(jìn)行插入和刪...
摘要:本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁的行為層負(fù)責(zé)回答內(nèi)容應(yīng)該如何對(duì)事件做出反應(yīng)這一問題。 本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會(huì)有一些跳槽的悸動(dòng),通過對(duì)本篇知識(shí)的整理以及經(jīng)驗(yàn)的總結(jié),希望能幫到更多的前端面試者。(如有錯(cuò)誤或更好的答案,歡迎指正,水平有限,望...
摘要:本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。網(wǎng)頁的行為層負(fù)責(zé)回答內(nèi)容應(yīng)該如何對(duì)事件做出反應(yīng)這一問題。 本篇收錄了一些面試中經(jīng)常會(huì)遇到的經(jīng)典面試題,并且都給出了我在網(wǎng)上收集的答案。眼看新的一年馬上就要開始了,相信很多的前端開發(fā)者會(huì)有一些跳槽的悸動(dòng),通過對(duì)本篇知識(shí)的整理以及經(jīng)驗(yàn)的總結(jié),希望能幫到更多的前端面試者。(如有錯(cuò)誤或更好的答案,歡迎指正,水平有限,望...
閱讀 8893·2021-11-18 10:02
閱讀 2578·2019-08-30 15:43
閱讀 2652·2019-08-30 13:50
閱讀 1364·2019-08-30 11:20
閱讀 2702·2019-08-29 15:03
閱讀 3624·2019-08-29 12:36
閱讀 927·2019-08-23 17:04
閱讀 614·2019-08-23 14:18