精品伊人久久大香线蕉,开心久久婷婷综合中文字幕,杏田冲梨,人妻无码aⅴ不卡中文字幕

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
常見前端面試題及答案(上)

前言

1.你能描述一下漸進增強和優雅降級之間的不同嗎?

優雅降級:Web站點在所有新式瀏覽器中都能正常工作,如果用戶使用的是老式瀏覽器,則代碼會檢查以確認它們是否能正常工作。由于IE獨特的盒模型布局問題,針對不同版本的IE的hack實踐過優雅降級了,為那些無法支持功能的瀏覽器增加候選方案,使之在舊式瀏覽器上以某種形式降級體驗卻不至于完全失效.

漸進增強:從被所有瀏覽器支持的基本功能開始,逐步地添加那些只有新式瀏覽器才支持的功能,向頁面增加無害于基礎瀏覽器的額外樣式和功能的。當瀏覽器支持時,它們會自動地呈現出來并發揮作用。

2.線程與進程的區別

一個程序至少有一個進程,一個進程至少有一個線程。線程的劃分尺度小于進程,使得多線程程序的并發性高。

另外,進程在執行過程中擁有獨立的內存單元,而多個線程共享內存,從而極大地提高了程序的運行效率。

線程在執行過程中與進程還是有區別的。每個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。但是線程不能夠獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。

從邏輯角度來看,多線程的意義在于一個應用程序中,有多個執行部分可以同時執行。但操作系統并沒有將多個線程看做多個獨立的應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的重要區別。

3.說說你對語義化的理解?

  • 1:去掉或樣式丟失的時候能讓頁面呈現清晰的結構:html本身是沒有表現的,我們看到例如

    是粗體,字體大小2em,加粗;是加粗的,不要認為這是html的表現,這些其實html默認的css樣式在起作用,所以去掉或樣式丟失的時候能讓頁面呈現清晰的結構不是語義化的HTML結構的優點,但是瀏覽器都有有默認樣式,默認樣式的目的也是為了更好的表達html的語義,可以說瀏覽器的默認樣式和語義化的HTML結構是不可分割的。

  • 2.屏幕閱讀器(如果訪客有視障)會完全根據你的標記來“讀”你的網頁。

  • 3.PDA、手機等設備可能無法像普通電腦的瀏覽器一樣來渲染網頁(通常是因為這些設備對CSS的支持較弱)。

  • 4.有利于SEO:和搜索引擎建立良好溝通,有助于爬蟲抓取更多的有效信息:爬蟲依賴于標簽來確定上下文和各個關鍵字的權重。

  • 6.便于團隊開發和維護,語義化更具可讀性,是下一步吧網頁的重要動向,遵循W3C標準的團隊都遵循這個標準,可以減少差異化。

4.你如何對網站的文件和資源進行優化?

期待的解決方案包括:文件合并文件最小化/文件壓縮使用CDN托管緩存的使用(多個域名來提供緩存)其他。

5.為什么利用多個域名來提供網站資源會更有效? 

  • 1.CDN緩存更方便

  • 2.突破瀏覽器并發限制(一般每個域名建立的鏈接不超過6個)

  • 3.Cookieless,節省帶寬,尤其是上行帶寬一般比下行要慢

  • 4.對于UGC的內容和主站隔離,防止不必要的安全問題(上傳js竊取主站cookie之類的)。正是這個原因要求用戶內容的域名必須不是自己主站的子域名,而是一個完全獨立的第三方域名。

  • 5.數據做了劃分,甚至切到了不同的物理集群,通過子域名來分流比較省事。這個可能被用的不多。

PS:關于Cookie的問題,帶寬是次要的,安全隔離才是主要的。關于多域名,也不是越多越好,雖然服務器端可以做泛解釋,瀏覽器做dns解釋也是耗時間的,而且太多域名,如果要走https的話,還有要多買證書和部署的問題。

6.請說出三種減少頁面加載時間的方法。(加載時間指感知的時間或者實際加載時間)

  • 1.優化圖片

  • 2.圖像格式的選擇(GIF:提供的顏色較少,可用在一些對顏色要求不高的地方)

  • 3.優化CSS(壓縮合并css,如margin-top,margin-left...)

  • 4.網址后加斜杠(如www.campr.com/目錄,會判斷這個“目錄是什么文件類型,或者是目錄。)

  • 5.標明高度和寬度(如果瀏覽器沒有找到這兩個參數,它需要一邊下載圖片一邊計算大小,如果圖片很多,瀏覽器需要不斷地調整頁面。這不但影響速度,也影響瀏覽體驗。當瀏覽器知道了高度和寬度參數后,即使圖片暫時無法顯示,頁面上也會騰出圖片的空位,然后繼續加載后面的內容。從而加載時間快了,瀏覽體驗也更好了。)

  • 6.減少http請求(合并文件,合并圖片)。

7.如果你參與到一個項目中,發現他們使用Tab來縮進代碼,但是你喜歡空格,你會怎么做?

  • 建議這個項目使用像EditorConfig(http://editorconfig.org/)之類的規范

  • 為了保持一致性,接受項目原有的風格

  • 直接使用VIM的retab命令

8.請寫一個簡單的幻燈效果頁面

如果不使用JS來完成,可以加分。(如:純CSS實現的幻燈片效果)

9.你都使用哪些工具來測試代碼的性能?

Profiler,JSPerf(http://jsperf.com/nexttick-vs-setzerotimeout-vs-settimeout),Dromaeo。

10.如果今年你打算熟練掌握一項新技術,那會是什么?

nodejs,html5,css3,less等。

11.請談一下你對網頁標準和標準制定機構重要性的理解。

w3c存在的意義就是讓瀏覽器兼容性問題盡量小,首先是他們對瀏覽器開發者的約束,然后是對開發者的約束。

12.什么是FOUC(無樣式內容閃爍)?你如何來避免FOUC?

FOUC(Flash Of Unstyled Content)--文檔樣式閃爍

@import'../fouc.css';而引用CSS文件的@import就是造成這個問題的罪魁禍首。IE會先加載整個HTML文檔的DOM,然后再去導入外部的CSS文件,因此,在頁面DOM加載完成到CSS導入完成中間會有一段時間頁面上的內容是沒有樣式的,這段時間的長短跟網速,電腦速度都有關系。解決方法簡單的出奇,只要在之間加入一個元素就可以了。

13.doctype(文檔類型)的作用是什么?你知道多少種文檔類型?

此標簽可告知瀏覽器文檔使用哪種HTML或XHTML規范。該標簽可聲明三種DTD類型,分別表示嚴格版本、過渡版本以及基于框架的HTML文檔。

HTML 4.01規定了三種文檔類型:Strict、Transitional以及Frameset。

XHTML 1.0規定了三種XML文檔類型:Strict、Transitional以及Frameset。

Standards(標準)模式(也就是嚴格呈現模式)用于呈現遵循最新標準的網頁,而Quirks(包容)模式(也就是松散呈現模式或者兼容模式)用于呈現為傳統瀏覽器而設計的網頁。

14.瀏覽器標準模式和怪異模式之間的區別是什么?

W3C標準推出以后,瀏覽器都開始采納新標準,但存在一個問題就是如何保證舊的網頁還能繼續瀏覽,在標準出來以前,很多頁面都是根據舊的渲染方法編寫的,如果用的標準來渲染,將導致頁面顯示異常。為保持瀏覽器渲染的兼容性,使以前的頁面能夠正常瀏覽,瀏覽器都保留了舊的渲染方法(如:微軟的IE)。這樣瀏覽器渲染上就產生了Quircks mode和Standars mode,兩種渲染方法共存在一個瀏覽器上。IE盒子模型和標準W3C盒子模型:ie的width包括:padding\border。標準的width不包括:padding\border

  •  在js中如何判斷當前瀏覽器正在以何種方式解析?

         document對象有個屬性compatMode,它有兩個值:BackCompat對應quirks mode,CSS1Compat對應strict mode。

15.使用XHTML的局限有哪些?

XHTML 與HTML的區別為:

  • XHTML 元素必須被正確地嵌套。

  • XHTML 元素必須被關閉。

  • 標簽名必須用小寫字母。

  • XHTML 文檔必須擁有根元素。

局限:

所有的 XHTML 元素都必須被正確地嵌套,XHTML 必須擁有良好的結構,所有的標簽必須小寫,并且所有的 XHTML 元素必須被關閉。所有的 XHTML 文檔必須擁有 DOCTYPE 聲明,并且 html、head、title 和 body 元素必須存在。雖然代碼更加的優雅,但缺少容錯性,不利于快速開發。

16.如果網頁內容需要支持多語言,你會怎么做?

下面這些問題需要考慮:

  • 應用字符集的選擇,選擇UTF-8編碼

  • 語言書寫習慣&導航結構

  • 數據庫驅動型網站

17.data-屬性的作用是什么?

data-* 屬性用于存儲頁面或應用程序的私有自定義數據。data-* 屬性賦予我們在所有 HTML 元素上嵌入自定義 data 屬性的能力。存儲的(自定義)數據能夠被頁面的 JavaScript 中利用,以創建更好的用戶體驗(不進行 Ajax 調用或服務器端數據庫查詢)。

data-* 屬性包括兩部分:

  • 屬性名不應該包含任何大寫字母,并且在前綴 'data-' 之后必須有至少一個字符

  • 屬性值可以是任意字符串

18.如果把HTML5看作做一個開放平臺,那它的構建模塊有哪些?

本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
用css定義svg的樣式和動畫
一篇文章帶你了解SVG javascript腳本
CSS變量(自定義屬性)實踐指南
JavaScript經典魔力代碼
Web前端筆試115道題(帶答案及解析)
web前端 javascript 兼容低版本 IE 6 7 8復合寫法
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服

主站蜘蛛池模板: 寻乌县| 青浦区| 嘉义市| 越西县| 常德市| 唐海县| 朝阳县| 六安市| 高唐县| 平乡县| 彰武县| 尤溪县| 厦门市| 临朐县| 山东省| 金乡县| 新丰县| 什邡市| 成都市| 团风县| 铅山县| 虎林市| 右玉县| 伊吾县| 安泽县| 曲沃县| 三原县| 旺苍县| 盐城市| 滦南县| 巫山县| 常州市| 灵丘县| 拉孜县| 龙门县| 抚松县| 托里县| 自治县| 永丰县| 澄城县| 苏尼特左旗|