㈠ 資深HR揭秘:Web前端面試技巧有哪些
Web前端面試技巧
Web前端工程師的面試前的准備:
1. 自我介紹
准備不同時間版本的1 分鍾、3 分鍾的自我介紹.反復練習,並脫稿,但不是背誦.因為背的話自我介紹就顯得十分的生硬,一定要用自然的語言將自我介紹說出來.這樣可以給面試官留下很好的第一印象.
2. 預演
搜索一些你應聘的公司和職位,在宿舍里、家裡,先自己預演下,可能會被問及的各種問題和答案.即使你不能猜中所有問題--當然HR也不會面面俱到、一直不停的提問,最關鍵詞的只有那麼幾個.思考問題的過程會讓你減輕緊張而且在面試時心裡有底.
3. 積極自我暗示
在群面的時候,我們可能會因為別人的發言而繞亂了自己的思路.這時候千萬不要亂,適當的做深呼吸調整一下自己,做到沉著冷靜,整理好自己的思路,努力回憶自己所學和所掌握的知識,給自己積極的心理暗示,一句話:相信自己能行!你是最棒的.
4. 面試簡歷一定要准備充分
面試你的人可能不止1 個.預先料到這點.並准備好會顯得你做事正規、細致.沒有比當被要求提供多一份簡歷而你卻沒有.更能表明你缺乏准備的事了.你說呢?
5. 完整而認真的填寫公司要求的表格
盡管你認為它們用處不大、盡管你帶了簡歷來,很多公司都會要求你填一張表.你願意並且有始有終地填完這張表,會傳達出你做事正規、做事善始善終.
面試過程:
1. 給面試官留下深刻的印象
最初和最後的五分鍾是面試中最關鍵的,在這段時間里決定了你留給人的第一印象和臨別印象以及主考人是否欣賞你.最初的五分鍾內應當主動溝通,離開的時候,要確定你已經被記住了.要讓人產生好感,富於熱情.人們都喜歡聘請容易相處且為公司自豪的人.要正規穩重,也要表現你的精力和興趣.
2. 學會自我營銷
營銷自己十分重要,將你所有的優勢推銷出去,包括你的技術資格,一般能力和性格優點,僱主只在乎兩點:你的資歷憑證、你的個人性格.你能在以往業績的基礎上工作並適應公司文化嗎?談一下你性格中的積極方面並結合例子告訴對方你在具體工作中會怎麼做.
展示你勤奮工作追求團體目標的能力,大多數主考人都希望找一位有創造力、性格良好、能夠融入到團體之中的人.你要必須通過強調自己給對方帶來的好處來說服對方你兩者皆優.
㈡ 前端發展方向 職業規劃
端的發展前景是很明朗並且是非常具有潛力的,端開發是創建Web頁面或app等前端界面呈現給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。主要發展前景從以下幾個方面說明:
近幾年各類互聯網應用產品層出不群,Web前端開發工程師作為實現前端展示的重要一步也越來越受到了企業的青睞,招聘需求呈現遞增趨勢,從前程無憂招聘數據可以看出,Web前端相關崗位24小時之內需求量高達4W+。
從就業方向來看,Web前端工程師所能選擇的就業崗位也是非常對樣的,網頁製作、H5開發、小程序開發、小游戲開發、APP開發等都是可以去選擇的,所以Web前端就業前景還是非常可觀的。
Web前端崗位空缺大,供不應求,那麼薪資待遇同樣呈現不斷上漲趨勢,從第三方統計平台職友集中可以看到北京web前端工程師平均工資:¥ 17280/月,按工作經驗統計,其中應屆生工資¥12920,,3-5年工資¥18030,5-10年工資¥23440。從以上數據不難看出,Web前端就業薪資普遍高於其他行業。
親愛的小夥伴,前端技術大家庭歡迎你的到來:https://sourl.cn/7jnzJp。在這里,不僅有志同道合的朋友,指導人生的老師,更有看不完的技術教程隨你挑!心動嗎?想學嗎?那就動動你的小手手,加入我們吧!
㈢ 如何成功的面試WEB前端開發
近來幾個月,一直在努力尋找前端戰友,未果,一路的招聘經歷下來,心生不少感慨, 一直都很小心翼翼的,怕錯失了高人,又更加怕失誤把關不夠招到不合格的同學進來公司,對公司對項目造成某些影響。
面試前端工程師對我來說是一件非常有意思的事,因為面試過程很大程度上也是自我提升的過程。無論大公司還是小公司,之所以在如何招聘到真正有能力的 前端工程師方面會遇到同樣的問題,就是因為負責招聘的那些人不知道自己公司需要什麼樣的人,結果問問題時也問不到點子上。經過這幾年在行業里的摸索,我總 結出了自己的一套很有效的面試前端工程的方法。
有的應聘者說我不好對付,但留給他們這樣的印象也並非我所願。我覺得之所以他們說我不好對付,主要是因為我問他們問題時問得太細了。以前我曾專門寫過一些 東西,告訴應聘者怎麼才能通過我的面試(Surviving an interview with me)以及優秀的前面工程師應該具備什麼樣的素質(What makes a good front end engineer?),而我的面試可以說完全是按照那兩篇文章的標准進行的。我不會問一些特別偏門的問題,也不認為出幾道邏輯題就能考出人的真實水平。我 唯一的想法就是確定你能否勝任我們要招的這個職位。為此,我需要簡單地考察如下幾個方面。
基本知識
我們生活在互聯網時代,你想知道的任何事情幾乎都能在15分鍾內找到相關信息。可是,能找到信息並不等於你會使用它。我認為所有前端工程師至少都應 該掌握某些基本的知識,才能有效地完成自己的工作。如果一遇到問題,就停下工作上網四處搜索解決方案,怎麼可能保證按期完成工作呢?聽聽,還有誰在說「我 不知道,但我可以上網搜到。」請這些同學把手舉起來,讓大家認識一下(immediately raises a flag for me.)。下面我列出一些基本的知識點,這些都是我認為一名前端工程師(無論工作年頭長短)在沒有任何外來幫助的情況應該知道的。
DOM結構——兩個節點之間可能存在哪些關系以及如何在節點之間任意移動。
DOM操作——怎樣添加、移除、移動、復制、創建和查找節點。
事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。
XMLHttpRequest——這是什麼、怎樣完整地執行一次GET請求、怎樣檢測錯誤。
嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。
盒模型——外邊距、內邊距和邊框之間的關系,IE 8以下版本的瀏覽器中的盒模型有什麼不同。
塊級元素與行內元素——怎麼用CSS控制它們、它們怎樣影響周圍的元素以及你覺得應該如何定義它們的樣式。
浮動元素——怎麼使用它們、它們有什麼問題以及怎麼解決這些問題。
HTML與XHTML——二者有什麼區別,你覺得應該使用哪一個並說出理由。
JSON——它是什麼、為什麼應該使用它、到底該怎麼使用它,說出實現細節來。
重申一下,上述這些知識點都應該是你應該「想都不用想」的東西。我一開始問的所有問題都是想摸清你對所有這些領域知識的掌握程度。雖然上面列出的這些知識點並沒有面面俱到,但我覺得你至少應該掌握這些,才有可能跟我坐到一間辦公室里來。
少量提問
我非常贊同面試者問的問題越少越好。反復問應聘者各種問題既不公平,也很無聊。我在任何一次面試中,通常只問三個大問題,但每個問題又會涉及我所能想到的多個方面。回答每個大問題一般要經過幾個步驟,這樣我就可以在每個步驟中穿插著問一些小問題。比如說:
現在有一個正顯示著Yahoo!股票價格的頁面。頁面上有一個按鈕,你可以單擊它來刷新價格,但不會重新載入頁面。請你描述一下實現這個功能的過程,假設伺服器會負責准備好正確的股票價格數據。
這個問題牽扯到一組我想要考察的基本知識點:DOM結構、DOM操作、事件處理、XHR和JSON。如果我要求你對換一種處理股票價格的方式,或者 讓你在頁面中顯示其他信息,就可以把更多的知識點包括進來。對於經驗比較豐富應聘者,我也可以自如地擴展要考察的知識范圍,最簡單像JOSN與XML的區 別、安全問題、容量問題,等等。
我還希望應聘者給出的任何解決方案中都不要使用庫。我想看到最原生態的代碼,你就當頁面中沒有包含任何庫。你說你對哪個庫了解多少多少,但我不能把 關於庫的知識作為評判能力的因素,因為庫是會隨時間變化的。我需要的是真正理解庫背後的機制,特別是能夠徒手寫出一個自己的庫的人。
解決問題
做為一名前端工程師,最值得高興的事莫過於解決同一個問題會有很多種不同的方法,而你要做的就是找出最合適的方法來。我在提問的時候,經常會在應聘 者解釋完一種方法後問他們還有沒有第二種方法。此時我會跟他們說,假設你的這個方法由於種種原因被否決了,那麼你還能不能給出另一種方法。這樣做可以達到 兩個目的。
首先,可以測試出他們是否在毫無意義地復述書本中的東西。不能不承認,某些人確實有過目不忘的天賦,聽他們在那裡滔滔不絕地講,你會覺得他們什麼都 明白。可是,只要一跟這些人談到怎麼查找方案無效的原因,以及能否拿出一個新方案來,他們往往就傻眼了。這時候,如果我聽到「我不明白這個方案為什麼不夠 好」之類的反問,心裡立刻就明白我的問題已經超出了他們的能力范圍,而他們只是想拿自己死記硬背的結論來矇混過關。
其次,可以測試出他們已經掌握的(還是那句話,「想都不用想」)瀏覽器技術知識。如果他們對瀏覽器平台的核心知識有較好的理解,想出解決同一問題的不同方案根本沒有那麼難。
對一名前端工程師來說,這絕對是最重要的能力。前端工程師在工作中遇到本該如此卻並未如此的難題(說你啦,IE6),應該說是一件很平常的事。一個方案無效就無計可施的人,做不了前端工程師。
考核應聘者解決問題能力的另一層原因,與我的個人喜好有關。在搞清楚應聘者知道什麼不知道什麼之後,我就會想著問一個他們知識領域之外的問題。這樣 做的目的,就是想看看他們怎樣運用已有的知識解決新問題。在解決問題的每一步,我也准備了一些提示,以防有人會卡殼打艮(在我面前15分鍾一言不發,對我 評價這個人毫無幫助)。我真正感興趣的,是他們能夠從上一步前進到下一步。我希望看到一個人就在我眼前學到新知識。
注意:所有問題都與瀏覽器技術相關。我不相信出幾道抽象的邏輯題,就能夠考出某人解決Web技術問題的能力。在我看來,這無異於讓素描大師畫肖像(或者讓劉翔跟博爾特同場競技),沒有意義,也得不到任何有價值的信息。
有激情
要成為一名優秀的前端工程師,最重要的莫過於對自己做的事要有激情。我們技能都不是從學校中或者從研討會上學來的,因此前端工程師必須具備自學能 力。瀏覽器技術的變化可謂日新月異,所以也只有不斷提升自己的技能才做得到與時俱進。我雖然不能強迫誰必須多看博客、不斷學習,但想應聘前端工程師的人恐 怕還是必須這么做的。
你怎麼知道誰對這種工作有沒有激情?實際上非常簡單。我只問一個簡單的問題:「目前你對什麼Web技術最感興趣?」這個問題永遠不會過期,而且也幾 乎不可能出錯……除非你答不上來。就眼下來說,我希望你對這個問題給出的技術中包括WebSocket、HTML、WebGL、客戶端資料庫,等等。只有 對Web開發充滿激情的人,才會堅持不懈地學習新知識、掌握新技能;這些人才是我真正想要的。當然,我會讓他們詳細解釋自己提到的技術,以保證他們不是隨 口說了幾個時髦的新詞彙。
最後一點
計算機科學或者Web設計方面的知識當然也有用,但那都是基本知識之外的東西。只要基本知識在那兒了,一切就都有了基礎,想擴充知識面也不難。可 是,如果等到正式上班以後,還得從頭學習基本技能,那種難度是不可同日而語的。另外,高級前端工程師與一般工程師相比,肯定需要掌握更多的技能。而面試幾 乎沒有經驗大學畢業生,同樣也會有一套完全不同的程序。我在這篇文章里列出來的都是一些最基本的東西。
對於那些還沒有多少面試經驗的人,我總是喜歡告訴他們,面試完了只要問自己一個問題就行:你想以後跟這個人在一起共事嗎?如果不管為什麼,回答是不,那就是不。
㈣ 做前端需要什麼技術
想要成為一個好的前端程序員,需要掌握的技術還是比較多的,比如HTML5開發、JavaScript、Veu.js框架開發等等。
前端就是展現給用戶瀏覽的部分。我們通常說的前端,其實是指前端開發,也就是創建PC端或移動端等前端界面給用戶的過程,通過HTML,CSS及JavaScript以及衍生出來的各種技術、框架、解決方案,來實現互聯網產品的用戶界面交互。
學習的內容包括:
①計算機基礎以及PS基礎
②前端開發基礎(HTML5開發、JavaScript基礎到高級、jQuery網頁特效、Bootstrap框架)
③移動開發
④前端高級開發(ECMAScript6、Veu.js框架開發、webpack、前端頁面優化、React框架開發、AngularJS 2.0框架開發等)
⑤小程序開發
⑥全棧開發(MySQL資料庫、Python編程語言、Django框架等)
⑦就業拓展(網站SEO與前端安全技術)
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
㈤ web前端開發都包括哪些技術
1、學會HTML
HTML是網頁內容的載體內容就是網頁製作者放在頁面上想要讓用戶瀏覽的信息,可以包含文字、圖片、視頻等。要熟練掌握div、table、ul li 、p、span等這些標簽,這些都是最常用的。
2、學習CSS(Cascading Style Sheets)—樣式。
一般看到web前端開發工程師的要求裡面,有一個會使用css+html 或者 css+div 來進行界面布局,所以css是用於輔助html來布局和展示的,
稱之為「css樣式」,CSS要熟練掌握float、position、width、height,以及對於的最大最小、會使用百分百、overflow、margin、padding,標題字體、顏色變化,或為標題加入背景圖片、邊框等等,這些都是跟布局有關系的樣式,必須要掌握的。
3、JS(java)—— 行為
java是用來實現網頁上的特效效果。如:滑鼠滑過彈出下拉菜單。或滑鼠滑過表格的背景顏色改變。還有焦點新聞(新聞圖片)的輪換。可以這么理解,有動畫的,有交互的一般都是用Java來實現的。
4、學習jquery
jquery是相當於把js封裝了一套的一個js插件,目的就是操作起來更方便,代碼寫的更少,jquery入門也很簡單,那些是入門需要學的和js一樣,只是換成了jq的代碼.其他的一樣網路就夠了。
5、最好會點後台語言,比如java、php,因為前台界面的數據都是從後台來的,如果會點後台代碼,就知道怎麼跟後台交互數據是最好的, 這樣節約時間,也可以讓前端代碼更規范.不然可能因為你的寫法和後端給來的數據不能結合上,那麼前端代碼又得重新寫,那就更麻煩了。
㈥ 什麼是http 前端面試題 csdn
超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最為廣泛的一種網路協議。所有的WWW文件都必須遵守這個標准。設計HTTP最初的目的是為了提供一種發布和接收HTML頁面的方法。1960年美國人Ted Nelson構思了一種通過計算機處理文本信息的方法,並稱之為超文本(hypertext),這成為了HTTP超文本傳輸協議標准架構的發展根基。Ted Nelson組織協調萬維網協會(World Wide Web Consortium)和互聯網工程工作小組(Internet Engineering Task Force )共同合作研究,最終發布了一系列的RFC,其中著名的RFC 2616定義了HTTP 1.1。
HTTP是一個客戶端和伺服器端請求和應答的標准(TCP)。客戶端是終端用戶,伺服器端是網站。通過使用Web瀏覽器、網路爬蟲或者其它的工具,客戶端發起一個到伺服器上指定埠(默認埠為80)的HTTP請求。(我們稱這個客戶端)叫用戶代理(user agent)。應答的伺服器上存儲著(一些)資源,比如HTML文件和圖像。(我們稱)這個應答伺服器為源伺服器(origin server)。在用戶代理和源伺服器中間可能存在多個中間層,比如代理,網關,或者隧道(tunnels)。盡管TCP/IP協議是互聯網上最流行的應用,HTTP協議並沒有規定必須使用它和(基於)它支持的層。 事實上,HTTP可以在任何其他互聯網協議上,或者在其他網路上實現。HTTP只假定(其下層協議提供)可靠的傳輸,任何能夠提供這種保證的協議都可以被其使用。
通常,由HTTP客戶端發起一個請求,建立一個到伺服器指定埠(默認是80埠)的TCP連接。HTTP伺服器則在那個埠監聽客戶端發送過來的請求。一旦收到請求,伺服器(向客戶端)發回一個狀態行,比如"HTTP/1.1 200 OK",和(響應的)消息,消息的消息體可能是請求的文件、錯誤消息、或者其它一些信息。
HTTP使用TCP而不是UDP的原因在於(打開)一個網頁必須傳送很多數據,而TCP協議提供傳輸控制,按順序組織數據,和錯誤糾正。
通過HTTP或者HTTPS協議請求的資源由統一資源標示符(Uniform Resource Identifiers)(或者,更准確一些,URLs)來標識。
HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW伺服器傳輸超文本到本地瀏覽器的傳輸協議。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。
HTTP是客戶端瀏覽器或其他程序與Web伺服器之間的應用層通信協議。在Internet上的Web伺服器上存放的都是超文本信息,客戶機需要通過HTTP協議傳輸所要訪問的超文本信息。HTTP包含命令和傳輸信息,不僅可用於Web訪問,也可以用於其他網際網路/內聯網應用系統之間的通信,從而實現各類應用資源超媒體訪問的集成。
我們在瀏覽器的地址欄里輸入的網站地址叫做URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協議(HTTP),將Web伺服器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。
㈦ 求推薦一下關於Web前端的相關資料!
一)前端基本功
前端相關的基礎知識
《HTTP/3 來了 !未來可期》
《你可能已經忽略的 git commit 規范》
《手寫一個 WebSocket 協議》
《5000字解析:前端五種跨平台技術》
《一篇搞定移動端適配》
《Chrome DevTools中的這些騷操作,你都知道嗎?》
《Chrome 運行時性能瓶頸分析》
《當瀏覽器全面禁用三方 Cookie》
《無形中提高工作效率的 Chrome 插件》
《還分不清 Cookie、Session、Token、JWT?》
《你連 HTTPS 原理都不懂,還講「中間人攻擊」?》
《npm install 原理分析》
《不容錯過的 Babel 7 知識匯總》
《一文搞懂 Web 中暗藏的密碼學》
《解讀HTTP/2與HTTP/3 的新特性》
《那些不常見,但卻非常實用的 CSS 屬性》
《面試官:你可以用純 CSS 判斷滑鼠進入的方向嗎?》
《二營長,快掏個CSS出來給我畫個井字棋游戲》
《CSS 故障藝術》
《我寫CSS的常用套路(附demo的效果實現與源碼)》
《來自新時代的 CSS》
《你還不會 CSS 動畫?》
《誰說前端不需要懂二進制》
《你不知道的 Blob》
《Javascript常用的 60 余種工具方法》
《你可以這樣優化 if-else 代碼結構》
《JS 圖片壓縮的實現思路》
《一個簡潔、有趣的無限下拉方案》
《請你實現一個大文件上傳和斷點續傳》
《從 ES6 到 ES10 的新特性萬字大總結》
《JavaScript 手寫代碼無敵秘籍》
《通俗易懂的 TypeScript 入門教程》
《用 TypeScript 編寫 React 的最佳實踐》
《一文讀懂 JS 裝飾器》
《你真的懂 Promise 嗎?》
《Typescript 那些好用的技巧》
《Typescript 嚴格模式有多嚴格?》
《用 TypeScript 編寫 React 的最佳實踐》
《2020 年你應該知道的 React 庫》
《5 個技巧助你編寫更好的 React 代碼》
《10個案例讓你徹底理解React hooks的渲染邏輯》
《組件演進史:從Mixin到HOC,再到Hook》
《1.1萬字從零解讀Vue3.0源碼響應式系統》
《重頭來過的 Vue 3 帶來了什麼?》
《一杯茶的時間,上手 Node.js》
《深入理解 Node.js 進程與線程》
《Deno 會取代 Node.js 嗎?》
《了不起的 Deno 入門教程》
《推倒 Node 重做,Deno 1.0 來了》
《一文搞懂 Webpack 多入口配置》
《GraphQL-前端開發的利劍與橋梁》
《GraphQL 入門看這篇就夠了》
《前端工程師應該了解的 GraphQL》
《高頻前端面試題》
《吐血整理!再來一打 Webpack 面試題》
《前端同學經常忽視的一個 JavaScript 面試題》
《如何輕松拿到淘寶前端 offer》
《三年大廠面試官:二面題》
《十幾道含答案的大廠面試題總結》
《如何答一道驚艷面試官的數組去重問題?》
《10 個 CSS 高頻面試題,你都會嗎?》
《經常被面試官考的 JS 數據類型知識你真的懂嗎?》
《面試須知:瀏覽器相關原理詳細總結》
《2019 大齡前端如何准備面試?》
《2018 大廠高級前端面試題匯總》
《前端如何在項目中做出亮點》
《Facebook 前端技術棧重構分享》
《當前端基建任務落到你身上,該如何推動協作?》
《使用 docker 高效部署你的前端應用》
《關於前端學習路線的一些建議》
《各種場景喚起 App 的騷操作》
《Web 視頻播放前前後後那些事》
《你必須要注意的依賴安全漏洞》
《從 12.67s 到 1.06s 的網站性能優化實戰》
《網易雲音樂前端性能監控實踐》
《一個阿里前端工程師的成長之路》
《非常全面的前端協作規范》
《一名合格前端工程師的自檢清單》
《從 0 到 1 再到 100:搭建、編寫、構建一個前端項目》
CSS
JavaScript
TypeScript
二)前端框架、工具、庫
React
Vue
Nodejs
Deno
Webpack
GraphQL
VS Code
《動圖演示11個必備 VS Code 插件》
三)面試題精選
四)前端開發的職業修煉
希望對你有用,望採納~
㈧ 如何成功的面試WEB前端開發,WEB前端開發
要成為一名優秀的前端工程師,最重要的莫過於對自己做的事要有激情。我們技能都不是從學校中或者從研討會上學來的,因此前端工程師必須具備自學能 力。瀏覽器技術的變化可謂日新月異,所以也只有不斷提升自己的技能才做得到與時俱進。我雖然不能強迫誰必須多看博客、不斷學習,但想應聘前端工程師的人恐 怕還是必須這么做的。
你怎麼知道誰對這種工作有沒有激情?實際上非常簡單。我只問一個簡單的問題:「目前你對什麼Web技術最感興趣?」這個問題永遠不會過期,而且也幾 乎不可能出錯……除非你答不上來。就眼下來說,我希望你對這個問題給出的技術中包括WebSocket、HTML、WebGL、客戶端資料庫,等等。只有 對Web開發充滿激情的人,才會堅持不懈地學習新知識、掌握新技能;這些人才是我真正想要的。當然,我會讓他們詳細解釋自己提到的技術,以保證他們不是隨 口說了幾個時髦的新詞彙。
最後一點
計算機科學或者Web設計方面的知識當然也有用,但那都是基本知識之外的東西。只要基本知識在那兒了,一切就都有了基礎,想擴充知識面也不難。可 是,如果等到正式上班以後,還得從頭學習基本技能,那種難度是不可同日而語的。另外,高級前端工程師與一般工程師相比,肯定需要掌握更多的技能。而面試幾 乎沒有經驗大學畢業生,同樣也會有一套完全不同的程序。我在這篇文章里列出來的都是一些最基本的東西。
對於那些還沒有多少面試經驗的人,我總是喜歡告訴他們,面試完了只要問自己一個問題就行:你想以後跟這個人在一起共事嗎?如果不管為什麼,回答是不,那就是不。
㈨ Web前端最全面試寶典- Html篇
HTML
1.對WEB標准以及W3C的理解與認識
標簽閉合、標簽小寫、不亂嵌套、提高搜索機器人搜索幾率、使用外 鏈css和js腳本、結構行為表現的分離、文件下載與頁面速度更快、內容能被更多的用戶所訪問、內容能被更廣泛的設備所訪問、更少的代碼和組件,容易維 護、改版方便,不需要變動頁面內容、提供列印版本而不需要復制內容、提高網站易用性;
2.xhtml和html有什麼區別
HTML是一種基本的WEB網頁設計語言,XHTML是一個基於XML的置標語言
最主要的不同:
XHTML 元素必須被正確地嵌套。
XHTML 元素必須被關閉。
標簽名必須用小寫字母。
XHTML 文檔必須擁有根元素。
3.Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?
用於聲明文檔使用那種規范(html/Xhtml)一般為 嚴格 過度 基於框架的html文檔
加入XMl聲明可觸發,解析方式更改為IE5.5 擁有IE5.5的bug
4.行內元素有哪些?塊級元素有哪些?
塊級元素:div p h1 h2 h3 h4 form ul
行內元素: a b br i span input select
5.HTML全局屬性(global attribute)有哪些
參考資料:MDN: html global attribute或者W3C HTML global-attributes
accesskey
:設置快捷鍵,提供快速訪問元素如aaa在windows下的firefox中按alt + shift + a
可激活元素
class
:為元素設置類標識,多個類名用空格分開,CSS和javascript可通過class屬性獲取元素
contenteditable
: 指定元素內容是否可編輯
contextmenu
: 自定義滑鼠右鍵彈出菜單內容
data-*
: 為元素增加自定義屬性
dir
: 設置元素文本方向
draggable
: 設置元素是否可拖拽
dropzone
: 設置元素拖放類型: , move, link
hidden
: 表示一個元素是否與文檔。樣式上會導致元素不顯示,但是不能用這個屬性實現樣式效果
id
: 元素id,文檔內唯一
lang
: 元素內容的的語言
spellcheck
: 是否啟動拼寫和語法檢查
style
: 行內css樣式
tabindex
: 設置元素可以獲得焦點,通過tab可以導航
title
: 元素相關的建議信息
translate
: 元素和子孫節點內容是否需要本地化
6.什麼是web語義化,有什麼好處
web語義化是指通過HTML標記表示頁麵包含的信息,包含了HTML標簽的語義化和css命名的語義化。 HTML標簽的語義化是指:通過使用包含語義的標簽(如h1-h6)恰當地表示文檔結構 css命名的語義化是指:為html標簽添加有意義的class,id補充未表達的語義,如Microformat通過添加符合規則的class描述信息 為什麼需要語義化:
去掉樣式後頁面呈現清晰的結構
盲人使用讀屏器更好地閱讀
搜索引擎更好地理解頁面,有利於收錄
便團隊項目的可持續運作及維護
7.html5有哪些新特性、移除了那些元素?如何處理HTML5新標簽的瀏覽器兼容問題?如何區分 HTML 和 HTML5?
新特性:
HTML5 現在已經不是 SGML 的子集,主要是關於圖像,位置,存儲,多任務等功能的增加。
拖拽釋放(Drag and drop) API
語義化更好的內容標簽(header,nav,footer,aside,article,section)
音頻、視頻API(audio,video)
畫布(Canvas) API
地理(Geolocation) API
本地離線存儲 localStorage 長期存儲數據,瀏覽器關閉後數據不丟失;
sessionStorage 的數據在瀏覽器關閉後自動刪除
表單控制項,calendar、date、time、email、url、search
新的技術webworker, websocket, Geolocation
移除的元素:
純表現的元素:basefont,big,center,font, s,strike,tt,u;
對可用性產生負面影響的元素:frame,frameset,noframes;
支持HTML5新標簽:
IE8/IE7/IE6支持通過 document.createElement 方法產生的標簽,可以利用這一特性讓這些瀏覽器支持 HTML5 新標簽,瀏覽器支持新標簽後,還需要添加標簽默認的樣式(當然最好的方式是直接使用成熟的框架、使用最多的是html5shiv框架):
如何區分:
DOCTYPE聲明新增的結構元素、功能元素
8. HTML5 存儲類型有什麼區別?
HTML5 能夠本地存儲數據,在之前都是使用 cookies 使用的。HTML5 提供了下面兩種本地存儲方案:
localStorage - 沒有時間限制的數據存儲,數據永遠不會過期,關閉瀏覽器也不會丟失
sessionStorage - 針對一個 session 的數據存儲,同一個會話中的頁面才能訪問並且當會話結束後數據也隨之銷毀。
9. HTML5 標准提供了哪些新的API?
1:canvas,不用多說,可以畫出很多絢麗的圖形,甚至可以直接做出偽3D游戲。
2:媒體控制,也很好理解(直譯就是回放功能,假如只用html5.0以下的標簽寫,以前的音樂播放是不可能實現滾動條的。)
3:離線網頁程序,可以把資源文件完全緩存在客戶端,並且通過js的一些方法清空緩存
4:文檔編輯,應該是更好的支持對文檔的編輯。
5:拖動,可以將文件拖動到某些區域上傳
6:跨文檔請求,websocket,一種更加高效的通訊方式
7:歷史管理,可以通過js管理和插入歷史記錄
8:MIME頭自定義
9:客戶端數據存儲,localstoage sessionstoage
10:地理位置共享
11:本地資料庫
12:索引資料庫
10.HTML5 應用程序緩存和瀏覽器緩存有什麼區別?
HTML5 引入了應用程序緩存,這意味著 web 應用可進行緩存,並可在沒有網際網路連接時進行訪問。
應用程序緩存為應用帶來三個優勢:
離線瀏覽 - 用戶可在應用離線時使用它們
速度 - 已緩存資源載入得更快
減少伺服器負載 - 瀏覽器將只從伺服器下載更新過或更改過的資源。
11.常用那幾種瀏覽器測試?有哪些內核(Layout Engine)?
(Q1)瀏覽器:IE,Chrome,FireFox,Safari,Opera。
(Q2)內核:Trident,Gecko,Presto,Webkit。
12.請描述一下 cookies,sessionStorage 和 localStorage 的區別?
cookie在瀏覽器和伺服器間來回傳遞。 sessionStorage和localStorage不會
sessionStorage和localStorage的存儲空間更大;
sessionStorage和localStorage有更多豐富易用的介面;
sessionStorage和localStorage各自獨立的存儲空間;
13.如何實現瀏覽器內多個標簽頁之間的通信?
調用localstorge、cookies等本地存儲方式
14.請寫出localStorage對象的常用方法。
存儲 - localStorage.setItem(key, value) - 如果key存在,更新value
獲取 - localStorage.getItem(key) - 如果key不存在,返回null
刪除 - localStorage.removeItem(key) - 刪除key對應的數據
全部清除 - localStorage.clear() - 清空localStorage中所有數據
遍歷 - localStorage.length
遍歷 - localStorage.key(index)
15.如何在HTML5中啟用應用程序緩存?
<html manifest="fileName.appcache">
每個指定了manifest的頁面在用戶對其訪問時都會被緩存。
.appcache是manifest文件的擴展名
16.html5 離線存儲
Html5的一個重要特性就是離線存儲,所謂的離線存儲就是將一些資源文件保存在本地,這樣後續的頁面重新載入將使用本地資源文件,在離線情況下可以繼續訪問web應用,同時通過一定的手法(更新相關文件或者使用相關API),可以更新、刪除離線存儲等操作。
Html5的離線存儲使用一個manifest文件來標明哪些文件是需要被存儲的,使用如 <html manifest='offline.manifest'> 來引入一個manifest文件,這個文件的路徑可以是相對的,也可以是絕對的,如果你的web應用很多,而且希望能集中管理manifest文件,那麼靜態文件伺服器是個不錯的選擇。
17.HTML5 Canvas 元素有什麼用?
Canvas 元素用於在網頁上繪制圖形,該元素標簽強大之處在於可以直接在 HTML 上進行圖形操作