㈠ hr如何面試web前端工程師,該問哪些技術問題
一、基本知識
我們生活在互聯網時代,你想知道的任何事情幾乎都能在15分鍾內找到相關信息。可是,能找到信息並不等於你會使用它。我認為所有前端工程師至少都應 該掌握某些基本的知識,才能有效地完成自己的工作。如果一遇到問題,就停下工作上網四處搜索解決方案,怎麼可能保證按期完成工作呢?聽聽,還有誰在說「我 不知道,但我可以上網搜到。」請這些同學把手舉起來,讓大家認識一下(immediately raises a flag for me.)。下面我列出一些基本的知識點,這些都是我認為一名前端工程師(無論工作年頭長短)在沒有任何外來幫助的情況應該知道的。
[list][*]
DOM結構——兩個節點之間可能存在哪些關系以及如何在節點之間任意移動。
[*]
DOM操作——怎樣添加、移除、移動、復制、創建和查找節點。
[*]
事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。
[*]
XMLHttpRequest——這是什麼、怎樣完整地執行一次GET請求、怎樣檢測錯誤。
[*]
嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。
[*]
盒模型——外邊距、內邊距和邊框之間的關系,IE 8以下版本的瀏覽器中的盒模型有什麼不同。
[*]
塊級元素與行內元素——怎麼用CSS控制它們、它們怎樣影響周圍的元素以及你覺得應該如何定義它們的樣式。
[*]
浮動元素——怎麼使用它們、它們有什麼問題以及怎麼解決這些問題。
[*]
HTML與XHTML——二者有什麼區別,你覺得應該使用哪一個並說出理由。
[*]
JSON——它是什麼、為什麼應該使用它、到底該怎麼使用它,說出實現細節來。
[/list]
重申一下,上述這些知識點都應該是你應該「想都不用想」的東西。我一開始問的所有問題都是想摸清你對所有這些領域知識的掌握程度。雖然上面列出的這些知識點並沒有面面俱到,但我覺得你至少應該掌握這些,才有可能跟我坐到一間辦公室里來。
二、少量提問
我非常贊同面試者問的問題越少越好。反復問應聘者各種問題既不公平,也很無聊。我在任何一次面試中,通常只問三個大問題,但每個問題又會涉及我所能想到的多個方面。回答每個大問題一般要經過幾個步驟,這樣我就可以在每個步驟中穿插著問一些小問題。比如說:
現在有一個正顯示著Yahoo!股票價格的頁面。頁面上有一個按鈕,你可以單擊它來刷新價格,但不會重新載入頁面。請你描述一下實現這個功能的過程,假設伺服器會負責准備好正確的股票價格數據。
這個問題牽扯到一組我想要考察的基本知識點:DOM結構、DOM操作、事件處理、XHR和JSON。如果我要求你對換一種處理股票價格的方式,或者 讓你在頁面中顯示其他信息,就可以把更多的知識點包括進來。對於經驗比較豐富應聘者,我也可以自如地擴展要考察的知識范圍,最簡單像JOSN與XML的區 別、安全問題、容量問題,等等。
我還希望應聘者給出的任何解決方案中都不要使用庫。我想看到最原生態的代碼,你就當頁面中沒有包含任何庫。你說你對哪個庫了解多少多少,但我不能把 關於庫的知識作為評判能力的因素,因為庫是會隨時間變化的。我需要的是真正理解庫背後的機制,特別是能夠徒手寫出一個自己的庫的人。
三、解決問題
做為一名前端工程師,最值得高興的事莫過於解決同一個問題會有很多種不同的方法,而你要做的就是找出最合適的方法來。我在提問的時候,經常會在應聘 者解釋完一種方法後問他們還有沒有第二種方法。此時我會跟他們說,假設你的這個方法由於種種原因被否決了,那麼你還能不能給出另一種方法。這樣做可以達到 兩個目的。
首先,可以測試出他們是否在毫無意義地復述書本中的東西。不能不承認,某些人確實有過目不忘的天賦,聽他們在那裡滔滔不絕地講,你會覺得他們什麼都 明白。可是,只要一跟這些人談到怎麼查找方案無效的原因,以及能否拿出一個新方案來,他們往往就傻眼了。這時候,如果我聽到「我不明白這個方案為什麼不夠 好」之類的反問,心裡立刻就明白我的問題已經超出了他們的能力范圍,而他們只是想拿自己死記硬背的結論來矇混過關。
其次,可以測試出他們已經掌握的(還是那句話,「想都不用想」)瀏覽器技術知識。如果他們對瀏覽器平台的核心知識有較好的理解,想出解決同一問題的不同方案根本沒有那麼難。
對一名前端工程師來說,這絕對是最重要的能力。前端工程師在工作中遇到本該如此卻並未如此的難題(說你啦,IE6),應該說是一件很平常的事。一個方案無效就無計可施的人,做不了前端工程師。
考核應聘者解決問題能力的另一層原因,與我的個人喜好有關。在搞清楚應聘者知道什麼不知道什麼之後,我就會想著問一個他們知識領域之外的問題。這樣 做的目的,就是想看看他們怎樣運用已有的知識解決新問題。在解決問題的每一步,我也准備了一些提示,以防有人會卡殼打艮(在我面前15分鍾一言不發,對我 評價這個人毫無幫助)。我真正感興趣的,是他們能夠從上一步前進到下一步。我希望看到一個人就在我眼前學到新知識。
注意:所有問題都與瀏覽器技術相關。我不相信出幾道抽象的邏輯題,就能夠考出某人解決Web技術問題的能力。在我看來,這無異於讓素描大師畫肖像(或者讓劉翔跟博爾特同場競技),沒有意義,也得不到任何有價值的信息。
㈡ web前端開發工程師簡介
web前端開發工程師簡介
Web前端一直是佔有重要的地位。尤其是近年來HTML5技術的突飛猛進,使Web前端技術有了更好的發展。Web前端開發人員的薪資也是一路猛漲。下面我們一起了解一些web前端開發工程師簡介,歡迎大家參考!
Web前端和後端的差異
職能上的差異
首先,我們要分清Web designer(網頁設計師)和Web developer(網頁開發者,也稱程序員)的差異。兩者之間的差異主要表現在:一個是有關網站的視覺或美學方面,被稱為“前端”;另一個則是看不見的編碼方面的設計,被稱為“後端”。簡而言之,漂亮的網站界面都是出自網頁設計師之手,而牛逼強大的功能則是網頁開發者的傑作。
除了職能上的差異之外,兩者還有其他許多差異。國外設計網站Downgraf特意製作了一張圖表來展示——網頁設計師和網頁開發者(程序員)都留胡茬,一個沒錢,一個沒時間;兩者都喜歡內涵T恤,一個走字體設計路線,一個走代碼風;兩者都配自家設備,一個必帶MacBook Pro,一個只挑小鍵盤⋯⋯除了以上種種差異,他們還有一個共同點:害怕MM,看來都是“宅”惹的禍。
技術上的差異
我們再從技術的方面,瞧瞧在實際的招聘中,各大企業要求前端人員與後端人員分別具備怎樣的能力。
Web前端:
1. 精通HTML,能夠書寫語義合理,結構清晰,易維護的HTML結構。
2. 精通CSS,能夠還原視覺設計,並兼容業界承認的主流瀏覽器。
3. 熟悉JavaScript,了解ECMAScript基礎內容,掌握1~2種js框架,如JQuery。
4. 對常見的瀏覽器兼容問題有清晰的理解,並有可靠的解決方案。
5. 對性能有一定的要求,了解yahoo的性能優化建議,並可以在項目中有效實施。
Web後端:
1. 精通jsp,servlet,java bean,JMS,EJB,Jdbc,Flex開發,或者對相關的工具、類庫以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,對Web開發的模式有較深的理解。
2. 熟練使用oracle、sqlserver、mysql等常用的資料庫系統,對資料庫有較強的設計能力。
3. 熟悉maven項目配置管理工具,熟悉tomcat、jboss等應用伺服器,同時對在高並發處理情況下的負載調優有相關經驗者優先考慮。
4. 精通面向對象分析和設計技術,包括設計模式、UML建模等。
5. 熟悉網路編程,具有設計和開發對外API介面經驗和能力,同時具備跨平台的API規范設計以及API高效調用設計能力。
總而言之,兩者的差異在於
職能上,前端主要負責界面的設計;後端主要是製作界面後的功能。
形象上,前端注重形式、美觀;後端注重功能、實用性(為此,我還特地去了喬布堂的研發部做了實地考察,發現我們的前端工程師買了2台Macbook,而後端工程師買了2個鍵盤。驚人的符合!)
企業招聘中,前端工程師需要精通JS,能熟練應用JQuery,懂CSS,能熟練運用這些知識,進行交互效果的開發;後端開發人員需要會寫Java代碼,會寫SQL語句,能做簡單的資料庫設計,會Spring和iBatis,懂一些設計模式等。
不論是前端還是後端,都屬於軟體開發的范疇。因此在寫簡歷時可以參考 《軟體開發工程師》 ,對童鞋們可是很有幫助的喲!
要成為一名高效的Web開發者,需要做很多工作,來提高工作方式並改善勞動成果。而在開發中難免會遇到一些困難。那麼,前端與後端分別面臨的挑戰主要有哪些呢?來和我一起看一看吧!
Web前端開發面臨的挑戰
前端開發的五大挑戰
第一大挑戰:兼容性
瀏覽器種類非常多,IE、Firefox、Chrome、Opera、還有眾多的IE加殼瀏覽器,類似搜狗、傲遊、360,再加上這些瀏覽器的移動終端版本。需要有Web標准,前端的知識大部分通用於各個瀏覽器,但還是會有歷史遺留問題,不同版本的瀏覽器有不同的問題。特別是市場佔有率最高的IE系,雖然IE 9/10看起來相當標准,但向之前版本間各有各的問題,向前兼容非常頭疼。如果不積累點經驗,面對疑難雜症那是一頭霧水。
第二大挑戰:交互的復雜度
CSS和DOM提供的介面水平過低,而BOM提供的控制項只有input、select、textarea這幾種最基本的,稍復雜一點的UI效果,都要前端自己利用CSS和DOM去組合創造。看到一個需求,腦子里第一步要想如何利用CSS、DOM這些基本的零件組合成最終的效果,實現最終效果其實是一個“創造”的過程,比如說tabView,treeView,richEditor,colorPicker這種看起來常見的組件,其實在前端里都是沒有現成可用的,需要自己去實現。
前端語言的 膠水性需求 太強。CSS、DOM、JS是三種不同的技術,這也是前端知識系統中要掌握的最重要的三個基本功。前端的效果是通過CSS、DOM、JS三者配合起來最終呈現出來的,脫了任何一個技術都寸步難行,時刻要同時考慮多個方向的知識點。前端編程像是開了三個線程同時在跑,復雜度成倍增長。
第三大挑戰:代碼可維護性
復雜度的提升直接影響代碼的維護性。CSS+DOM+JS的組合實在太強大了,同一個效果可以有多種完全不同的實現方式,每一種實現方式都會有不同的開發難度、擴展性、可維護性。解決方案太多,看到一個效果首先會先想到如何用CSS和DOM里那些low level的介面實現,這是一個“創造”的過程,這時腦子里可能冒出好多種不同的實現方法,“創造”完了之後還要“比較”,權衡各種解決方案的優劣,糾結一陣之後,才能選出最適合的方案。當然,並非前端都是完美主義,一定要選一個最好的方式出來,而是因為前端是GUI編程,直接面向用戶,是最直接的產品呈現的'部分,是門面。正因為如此,前端也是最容易被反復修改的部分。反復“修改”有多可怕,是個程序員都懂的,如果可維護性不好,那簡直是惡夢。所以前端不得不重視可維護性,不重視可維護性直接等於自虐。
第四大挑戰:性能
第五大挑戰:個人成長
開發者的思路很重要
前端的開發,如果沒有總體的設計思路,會成為一種碎片似地程序,一個效果一堆代碼,一個功能一灘腳本,一個需求片邏輯。曾經遇到過,因為ue調整,把整個前端的代碼除了核心數據處理函數保留,其餘的全部修改的情況。基本上前端的開發,處於DOM操作,數據處理,數據交互三部分,如果合理的分配這三部分的功能,那麼前端的代碼就很容易擴展和調整。
真正的前端開發挑戰,還在於開發者的思路。兼容性,布局,CSS和JS都不是問題,問題在於如何合理地組織語言邏輯;如何正確抽象出需求中的模塊;如何用代碼處理,清楚地用代碼表達出思路、寫好注釋,給後續維護者一個可閱讀的思路。前端的改動量,是後端的數倍,前端沒有絕對,只有跟隨需求不停的修改。
Web後端開發面臨的挑戰
後端開發的五大挑戰
第一大挑戰,後端開發最重要的挑戰,來自於規模
規模的擴大,比如訪問量擴大,文件存儲量擴大,數據量擴大,伺服器數量擴大等。一個前端看起來一模一樣的網站,某一種指標如果擴大十倍,幾乎都會面臨一大堆的問題和挑戰。另一方面,在規模擴大以後,後端系統架構,一定會復雜化。原來只有一台Server,LAMP都裝在一起。然後資料庫分出來,反向代理,負載均衡,分庫分表,Memcache,Message Queue,事務處理,CDN,NOSQL,種種架構,Server,就逐漸的演化出來了。架構的復雜化,自然會帶來更多的問題和更多的挑戰。
第二大挑戰,來自於安全
安全問題層出不窮,防不勝防。需要技術手段,也需要管理制度。
第三大挑戰,來自於效率
能否提供足夠的處理速度,能否提供足夠的帶寬,能否保證響應能力,這些是對外的效率。能否使用更少的伺服器,能否使用更加便宜的伺服器,能否使用更加節省能源的伺服器,這些是對內的效率。
第四大挑戰,來自於需求變更
無論前端後端,都會面臨需求變更,只要是軟體開發,這都是大挑戰。但是當一個系統已經穩定的,高效的運行時,需求變更來了,在滿足需求之後,原本來沒有問題的部分,會不會突然崩潰,一旦崩潰,就是後端工程師的噩夢。
第五大挑戰,來自於教條
這個世界上有無數IT大公司,他們都很開放,都願意分享自己的架構與技術。於是,對於“眼界開闊”的後端工程師而言,困難不在於如何解決,而在於如何從眾多的解決方案中做出挑選。框架、實踐不斷涌現,成功案例也不斷涌現。人家都用得好好的,你敢用嗎?到底是勇於嘗鮮,還是保守要緊呢?這個很難。
後端開發的三大法則
Design for failure
後端相當比例的代碼不是為了一般情況下正確而存在,而是為了保證特殊或者極端情況下系統可接受的響應而存在的。這里有非常多的折衷要做:漸進改進還是超前設計?水平擴展、業務優化、前台還是後台處理?大量的折衷都是要根據不斷變化的環境和需求去權衡的,所以很容易犯錯。
Architecture is about abstract
為什麼要抽象?因為抽象的概念有更好的適應性,更易於復用,更能靈活適應變化。但是抽象是很難的,不恰當的抽象更是貽害無窮,要命的是,這些並沒有很好的方法論,多數是依靠一組基本的原理,憑經驗作出的。而Web後端開發在很長時間里並沒有很重視這些,很多網站都是粗放型設計和開發出來的,所以補丁疊補丁的結構就順理成章的成為了主流。
Architecture is proct
為架構本身即產品,一個軟體產品包含了不同的視角,其中最重要的包括用戶看到的視角、以及軟體骨架即架構的視角。但產品就是產品,所有這些視角都是必須統一和一致的,這就要求架構必須理解產品的靈魂,而產品要理解架構的困難所在,否則很容易出現想做的事情做不到或者以巨大的架構代價實現一個邊角功能這類悲劇。
;㈢ web前端工程師需要掌握哪些技術
1、開發語言
HTML發展歷史有二十多年,歷經多次版本更新,HTML5和CSS3的出現又是一次革新。有些人認為前端開發要掌握的技能簡單,不就是網頁製作嘛。其實不然,web前端需要掌握的核心語言HTML+CSS+JavaScript,JavaScript作為最難的語言之一,許多編程高手也不敢妄自菲薄自封精通。由於JavaScript與html的差異性,以及靜態分開處理的一些好處。在大公司編寫靜態效果和動態效果往往是分開由不同的人完成的。小公司因為需要壓縮成本,就需要每個人會的越多越好,如果你嚮往項目經理發展,能懂一兩門後端語言,絕對是錦上添花。
2、瀏覽器兼容性
互聯網目前主流瀏覽器有IE6/7/8/9,Firefox,Chrome,Opera,Safari,遨遊,包括國內主流的搜狗,騰訊TT,360,the word等等;從內河上講主要有IE的,遨遊版IE,Safari,Firefox以及opera的,這些都是大家常見的,如果你身邊有老網蟲喜歡收藏瀏覽器,你翻翻他的硬碟,相信十幾款肯定是有的。每種內核對代碼的解析是不完全一樣的,即使同樣內核也可能存在很大差異,如IE和遨遊版IE。不說非主流的瀏覽器,就主流的瀏覽器,要做到完全兼容,也並非易事,需要長時間的積累和測試,需要前端開發工程師對前端端開發的熱愛和激情。
目前移動互聯網的發展趨勢也不容小覷,將慢慢占據互聯網的主要份額。移動互聯網最突出的好處是方便和及時,試想一下,走在某地風景很好,拍下來後自 動分享給各路好友,因此手機上的瀏覽器兼容也看刻不容緩,現在手機上的瀏覽器也是紛繁復雜,主流的UCWEB,safari,IE,3G門戶的,以及 symbian低端機的「殘缺兒童」,包括國外流行手機我們不知道的一些瀏覽器,更糟糕的是這些瀏覽器解析因為手機硬體的不同,每個瀏覽器得到的結果都是 完全不同的。
3.hack技術
由於不同的瀏覽器對CSS的解析認識不一樣,因此會導致生成的頁面效果不一樣,這個時候就需要針對不同的瀏覽器寫不同的CSS,這個過程叫CSS hack。雖然我們寫代碼都要求按照標准,不寫hack代碼,但實際工作中為了兼容主流瀏覽器,hack代碼是免不了的,所以這也應該是每個前端開發人員 必備的技能。
4.業內標准
目前Web前端開發中提到最多的就是W3C標准,這是一系列標準的集合,代表了互聯網發展的方向,也代表了前端開發的一種信仰。寫的代碼都要100%通過標准驗證,為通過標准驗證而感到自豪,會有效推動互聯網的快速發展。
5.開發工具
目前比較流行的是Dreamweaver, 其曾經風靡一時,到現在也沒有退出歷史舞台,證明DW還是有很大優勢的,尤其是針對初學者,其強大的提示功能可以幫助我們很快的熟悉並掌握網頁布局,但現 在更提倡的是純手寫代碼,既體現技能方面的卓越,也可有效避免使用DW等工具產生的冗餘代碼。此外再掌握一些photoshop技能,即使沒有美工,也能 簡單處理一些圖像。
小結,掌握以上技能,可以說你是一個合格的前端開發人員,能夠參與到一個大的項目中,或者自己獨立寫出一個網頁。雖然這看起來和網頁製作設計差不多,從效果上來看,都是製作網頁的,但實際上,技術上所超出的已經是好幾個檔次的東西了。
㈣ 前端工程師必問面試題vue路由模式路由守衛
vue的路由模式一共有兩種,分別是哈希和history,他們的區別是hash模式不會包含在http請求當中,並且hash不會重新載入頁面,而使用history模式的話,如果前端的url和後端發起請求的url不一致的話,會報404錯誤,所以history的原理是利用html5新增的兩個特性方法,分別是psuhState和replaceState來完成的,以上就是對vue路由的理解。
路由的導航守衛 又叫做路由的鉤子函數(生命周期函數)
就是在跳轉頁面的時候把路由欄下來,做一些操作在放行,vue一共提供了三種路由守衛。
第一種是全局守衛
beforeEach路由進入之前
afterEach路由進入之後
第二種 組件內守衛
beforeRouteEnter 路由進入之前
beforeRouteUpdate 路由更新之前
beforeRouteLeave 路由離開之前
第三種 路由獨享守衛
beforeEnter 路由進入之前
分別是 to from next
next 這個參數 在路由3.x版本的時候,是必須的
但是到了路由4.x版本的時候next參數變成可選的了
一般來說vue2搭配 3.x的路由
vue3搭配 4.x 的路由
比如說購物車頁面只有登陸的才能訪問,我們可以用組件級守衛購物車頁面,如果已經登陸存有token 的話,就繼續訪問這個頁面,如果沒有登陸的話就會跳轉到登陸頁面。
在項⽬中我們經常使⽤路由守衛實現⻚⾯的鑒權. ⽐如:當⽤戶登錄之後,我們會把後台返回的token以及⽤戶信息保存到vuex
和本地,當⻚⾯進⾏跳轉的時候,我們會在路由守衛⾥⾯獲取vuex⾥⾯的token,如果token存在的話,我們則使⽤next讓他進⼊要
跳轉的⻚⾯,如果token不存在的話我們使⽤next⽅法讓他回到登錄⻚
以上就是我對vue路由守衛的理解。
⾸先v-if和v-show都是控制元素的顯示與隱藏, 不過v-if控制元素的顯
示和隱藏的時候會刪除對⽤的dom元素,當每⼀個顯示的時候,都會重新創建dom和渲染. ⽽v-show則是通過css的display:none
和display:block來控制元素的顯示與隱藏. v-if⽐較耗費性能,所以我們涉及到頻繁的顯示隱藏操作我們建議使⽤v-show,如果不
是頻繁操作的話,我們可以v-if
在項⽬中我會經常使⽤v-if和v-show,⽐如我們在搜索功能的時候,他有⼀個歷史記錄,這個時候我們根據是否有搜索的結果來判
斷歷史記錄的顯示與隱藏,這塊我就可以使⽤v-if ,當然⽤v-show也可以. 以上就是我對v-if和v-show的理解。
v-for的優先順序⾼. 因為v-for的時候我們才開始渲染dom元素,這個v-if還⽆法進⾏判斷.
v-for和v-if不能同時使⽤,我們可以通過標簽,⽐如div或者template標簽來進⾏包裹,把v-if寫到包裹的標簽上⾯(寫到v-for外⾯)。
⾸先呢,methods是⽤來定義⽅法的區域,methods定義的⽅法需要調⽤才能觸發. 不具備緩存⾏
⽽computed是計算屬性,他依賴於屬性值的變化,當屬性發⽣改變的時候,計算屬性⾥⾯定義的⽅法就會觸發,computed具有緩
存性,依賴屬性值的變化⽽變化.
⽽watch主要是⽤於監聽,不具備被緩存性.依賴於數據變化⽽觸發.
在項⽬中,⽐如我們獲取state的狀態的時候我們會把它放到computed⾥⾯,或者在寫購物⻋數量計算的時候也會使⽤計算屬性.
⽽watch也在項⽬經常使⽤,⽐如我們封裝編輯 和 新增彈窗組件的時候會通過watch來進⾏id判斷我們要顯否要清空表單的數
據.
以上就是我對computed和watch的理解。
㈤ web前端開發需要學習什麼知識
第一階段:
HTML+CSS:
HTML進階、CSS進階、div+css布局、HTML+css整站開發、
JavaScript基礎:
Js基礎教程、js內置對象常用方法、常見DOM樹操作大全、ECMAscript、DOM、BOM、定時器和焦點圖。
JS基本特效:
常見特效、例如:tab、導航、整頁滾動、輪播圖、JS製作幻燈片、彈出層、手風琴菜單、瀑布流布局、滾動事件、滾差視圖。
JS高級特徵:
正則表達式、排序演算法、遞歸演算法、閉包、函數節流、作用域鏈、基於距離運動框架、面向對象基礎、
JQuery:基礎使用
懸著器、DOM操作、特效和動畫、方法鏈、拖拽、變形、JQueryUI組件基本使用。
第二階段:
HTML5和移動Web開發
HTML5:
HTML5新語義標簽、HTML5表單、音頻和視頻、離線和本地存儲、SVG、WebSocket、Canvas.
CSS3:
CSS3新選擇器、偽元素、臉色表示法、邊框、陰影、background系列屬性改變、Transition、動畫、景深和深透、3D效果製作、Velocity.js框架、元素進場、出場策略、炫酷CSS3網頁製作。
Bootstrap:
響應式概念、媒體查詢、響應式網站製作、刪格系統、刪格系統原理、Bootstrap常用模板、LESS和SASS。
移動Web開發:
跨終端WEB和主流設備簡介、視口、流式布局、彈性盒子、rem、移動終端JavaScript事件、手機中常見JS效果製作、Zepto.js、手機聚劃算頁面、手機滾屏。
第三階段:
HTTP服務和AJAX編程
WEB伺服器基礎:
伺服器基礎知識、Apache伺服器和其他WEB伺服器介紹、Apache伺服器搭建、HTTP介紹。
PHP基礎:
PHP基礎語法、使用PHP處理簡單的GET或者POST請求、
AJAX上篇:
Ajax簡介和非同步的概念、Ajax框架的封裝、XMLHttpRequest對象詳細介紹方法、兼容性處理方法、Ajax框架的封裝、Ajax中緩存問題、XML介紹和使用。
AJAX下篇:
JSON和JSON解析、數據綁定和模板技術、JSONP、跨域技術、圖片預讀取和lazy-load技術、JQuery框架中的AjaxAPI、使用Ajax實現爆布流案例額。
第四階段:
面向對象進階
面向對象終極篇:
從內存角度到理解JS面向對象、基本類型、復雜類型、原型鏈、ES6中的面向對象、屬性讀寫許可權、設置器、訪問器。
面向對象三大特徵:
繼承性、多態性、封裝性、介面。
設計模式:
面向對象編程思維、單例模式、工廠模式、策略模式、觀察者模式、模板方法模式、代理模式、裝飾者模式、適配器模式、面向切面編程。
第五階段:
封裝一個屬於自己的框架
框架封裝基礎:
事件流、冒泡、捕獲、事件對象、事件框架、選擇框架。
框架封裝中級:
運動原理、單物體運動框架、多物體運動框架、運動框架面向對象封裝。
框架封裝高級和補充:
JQuery框架雛形、可擴展性、模塊化、封裝屬於傳智自己的框架。
第六階段:
模塊化組件開發
面向組件編程:
面向組件編程的方式、面向組件編程的實現原理、面向組件編程實戰、基於組件化思想開發網站應用程序。
面向模塊編程:
AMD設計規范、CMD設計規范、RequireJS,LoadJS、淘寶的SeaJS。
第七階段:
主流的流行框架
Web開發工作流:
GIT/SVN、Yeoman腳手架、NPM/Bower依賴管理工具、Grunt/Gulp/Webpack。
MVC/MVVM/MVW框架:
Angular.js、Backbone.js、Knockout/Ember。
常用庫:
React.js、Vue.js、Zepto.js。
第八階段:
HTML5原生移動應用開發
Cordova:
WebApp/NativeApp/HybirdApp簡介、Cordova簡介、與PhoneGap之間的關系、開發環境搭建、Cordova實戰(創建項目,配置,編譯,調試,部署發布)。
Ionic:
Ionic簡介和同類對比、模板項目解析、常見組件及使用、結合Angular構建APP、常見效果(下拉刷新,上拉載入,側滑導航,選項卡)。
ReactNative:
ReactNative簡介、ReactNative環境配置、創建項目,配置,編譯,調試,部署發布、原生模塊和UI組件、原生常用API。
HTML5+:
HTML5+中國產業聯盟、HTML5PlusRuntime環境、HBuilder開發工具、MUI框架、H5+開發和部署。
第九階段:
Node.js全棧開發:
快速入門:
Node.js發展、生態圈、Io.js、Linux/Windows/OSX環境配置、REPL環境和控制台程序、非同步編程,非阻塞I/O、模塊概念,模塊管理工具、開發流程,調試,測試。
核心模塊和對象:
全局對象global,process,console,util、事件驅動,事件發射器、加密解密,路徑操作,序列化和反序列化、文件流操作、HTTP服務端與客戶端。
Web開發基礎:
HTTP協議,請求響應處理過程、關系型資料庫操作和數據訪問、非關系型資料庫操作和數據訪問、原生的Node.js開發Web應用程序、Web開發工作流、Node.js開發Blog案例。
快速開發框架:
Express簡介+MVC簡介、Express常用API、Express路由模塊、Jade/Ejs模板引擎、使用Express重構Blog案例、Koa等其他常見MVC框架。
希望會給大家帶來幫助!
㈥ 前端面試要點
想要通過前端面試順利進入一線大廠成就高薪前端夢。那麼首先,我們得知道前端面試中,社招和校招究竟有啥區別?
對於前端開發來說,如果說社招更看重對前端技術體系的深入理解,以及解決問題的能力話,那校招更看重的其實是基本功和學習能力(或者說是潛力)。
但其實,無論是社招還是校招,面試的時候都會問到一些曾經操作過的項目,尤其是大廠,或者熱門高薪部門,面試官除必問的技術經驗外,也會對技術深度進行一個基礎的考核,那在這種情況下如何hold住大廠面試呢?
前端面試三要素:簡歷、個人介紹、技術能力。下面,就來分別聊一聊。
1、簡歷篩選關:
HR一般會去看簡歷中所提的技術棧是否匹配,怎麼看呢?我們可以抓住簡歷中的技術名詞,一般來說如果一點技術名詞都沒有提到,那麼大概有以下幾種可能:很水、很牛但概率很小、不會寫簡歷。所以,一部分人可能會因為簡歷的問題沒有了面試機會,這點是需要非常注意的。
2、個人介紹關:
通過了簡歷篩選階段,就真正到了面試環節。這時候一定要准備好一段最多3分鍾的個人介紹。請注意,最多3分鍾!言簡意賅的說明自己的工作時間,擅長技術棧和自己的工作預期。
3、項目經驗表達:
對前端開發學習者而言,JS並不陌生,但大廠的JS面試題卻總是顯得很「陌生」,怎麼樣能夠真正做到深入理解與高級應用?這不僅是面試過程中對前端求職者的要求,也是大多數前端開發者的痛點。
大廠面試中,面試官除了關注你的項目經驗外,還往往喜歡和面試者深入探討前端某些技術領域成體系的前端知識。比如:模塊化、非同步解決方案、網路、框架及原理、線程等,但在與面試官的正面battle中,求職者總會敗下陣來。
所以,建議大家在Web前端面試前一定要注重這三個方面的內容。注重了這些想找找到一份適合的Web前端開發工作並不是難事。
㈦ 前端面個試咋這么奇葩,筆試題根本沒啥用
前端面試不一定都需要筆試。
因為像一些比較技術比較牛的前端開發工程師,它是很難接受筆試,面試的,因為筆試的內容一般都是一些基礎方面的內容但是這些內容在實際應用過程中是很少用到的,所以一般筆試是很不容易通過的,但是他的技術能力是非常牛的,所以他是不會接受筆試的,有些公司也不一定需要筆試。
㈧ 誰能給我出一兩道 web前端筆試題 上機題啥的,呵呵,比較常考的
[面試題] 某企業前端開發面試題
【HTML & CSS】
1. Doctype? 嚴格模式與混雜模式-如何觸發這兩種模式,區分它們有何意義?
2. 行內元素有哪些?塊級元素有哪些?CSS的盒模型?
3. CSS引入的方式有哪些? link和@import的區別是?
4. CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?
5. 前端頁面有哪三層構成,分別是什麼?作用是什麼?
6. css的基本語句構成是?
7. 你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?經常遇到的瀏覽器的兼容性有哪些?怎麼會出現?解決方法是什麼?
8. 如何居中一個浮動元素?
9. 有沒有關注HTML5和CSS3?如有請簡單說一些您對它們的了解情況!
10. 你怎麼來實現下面這個設計圖,主要講述思路 (效果圖省略)
11. 如果讓你來製作一個訪問量很高的大型網站,你會如何來管理所有CSS文件、JS與圖片?
12. 你對前端界面工程師這個職位是怎麼樣理解的?它的前景會怎麼樣?
【Javascript】
1. js是什麼,js和html 的開發如何結合?
2. 怎樣添加、移除、移動、復制、創建和查找節點
3. 怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別
4. 面向對象編程:b怎麼繼承a
5. 看看下面alert的結果是什麼
view sourceprint?1.function b(x, y, a) {
.arguments[2] = 10;
.alert(a);
}
b(1, 2, 3);
如果函數體改成下面,結果又會是什麼?
a = 10;
alert(arguments[2] );
6. 請編寫一個JavaScript函數 parseQueryString,它的用途是把URL參數解析為一個對象
var obj = parseQueryString(url);
alert(obj.key0) // 輸出0
7. ajax是什麼? ajax的交互模型? 同步和非同步的區別? 如何解決跨域問題?
8. 什麼是閉包?下面這個ul,如何點擊每一列的時候alert其index?
<ul id=」test」>
<li>這是第一條</li><li>這是第二條</li><li>這是第三條</li>
</ul>
9. 最近看的一篇Javascript的文章是?
10. 常使用的庫有哪些?常用的前端開發工具?開發過什麼應用或組件?
11.說說YSlow(可以詳細一點)
答案在參考資料裡面可以找到,答案在參考資料裡面可以找到,答案在參考資料裡面可以找到
㈨ 面試Web前端需要注意什麼會面試哪些問題
作為一名HTML5前端工程師,為了工作,為了就業我們免不了要參加各種各樣的面試。為此總結了面試前的注意事項:
第一:注意自己的儀容儀表
面試之前,一定要再次從頭到腳地將自己的儀容儀表檢查一遍。檢查時主要包括,自己的牙縫是不是還有食物殘渣,所以你需要就近找一個衛生間,如果沒有衛生間就近找一個角落也是可以的,但是切記一定不要在大庭廣眾之下。因此,為了給自己整理出著裝的時間請在約定時間前20分鍾到達。
第二:再次檢查面試時所需的資料是否都已帶全
這些資料主要包括:身份證明、學歷文憑證明、個人簡歷、以往作品等等,如果這些東西齊全之後,需要對這些資料做一個整理與排序。因為沒有哪個面試官希望看到面試者拿出一堆「莫名其妙」的東西塞給他,讓他自己再一頁一頁的翻找自己需要的內容,如果說這些資料在面試官手中不小心散落一地,結果可想而知。這樣的求職者在面試官眼中也一定不是一個讓人放心、有條不紊的員工。當然如果檢查時發現資料沒有帶全,也不要緊張。反而你要慶倖幸虧及時檢查,也有足夠的時間組織語言去向面試官解釋。
第三:面試之前將通信工具調成振動或關閉狀態
雖然說面試者與面試官之間是一個平等的關系,但畢竟你是去人家公司求職的,始終處於一個被動的狀態,所以最起碼的尊重還是要做到的。曾經有調查顯示,對於面試過程中接電話或是被電話打斷的求職者,會被HR減分。
第四:等候面試官時,仔細觀察多了解面試公司
在等候面試官時,可以暗自觀察一下公司的大體情況比如員工的著裝風格、公司的LOGO或是貼在牆上的企業文化、公司的環境等等,一來可以在接下來的面試過程中表現出自己對公司的認同感,二來也可以讓自己對求職公司多些了解,以確定是否要接受這里的工作。如果你身邊有公司的資料宣傳架,不妨取一本翻看一下,也會增加HR對你的好感。
第五:放鬆心情,保持自信
面試時一定要保持一定的自信,這樣也會給面試官留下很好的印象。面試只是你步入工作的第一步,即便是失敗了那也是人生重要的經歷。失敗是為了更好的迎接下一個挑戰。
作為一名web前端工程師千萬不要覺得懂技術面試就能萬事大吉了,像以上五點細節性的東西也是一定要掌握的。
面試題系列:
網頁鏈接
㈩ 如何面試前端工程師
隨著時代的發展,很多新興的就業職位隨之產生。前端工程師將就是隨著互聯網的快速發展而產生的。其實在很多人的觀念里,前端工程師也就是一個切頁面的而已,他們也就是會html、css、javascript這些沒有任何技術含量的網頁製作而已。然而隨著技術飛速發展,人們對這些技術的要求也是越來越高,如果只憑著一個人來把所有的事情都解決是很困難的,所以這個時候前端工程師就開始發揮著他們很大的作用了。
那我們應該如何來面試前端工程師呢?
談吐要大方得體
在我們在面對面試官時我們千萬不要緊張。在進行自我介紹時我們要努力做到自信大方、吐字清晰。我們在自我介紹時要用簡明扼要的話語來介紹自己,突出自己的優點表明自己的求職意向。你要通過寥寥數語把自己的優勢都向面試官介紹清楚。記住不必要的話語要少說。
好了關於如何面試前端工程師這個話題我就聊到這了。希望我的回答能對你有所幫助。