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