HTML5面試的重要指南
今天,HTML是超過20歲。在這20年中,HTML是升級4次,讓我們與現(xiàn)有的HTML 5版本。升級路徑是不容易的:W3C,HTML規(guī)范的官方維護者,是將新的功能規(guī)格慢,所以Web瀏覽器開發(fā)商拿東西到他們的手。這只能導(dǎo)致更多的問題,特別是開發(fā)商,都在努力創(chuàng)建網(wǎng)頁。這導(dǎo)致許多跨瀏覽器兼容性問題和浪費開發(fā)時間。在今天的科技景觀,HTML5已經(jīng)成為任何一個不可分割的一部分前端發(fā)展雖然它不是一種編程語言,它仍然是Web應(yīng)用的一個重要組成部分,甚至現(xiàn)代的桌面和移動應(yīng)用程序。在科技日新月異的今天,20年是一段很長的積極應(yīng)用。因此,簡歷參考至少一定程度的HTML5經(jīng)驗基本上在軟件開發(fā)社區(qū)普遍。這使得定位HTML5開發(fā)者相當(dāng)容易,但發(fā)現(xiàn)完美的一個挑戰(zhàn)。
我們的招聘指南將幫助你找到開發(fā)商誰努力遵循高質(zhì)量的方法和強大的HTML5規(guī)范知識。沒有魔法或簡單的技術(shù),但是肯定有問題可以提出,將有助于確定語言的考生的知識深度和復(fù)雜性。一個這樣的問題簡單的采樣提供如下。
問題和答案
問:HTML5是設(shè)計來取代HTML 4和XHTML。討論新的HTML5特性和關(guān)鍵目標(biāo)的HTML5規(guī)范。
新的主要目標(biāo)HTML5規(guī)范為提供豐富的內(nèi)容(如圖片和視頻)的客戶不需要額外的插件(如Flash和Silverlight),通過新的結(jié)構(gòu)元素標(biāo)簽的引入提供網(wǎng)頁結(jié)構(gòu)更好的語義支持,以簡化錯誤處理提供了一個嚴(yán)格的分析標(biāo)準(zhǔn),與老標(biāo)準(zhǔn)文件編寫簡化向后兼容性。最后,在現(xiàn)代世界的最重要的目標(biāo)是提供更好的跨平臺支持,確保一切運作良好,無論是臺式電腦,筆記本電腦,平板電腦,甚至智能手機。
要實現(xiàn)這一切,許多新的功能,介紹了HTML5。新的HTML5改進嵌入圖形、音頻和視頻內(nèi)容的支持,通過新的,<聲音>,和<視頻>標(biāo)簽網(wǎng)站工作人員進行了介紹,對JavaScript API如附加定位進行新的擴展,新的拖放功能,以及本地存儲和緩存功能。許多新的語義標(biāo)簽和表單控件進行了補充現(xiàn)代Web應(yīng)用程序的結(jié)構(gòu)邏輯。
問:解釋什么是語義化的HTML和新的語義HTML5元素名稱。
語義化的HTML是一個HTML的標(biāo)記或標(biāo)簽,顯示代替純表達的意義或看。例如,推薦使用HTML5標(biāo)簽代替大膽的文字,和<em>而不是為斜體。這些語義的標(biāo)簽會產(chǎn)生同樣的粗體和斜體文本,而是純粹的格式化信息,他們提供了一個意義。
HTML5規(guī)范中定義的新的語義元素,如:
•<第>
•<旁白>
•<詳情>
•<圖表題>
•<圖>
•<頁腳>
•<標(biāo)題>
•<主要>
•<標(biāo)記>
•<導(dǎo)航>
•<部分>
•內(nèi)容提要
•<時間>
新的HTML5表單控件包括:
•<日歷>
•<日期>
•<時間>
•<郵件>
•<網(wǎng)址>
•<搜索>
問:HTML5開發(fā)者討論潛在的陷阱。
老習(xí)慣難改。許多開發(fā)者編寫HTML5現(xiàn)代Web應(yīng)用程序使用舊規(guī)格。最突出的例子是使用開發(fā)人員在<表>標(biāo)簽設(shè)置布局,或或
當(dāng)新的語義標(biāo)簽一樣<標(biāo)題>,<頁腳>,<第>或<旁白>標(biāo)簽會更合適?;蛴懻撝?,他們不使用新的語義標(biāo)簽或<em>而不是和標(biāo)簽這種老方法的結(jié)果是,在不同的瀏覽器中復(fù)雜的標(biāo)記行為不一致。寫新的HTML5文檔時,開發(fā)商應(yīng)采取新的語義標(biāo)簽,享受所有的好處來的HTML5規(guī)范,讓舊的習(xí)慣活在過去。
問:討論新的HTML5元素可以用在不同的組合,即<標(biāo)題>和<頁腳>,和<部分>和<第>。
新的HTML5元素開辟了一個全新的組合的可能性和其使用的有趣的方式。
例如,盡管經(jīng)典的知識,只能有一個頁眉和頁腳只一個,新的HTML5文檔可以包含多個<標(biāo)題>和<頁腳>元素?zé)o論是新的語義標(biāo)簽的設(shè)計關(guān)系到它們的父元素為各自的目的。這不僅意味著頁面<魚>可以包含頁眉和頁腳,也可以每天<第>和<部分>元素
另一個例子是使用新的<部分>和<第>元素,以及它們的組合:<部分>可以包含<第>元素,和一個<第>可以包含<部分>元素描述一個例子:在你的網(wǎng)頁,你可以用一個有一個儀表板頁面<部分>社會網(wǎng)絡(luò)的相互作用,以及<部分>最新的新聞文章將包含幾個<第>元素相反,一個<第>可能包含一個<部分>最后對讀者的評論。
問:討論HTML5簡化HTML結(jié)構(gòu)。提供的例子。
一開始,HTML5規(guī)范簡化DOCTYPE聲明。文檔,或文檔類型聲明,告訴瀏覽器可以期望什么類型的文件。舊的XHTML DOCTYPE聲明如下:
<跨度類=“hljs DOCTYPE”> <!DOCTYPE html PUBLIC“- / / / / W3C DTD XHTML 1嚴(yán)格/恩”
”HTTP:/ /兩。org / TR / xhtml1 / DTD / xhtml1嚴(yán)格。DTD”> < /跨度>
雖然HTML4過渡doctype看起來像這樣:
<跨度類=“hljs DOCTYPE”> <!DOCTYPE html PUBLIC“- / / / / W3C HTML 4.01 DTD的過渡/恩”
”HTTP:/ /兩。org / TR / HTML4 /松。DTD”> < /跨度>
HTML5新的DOCTYPE聲明很簡單:
<跨度類=“hljs DOCTYPE”> <!DOCTYPE html > < /跨度>
另一個簡化的HTML5的介紹,是我們?nèi)绾温暶髯址木幋a或字符集,該文件。在HTML5的charset聲明如下:
<!DOCTYPE html >
< >
HTML
<元字符集= <跨度class=“hljs字符串”>“UTF-8”< /跨度> >
<跨度類=“hljs關(guān)鍵詞”>…
< /頭>
<體>
<跨度類=“hljs關(guān)鍵詞”>…
<體>
< / HTML >
這比以前在HTML4中沒有字符元屬性的簡單得多:
<!DOCTYPE html PUBLIC <跨度類=“hljs字符串“>”/ / / / W3C HTML 4.01 DTD的過渡/ EN /跨度>“< <跨
class=“hljs字符串”>“HTTP:/ /兩。org / TR / HTML4 /松。DTD”< /跨度> >
< >
HTML
“內(nèi)容類型”< /跨度>內(nèi)容= <跨度class=“hljs字符串”>“text/html;字符集= UTF-8”< /跨度> >
<跨度類=“hljs關(guān)鍵詞”>…
< /頭>
<體>
<跨度類=“hljs關(guān)鍵詞”>…
<體>
< / HTML >
HTML5規(guī)范竟然在簡化的標(biāo)簽< ,<魚>和不會是有效的HTML5文檔是強制性的。下面的示例將通過W3C驗證服務(wù):
<跨度類=“hljs DOCTYPE”> <!DOCTYPE html > < /跨度>
<跨度類=“hljs標(biāo)簽”> <<跨類=“hljs標(biāo)題“>標(biāo)題> > < < /跨/跨度>我的標(biāo)題<<跨類=“hljs標(biāo)簽”> < / <跨度類=“hljs標(biāo)題“>標(biāo)題<<跨> > < /跨度>
<跨度類=“hljs標(biāo)簽”> <<跨類=“hljs標(biāo)題”> < /跨度> > <標(biāo)題> <我的頭/跨度跨度class=“hljs標(biāo)簽”> < / <跨度類=“hljs標(biāo)題“>標(biāo)題<< /跨度> > < /跨度>
<跨度類=“hljs標(biāo)簽”> <<跨類=“hljs標(biāo)題”> > > < P < /跨/跨度>墻上的文字<跨度類=“hljs標(biāo)簽”> < / <跨度類=“hljs標(biāo)題“> P /跨度> > < /跨度>
唯一重要的標(biāo)簽在這個例子是HTML5的新內(nèi)容,沒有它,瀏覽器將無法檢測到,這是一個HTML5文檔。
問:為什么一個跨瀏覽器的支持仍然是重要的如果所有的現(xiàn)代瀏覽器都遵循相同的HTML5規(guī)范。
HTML5規(guī)范是一套規(guī)則,定義了一個有效的文件,并提供有關(guān)如何瀏覽器必須解釋和渲染一個文檔。不幸的是,現(xiàn)實的情況是,沒有瀏覽器仍然支持HTML5規(guī)范中定義的所有規(guī)則。大部分瀏覽器都支持大部分的規(guī)范,但仍有HTML5規(guī)范的瀏覽器解釋的差異。因此,有必要對開發(fā)商是否利用方面將支持所有的瀏覽器,他們希望顯示他們的內(nèi)容。這就是為什么跨瀏覽器的支持仍然是開發(fā)商頭疼,盡管提高規(guī)格。
問:討論性方面的HTML5,尤其是它的局限性和問題在現(xiàn)實世界。
今天,網(wǎng)頁和應(yīng)用程序的使用越來越多,使他們依靠輔助技術(shù)的人可以變得比以前更為重要。有很長的路要走,而HTML5引入了新的用戶界面功能,使那些依靠輔助技術(shù)使用網(wǎng)絡(luò)的人更易。雖然,有問題。其中一個問題是,開發(fā)商和設(shè)計師之前不太注重這方面的網(wǎng)頁或應(yīng)用程序。在他們的防守,正如上面提到的,他們的一個主要原因是,現(xiàn)有的HTML5的Web訪問接口沒有任何特點?,F(xiàn)在,即使開發(fā)商想在應(yīng)用程序中實現(xiàn)額外的功能選項,有一個恒定的問題,任何新的和新興的網(wǎng)絡(luò)技術(shù)面臨著:瀏覽器支持。HTML5的可達性是跟蹤跨瀏覽器的最常見的輔助功能。為了實現(xiàn)輔助功能,覆蓋所有的瀏覽器,額外投入的時間是需要從開發(fā)商。這是一個關(guān)鍵因素,客戶需要預(yù)見到如果他們想要他們的Web應(yīng)用程序和頁面的邊緣上什么是可能與今天的技術(shù)。
問:解釋HTML5 Web存儲,討論了其安全性的考慮,以及兩者之間的區(qū)別本地存儲和sessionStorage。
HTML5的網(wǎng)頁數(shù)據(jù)存儲在本地用戶的瀏覽器使用Web存儲。在早期版本中,開發(fā)者只能使用cookies。新的網(wǎng)絡(luò)存儲更安全和更快的。不像餅干,從Web存儲數(shù)據(jù)不包括與每個服務(wù)器的請求,它僅用于當(dāng)問。數(shù)據(jù)存儲為一個名稱和值對。在其他的好處是cookies存儲限制。網(wǎng)絡(luò)存儲可以達到5MB大,其內(nèi)容是不會傳送到服務(wù)器。一個網(wǎng)頁只能訪問存儲的數(shù)據(jù)因為它是有限的每起源。
需要注意的是,雖然Web存儲比餅干更安全的重要,有事情要記住。這是比用餅干因為內(nèi)容不通過電線傳送,但本地存儲未加密。因此,敏感數(shù)據(jù)如安全令牌不能儲存在那里。Web應(yīng)用程序不應(yīng)該依賴于存儲在Web存儲數(shù)據(jù),當(dāng)惡意用戶可以輕松地修改數(shù)據(jù)的本地存儲和sessionStorage在任何時間值。
說起sessionStorage,之間的差異本地存儲和sessionStorage涉及的存儲壽命和范圍。通過數(shù)據(jù)存儲本地存儲是永久性的:它沒有過期,仍然存儲在用戶的計算機到一個Web應(yīng)用程序刪除它,或用戶要求瀏覽器刪除它。另一方面,sessionStorage具有相同的壽命為瀏覽器標(biāo)簽中存儲它運行腳本。當(dāng)卡被關(guān)閉,通過任何數(shù)據(jù)存儲sessionStorage刪除。
不同的來源的限制本地存儲,sessionStorage是窗口范圍。例如,如果用戶有兩個瀏覽器標(biāo)簽顯示來自同一源文件,這兩片分開sessionStorage數(shù)據(jù)腳本運行在一個標(biāo)簽無法讀取或覆蓋在其他選項卡的腳本寫入的數(shù)據(jù),即使兩個選項卡訪問完全相同的頁面和運行相同的腳本。
問:解釋什么是網(wǎng)絡(luò)工作人員。
JavaScript是一個單線程的語言,因此多個腳本不能運行在同一時間。網(wǎng)絡(luò)工作者是運行腳本的瀏覽器背景獨立于其他腳本的一個新的API,在它自己的線程。結(jié)果是,網(wǎng)頁不需要等待網(wǎng)站工作人員來完成,從而提高了性能和響應(yīng)性,因為用戶可以在網(wǎng)絡(luò)工作者仍在后臺運行與頁面交互。網(wǎng)絡(luò)工作者,例如,完美運行腳本,做繁重的計算。
總結(jié)
我們只是需要一個頂級HTML5開發(fā)者的知識面。發(fā)現(xiàn)HTML5真正的大師是一個挑戰(zhàn)。我們希望你發(fā)現(xiàn)在這篇文章中提出的是你追求的少數(shù)精英的HTML5開發(fā)者有用的基礎(chǔ)問題。發(fā)現(xiàn)這樣的考生是很值得的,因為他們無疑將有顯著的正影響你的團隊的工作效率和結(jié)果
牧羊人設(shè)計文章推薦:
產(chǎn)品相關(guān)的內(nèi)容用戶體驗
停留在細(xì)節(jié)?思維導(dǎo)圖的用戶任務(wù)
用戶界面設(shè)計,享受最基本的權(quán)利