⑴ 前端面試會提問到哪些
在面試前端的過程中,有些問題是經常會被提問到的
一、基礎篇
1. 在不使用第三個變數的情況下,如何調換a與b的值?
2. px與em的區別
3. 簡述一下盒模型
4. 頁面導入樣式時,使用link和@import有什麼區別?
5. 簡述一下事件代理
二、HTML常見題目
01、Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?
02、HTML5為什麼只需要寫?
03、行內元素有哪些?塊級元素有哪些?空(void)元素有哪些?
04、頁面導入樣式時,使用link和@import有什麼區別?
05、介紹一下你對瀏覽器內核的理解?
06、常見的瀏覽器內核有哪些?
07、html5有哪些新特性、移除了哪些元素?如何處理HTML5新標簽的瀏覽器兼容問題?
08、如何區分HTML和HTML5?
09、簡述一下你對HTML語義化的理解?
10、HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
三、CSS類的題目
01、介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?
02、CSS選擇符有哪些?哪些屬性可以繼承?
03、CSS優先順序演算法如何計算?
04、CSS3新增偽類有哪些?
05、如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
06、display有哪些值?說明他們的作用。
07、position的值relative和absolute定位原點是?
08、CSS3有哪些新特性?
09、請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
10、用純CSS創建一個三角形的原理是什麼?
四、JavaScript類的題目
01、JavaScript中this是如何工作的
02、請解釋原型繼承的原理。
03、什麼是閉包(closure),如何使用它,為什麼要使用它?
04、.call 和.apply的區別是什麼?
05、請指出JavaScript 宿主對象(host objects) 和原生對象(native objects) 的區別?
06、請指出以下代碼的區別:function Person(){}、var person = Person()、var person = new Person()?
07、請解釋變數聲明提升(hoisting)。
08、什麼是 「use strict」; ? 使用它的好處和壞處分別是什麼?
09、什麼是事件循環 (event loop)?
10、請解釋同步 (synchronous) 和非同步 (asynchronous) 函數的區別。
五、開發及性能優化類題目
01、如何規避javascript多人開發函數重名問題?
02、請說出三種減低頁面載入時間的方法.
03、說說你所了解到的Web攻擊技術。
04、說說你說了解的前端性能優化方法?
05、前端開發中,如何優化圖像?圖像格式的區別?
06、瀏覽器是如何渲染頁面的?
07、頁面重構怎麼操作?
08、什麼叫優雅降級和漸進增強?
09、前端需要注意哪些SEO?如何做SEO優化?
10、平時如何管理你的項目?
⑵ 美團前端面試難嗎
美團目前也是在大量的招人啊~~當時參加的是美團打車部門的面試(一年工作經驗以上的),部門技術棧vue,後台就是node,一面通過,等了兩個小時面試二面,然後通知我回去等消息,一般這樣就是掛掉了,毫無疑問。美團是一次性全部面完的。所以去參加最好做好面試四個小時的打算。
先來聊聊一面吧~哈哈
一面
1.簡單的自我介紹,與大體的了解我。。。
一面面試官非常不錯,先問了下幾個項目和用到的技術,會先對我懂的東西做一個大體的了解,比如webpack的單頁面的多頁面切換,webpack的按需載入,一些webpack的配置有哪些,問了有沒有看vue源碼,我說了一個vue的watch,大體問了問我框架方面的東西,發現我對框架並不是很熟練,安慰我說沒有關系。
2.promise的原理
這個面試官最讓人欣賞的就是不會去問你不了解的東西,一開問了我promise,發現我用的並不是很多,就很自然的說沒事,換一種方法問你~~~好和藹啊~
然後就讓我用原生js寫一個回調函數,其實就是問promise的原理了,js寫一個。
3.this指向
這個是面試官手寫了一道變態長以及繞的this指向題,可以自行網路js this指向面試題,看幾道沒有啥問題,需要關注的是其中也考了,argument,和apply(null)。以後想起來再寫吧
4.bind與函數柯里化
也就是寫個bind,這個紅皮書高級函數(22章)有,
可以看下。不過還是得先理解bind的用法,返回一個函數,以及可以傳遞的參數。參數這里涉及到了函數柯里化。都是手寫代碼,而且最好寫的整潔,因為我有些一筆帶過,面試官都讓我寫完整,明確說要看我寫代碼水平
5.==, isNaN, typeof
問這個之前先問了我有幾種數據類型(七種,下圖再加symbol),這里隱形的看你知不知道es6,symbol這個新出的類型。說出了symbol自然會問你這個類型有什麼用。
然後就寫了好多個typeof,isNaN,==的問輸出,這個就是基礎題
6.知道什麼http請求頭?
這個可以說的很多,說了幾個,又主動說了下有關跨域請求頭,之前項目用的cors,於是和他聊了一會,其實面試就是主動表現自己,把自己知道的都說出來,不然幾個請求頭說細不細,要問細了能把人問蒙了,最好把話題引到自己知道的地方。
7.問了css
問了css盒子並畫出來,清除浮動與bfc,兩列布局。
8.說了一大堆其實就是想考我防抖
面試完這個問我想問的問題,我直接問還有二面么?回答有的,又介紹了一會美團打車,說是後台是node,看來要求是前端也要有後台的知識嘍。
二面
二面的是我的學長,可是我被問慘了。。。。問的顯然比一面深入很多,都問了java
1.自我介紹,問項目
針對項目問了不少,當時有一個支付行為的項目,於是問了很多安全方面的問題,蒙蒙的,完全不知道。第一個就很失敗了。然後問了其他的項目,問了websocket。
2.node的EventEmitter用js實現出來
寫出來了,但是可以看出來代碼寫的不規范,學長面試官表示看起來很亂。不過大約算是可以的,指出了幾個問題,讓我進行修改。(之後完善)
3.虛擬dom
其實vue中就有jsx,react的特點之一有jsx,虛擬dom和代碼優化有點關系。
先說下正常對dom的操作,在瀏覽器中分為渲染引擎和js引擎,現在瀏覽器內核一般都是渲染引擎(生成渲染樹),因為js引擎越來越獨立了(所謂的v8引擎?)
然而你在js中獲取dom元素的時候你必須要通過渲染引擎,這樣兩個線程之間的數據交換自然會很慢。所以在前端優化中總是要考慮減少dom操作這一項。包括獲取dom元素變數儲存起來。
jsx是把dom元素變成了儲存在內存中的數據結構。js很快,操作dom也很快。不過也存在缺點,目前的理解就這么點了。
4.路由的實現原理
餓,不知道。。(待會看!)
5.node文件流,java的映射機制(記不太清楚)?
餓。。
6.數組方法map和recer區別?
餓
7.進程與線程的區別
終於有個我會的了,這個顯然想問你js的運行機制。先介紹了下進程與線程。
一個瀏覽器是一個進程,雖然js是單線程的,但是瀏覽器是多線程的,v8引擎也是多線程的,比如有渲染線程,有處理請求的線程。然後說說任務隊列,eventloop。沒有理解很深也不敢往下說。
事件循環可以看下這個,鏈接
8.樹遍歷
先序,中序,後序。我只知道這么多了,顯然想讓我寫一個的,可是不會。也顯然面試官內心已經把我pass掉了,沒多問。
9.問了個演算法
KMP??反正我不知道。
⑶ 前端面試會問什麼問題
面試就像相親,一看緣分,二看眼緣,三看是否能滿足雙方的要求。
推薦閱讀前端開發面試經 ,從面試官角度談面試。
⑷ web前端初級面試要求
想要通過前端面試順利進入一線大廠成就高薪前端夢。那麼首先,我們得知道前端面試中,社招和校招究竟有啥區別?
對於前端開發來說,如果說社招更看重對前端技術體系的深入理解,以及解決問題的能力話,那校招更看重的其實是基本功和學習能力(或者說是潛力)。
但其實,無論是社招還是校招,面試的時候都會問到一些曾經操作過的項目,尤其是大廠,或者熱門高薪部門,面試官除必問的技術經驗外,也會對技術深度進行一個基礎的考核,那在這種情況下如何hold住大廠面試呢?
前端面試三要素:簡歷、個人介紹、技術能力。下面,就來分別聊一聊。
1、簡歷篩選關:
HR一般會去看簡歷中所提的技術棧是否匹配,怎麼看呢?我們可以抓住簡歷中的技術名詞,一般來說如果一點技術名詞都沒有提到,那麼大概有以下幾種可能:很水、很牛但概率很小、不會寫簡歷。所以,一部分人可能會因為簡歷的問題沒有了面試機會,這點是需要非常注意的。
2、個人介紹關:
通過了簡歷篩選階段,就真正到了面試環節。這時候一定要准備好一段最多3分鍾的個人介紹。請注意,最多3分鍾!言簡意賅的說明自己的工作時間,擅長技術棧和自己的工作預期。
3、項目經驗表達:
對前端開發學習者而言,JS並不陌生,但大廠的JS面試題卻總是顯得很「陌生」,怎麼樣能夠真正做到深入理解與高級應用?這不僅是面試過程中對前端求職者的要求,也是大多數前端開發者的痛點。
大廠面試中,面試官除了關注你的項目經驗外,還往往喜歡和面試者深入探討前端某些技術領域成體系的前端知識。比如:模塊化、非同步解決方案、網路、框架及原理、線程等,但在與面試官的正面battle中,求職者總會敗下陣來。
所以,建議大家在Web前端面試前一定要注重這三個方面的內容。注重了這些想找找到一份適合的Web前端開發工作並不是難事。
⑸ 前端面試 問什麼問題
web前端面試會問人事方面的內容和web前端技術的內容;
人事的面試
web前端人事面試方面,需要注意如何自我介紹、性格有哪些優劣勢、職業規劃方向是什麼、你的特長是什麼、對於加班之類你是怎麼看待等人事面試內容;
web前端技術的面試
技術面試,需要注意HTML+CSS+JavaScript以及JS主流框架的使用,比如Vue、React等,前端相關技術,比如tcp握手協議、網路安全、後端技術等;
對於web前端面試准備,建議你去看「決勝前端」(min app),它裡麵包含了很多web前端技術面試、人事面試等面試真題,而且針對面試題做了詳細的分析與解答。
我給你截圖看一下例子吧
⑹ web前端面試怎麼介紹
你的筆試題, 根據其做延伸.
你的簡歷, 技術棧、工作外學習情況、項目經驗. 第一頁很重要, 最好都能掌握, 有亮點更好.
面試官額外的延展的知識點, 隨機問,看你運氣和積累(一般會提及到 ES6、解決實際問題的方法、數據結構與演算法都有可能).
刷題, 各種基礎題會幫你快速回憶起來, 比你看書快, 如果基礎不好的話, 看書好好學學吧.
簡歷上自己寫的東西, 要能說出來.
積累, 每次面試不成功就回來填坑吧, 還是有掌握不到位的. 我覺得能堅持下來的話, 找工作只是時間問題.
據公司業務不同, 著重點不一樣, 公司能把你簡歷挑出來, 就說明有用人單位感興趣的部分.
可能你寫的是熟練使用 Vue, 公司也是這個技術棧.
可能你知識寫的全面, 公司想面面你實際掌握怎麼樣.
可能你項目寫的貼合用人單位需要, 比如都是做後台管理的.
封裝過哪些組件?有自己寫過 UI 組件嗎?
什麼是 MVVM , 和 MVC 是什麼區別, 原理是什麼?
父子組件怎麼通信的?
兄弟組件怎麼通信的?
生命周期有哪些, 怎麼用?
Vue 全家桶都用過哪些?具體怎麼用?
盒子模型
如何給未知寬高的圖片垂直居中對齊? 有幾種方法?
移動端的 rem 布局.
前端可以做哪些優化, 或問你 SEO, 基本都問.
清除浮動方式和原理, 基本都問. 幾種方式? 原理? 為什麼要用偽元素? 具體代碼怎麼寫,為什麼這么寫?
清除浮動就會涉及到 BFC 的問題.
給你實際頁面例子, 讓你口述布局或手寫實現細節, 可以使用幾種方法, 怎麼寫兼容性好, 拓展性好.
具體 API 哪個 CSS 版本的?
CSS3 新增了哪些 API?
可能問你哪些 API 是 CSS 哪個版本的? 兼容性怎麼樣.
CSS hack 是什麼? 包含什麼? 怎麼處理兼容性問題?
HTML5 新增了哪些 API? 哪些比較常用? 用來做什麼? 實際怎麼用?
cookie, session, localStrorage, sessionStorage 區別, 具體怎麼用代碼去操作?
變數聲明提升的問題.
閉包的原理, 閉包的各種題, 基本都問.
DOM2 事件流, 冒泡和捕獲問題?
this 指向問題, 一般都是在筆試題里, 拿著問你, 問的比較多.
call 和 apply 區別? 有的還會加問 bind?
面向對象編程中的繼承問題, 原型鏈問題在筆試題里比較常見.
jQuery API , 各種操作 DOM 用法, 還有一些新的 API, 這種在不用 3 大框架的公司會問的很詳細.
可能有些考演算法結構的, 可以了解一下, 一般前端掌握的很少.
Ajax 基本都問, 問的細節可能不同, 比如 get 和 post 有什麼區別?
數組的方法 - es6 以下基本都能熟練使用, 應該會加分不少
字元串的方法 - 拼接, 截取, 帶些正則
數組去重問的挺多的(解法很多, ES6 有很多簡短寫法)
ES6 的 Promise , 很多都會問. 如果公司用框架或者你寫了, 還會問你 Class.
var, let, const區別, 問的多.
棧和隊列結構, 有的會問.
跨域問題: 同源策略, 解決方案, 解決原理(比如 jsonp 的原理), 這里都是高發區.
應對
框架問題: (Vue 舉例, 3框架實質問題差不多, 具體有些差異)
HTML5 + CSS3
JavaScript
⑺ 前端面試一般問什麼
web前端面試會問人事方面的內容和web前端技術的內容;
人事的面試
web前端人事面試方面,需要注意如何自我介紹、性格有哪些優劣勢、職業規劃方向是什麼、你的特長是什麼、對於加班之類你是怎麼看待等人事面試內容;
web前端技術的面試
技術面試,需要注意HTML+CSS+JavaScript以及JS主流框架的使用,比如Vue、React等,前端相關技術,比如tcp握手協議、網路安全、後端技術等;
對於web前端面試准備,建議你去看「決勝前端」(min app),它裡麵包含了很多web前端技術面試、人事面試等面試真題,而且針對面試題做了詳細的分析與解答。
我給你截圖看一下例子吧
⑻ 前端面試問題
大數據(big data),指無法在一定時間范圍內用常規軟體工具進行捕捉、管理和處理的數據集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產
大數據技術可以幫助企業准確定位意向客戶;通過數據分析我們可以建立城市規劃、解決醫療發展難題;傳統行業轉型互聯網也可以利用大數據價值。所以大數回據技術被廣泛應用在各行各業,現在越來越多的企業開始重視大數據技術,並招聘大數據人才。
⑼ 前端面試職業規劃怎麼說
一般來說前端的發展有兩個大方向,一是技術,二是管理。走技術方向的話,可以慢慢發展為前端架構師。選擇這條路的小夥伴,對技術有比較高的要求,需要自身不斷學習進步,提高專業水平。走管理方向的小夥伴可以成為前端經理或是高級產品經理。這條路本人覺得也是一條不錯的出路。
在這個高速發展的年代,人人都可以是產品經理。在前端界打滾了這么多年,自然有不少產品的基礎和思想。所以前端轉產品,也是一條相對不會很吃力的路。當然啦自己創業,也是很好的一條發展道路。看自己適合怎麼走就行了,做前端的職業發展再怎麼樣都是很有前途的。
你不要老覺得年紀大了就不能做前端了,也不必認為前端只是青春飯。只要真正掌握了前端的技術,早日規劃自己的職業發展道路,不渾渾噩噩的工作,未來就會一直掌握在自己手中。
以上就是總結的Web前端的職業規劃。對於工作到一定年限的Web前端工程師,是繼續走技術路線,還是轉型走管理路線,沒有好壞之分,只能說每個人的職業規劃方向不同。但就架構師和技術經理這兩個角色而言,其實更多隻是職稱不同,工作內容是相似的。希望本篇文章能夠對正准備從事Web前端開發的小夥伴們有所幫助。