蜜桃精品成人影片_99热在线精品免费_日韩亚洲中字无码一区二区三区_亚洲中文字幕久久精品无码一区

您現(xiàn)在所在的位置:首頁 >學(xué)員就業(yè) > 就業(yè)寶典 > 提升經(jīng)驗值,前端面試盡在掌控中

提升經(jīng)驗值,前端面試盡在掌控中

來源:奇酷教育 發(fā)表于:

Q:如何實現(xiàn)瀏覽器內(nèi)多個標(biāo)簽頁之間的通信?A:調(diào)用localstorge、cookies等本地存儲方式Q:線程與進程的區(qū)別?A:一個程序至少有一個進程,一個進

Q:如何實現(xiàn)瀏覽器內(nèi)多個標(biāo)簽頁之間的通信?
A:調(diào)用localstorge、cookies等本地存儲方式
Q:線程與進程的區(qū)別?
A:一個程序至少有一個進程,一個進程至少有一個線程。
線程的劃分尺度小于進程,使得多線程程序的并發(fā)性高。
另外,進程在執(zhí)行過程中擁有獨立的內(nèi)存單元,而多個線程共享內(nèi)存,從而極大地提高了程序的運行效率。 
線程在執(zhí)行過程中與進程還是有區(qū)別的。每個獨立的線程有一個程序運行的入口、順序執(zhí)行序列和程序的出口。但是線程不能夠獨立執(zhí)行,必須依存在應(yīng)用程序中,由應(yīng)用程序提供多個線程執(zhí)行控制。 
從邏輯角度來看,多線程的意義在于一個應(yīng)用程序中,有多個執(zhí)行部分可以同時執(zhí)行。但操作系統(tǒng)并沒有將多個線程看做多個獨立的應(yīng)用,來實現(xiàn)進程的調(diào)度和管理以及資源分配。這就是進程和線程的重要區(qū)別。
Q:你如何對網(wǎng)站的文件和資源進行優(yōu)化?
A:期待的解決方案包括:
 文件合并
 文件最小化/文件壓縮
 使用 CDN 托管
 緩存的使用(多個域名來提供緩存)
 其他
Q:請說出三種減少頁面加載時間的方法?
A:1.優(yōu)化圖片; 
 2.圖像格式的選擇(GIF:提供的顏色較少,可用在一些對顏色要求不高的地方);
 3.優(yōu)化CSS(壓縮合并css,如margin-top,margin-left...) ;
 4.網(wǎng)址后加斜杠(如www.campr.com/目錄,會判斷這個“目錄是什么文件類型,或者是目錄); 
 5.標(biāo)明高度和寬度(如果瀏覽器沒有找到這兩個參數(shù),它需要一邊下載圖片一邊計算大小,如果圖片很多,瀏覽器需要不斷地調(diào)整頁面。這不但影響速度,也影響瀏覽體驗;
當(dāng)瀏覽器知道了高度和寬度參數(shù)后,即使圖片暫時無法顯示,頁面上也會騰出圖片的空位,然后繼續(xù)加載后面的內(nèi)容。從而加載時間快了,瀏覽體驗也更好了); 
6.減少http請求(合并文件,合并圖片);
Q:你都使用哪些工具來測試代碼的性能?
A:Profiler, JSPerf(http://jsperf.com/nexttick-vs-setzerotimeout-vs-settimeout), Dromaeo
Q:什么是 FOUC(無樣式內(nèi)容閃爍)?你如何來避免 FOUC?
A: FOUC - Flash Of Unstyled Content 文檔樣式閃爍
 <style type="text/css" media="all">@import "../fouc.css";</style>
而引用CSS文件的@import就是造成這個問題的罪魁禍首。IE會先加載整個HTML文檔的DOM,然后再去導(dǎo)入外部的CSS文件,因此,在頁面DOM加載完成到CSS導(dǎo)入完成中間會有一段時間頁面上的內(nèi)容是沒有樣式的,這段時間的長短跟網(wǎng)速,電腦速度都有關(guān)系。
解決方法簡單的出奇,只要在<head>之間加入一個<link>或者<script>元素就可以了。
Q:null和undefined的區(qū)別?
A:null是一個表示"無"的對象,轉(zhuǎn)為數(shù)值時為0;undefined是一個表示"無"的原始值,轉(zhuǎn)為數(shù)值時為NaN。
當(dāng)聲明的變量還未被初始化時,變量的默認值為undefined。 null用來表示尚未存在的對象,常用來表示函數(shù)企圖返回一個不存在的對象。
undefined表示"缺少值",就是此處應(yīng)該有一個值,但是還沒有定義。典型用法是:
(1)變量被聲明了,但沒有賦值時,就等于undefined。
(2) 調(diào)用函數(shù)時,應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于undefined。
(3)對象沒有賦值的屬性,該屬性的值為undefined。
(4)函數(shù)沒有返回值時,默認返回undefined。
null表示"沒有對象",即該處不應(yīng)該有值。典型用法是:
(1) 作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對象。
(2) 作為對象原型鏈的終點。
Q:new操作符具體干了什么呢?
A: 1、創(chuàng)建一個空對象,并且 this 變量引用該對象,同時還繼承了該函數(shù)的原型。
   2、屬性和方法被加入到 this 引用的對象中。
   3、新創(chuàng)建的對象由 this 所引用,并且最后隱式的返回 this 。
var obj  = {};
obj.__proto__ = Base.prototype;
Base.call(obj);
Q:js延遲加載的方式有哪些?
A:defer和async、動態(tài)創(chuàng)建DOM方式(創(chuàng)建script,插入到DOM中,加載完畢后callBack)、按需異步載入js
Q:如何解決跨域問題?
A:jsonp、 document.domain+iframe、window.name、window.postMessage、服務(wù)器上設(shè)置代理頁面
jsonp的原理是動態(tài)插入script標(biāo)簽
平邑县| 阿坝县| 巴马| 东兴市| 宜宾县| 叶城县| 澳门| 洞头县| 潮州市| 宣汉县| 酒泉市| 平乡县| 南乐县| 斗六市| 剑河县| 石棉县| 论坛| 洮南市| 嘉义市| 南丰县| 理塘县| 兴国县| 宜昌市| 莲花县| 常州市| 安乡县| 兴义市| 江源县| 罗甸县| 三亚市| 宁陵县| 汝城县| 漾濞| 新密市| 准格尔旗| 吴川市| 杨浦区| 恩平市| 宁化县| 洮南市| 桐乡市|