當前位置:首頁 » 網頁前端 » 預處理的前端面試
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

預處理的前端面試

發布時間: 2023-03-12 17:08:57

1. 前端面試的H5問題有哪些

前端面試的H5問題匯總:
1.HTML5 為什麼只需要寫 <!DOCTYPE HTML>?
答案解析:
HTML5不基於SGML,因此不需要對DTD進行引用,但是需要DOCTYPE來規范瀏覽器的行為(讓瀏覽器按照他們應該的方式來運行)而HTML4.01基於SGML,所以需要對DTD進行引用,才能告知瀏覽器文檔所使用的文檔類型。
2、行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?
答案解析:
行內元素:a b span img input select strong
塊級元素:div ul ol li dl dt dd h1 h2 h3 h4 p 等
空元素:<br> <hr> <img> <link> <meta>

3、頁面導入樣式時,使用link和@import有什麼區別?
答案解析:
1)link屬於XHTML標簽,而@import是css提供的;
2)頁面被載入時,link會同時被載入,而@import引用的css會等到頁面被載入完再載入;
3)@import只在IE5以上才能識別,而link是XHTML標簽,無兼容問題;
4)link方式的樣式的權重高於@import的權重。

4、html5有哪些新特性、移除了那些元素?如何處理HTML5新標簽的瀏覽器兼容問題?
答案解析:
新特性,新增元素:
1)內容元素:article、footer、header、nav、section
2)表單控制項:calendar、date、time、email、url、search
3)控制項元素:webworker,websockt,Geolocation
移除元素:
1)顯現層元素:basefont,big,center,font,s,strike,tt,u
2)性能較差元素:frame,frameset,noframes
處理兼容問題有兩種方式:
1)IE6/IE7/IE8支持通過document方法產生的標簽,利用這一特性讓這些瀏覽器支持HTML5新標簽。
2)使用是html5shim框架
另外,DOCTYPE聲明的方式是區分HTML和HTML5標志的一個重要因素,此外,還可以根據新增的結構,功能元素來加以區分。

5、如何區分 HTML 和 HTML5?
答案解析:
1)在文檔類型聲明上不同:
HTML是很長的一段代碼,很難記住,而HTML5卻只有簡簡單單的聲明,方便記憶。
2)在結構語義上不同:
HTML:沒有體現結構語義化的標簽,通常都是這樣來命名的<div id="header"></div>,這樣表示網站的頭部。
HTML5:在語義上卻有很大的優勢。提供了一些新的標簽,比如:<header><article><footer>

6、簡述一下你對HTML語義化的理解?
答案解析:
1)用正確的標簽做正確的事情;
2)html語義化讓頁面的內容結構化,結構更清晰,便於對瀏覽器、搜索引擎解析;
3)即使在沒有樣式css情況下也以一種文檔格式顯示,並且是容易閱讀的;
4)搜索引擎的爬蟲也依賴於HTML標記來確定上下文和各個關鍵字的權重,利於SEO;
5)使於都源代碼的人對網站更容易將網站分塊,便於閱讀維護理解。

7、HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
答案解析:
localStorage 長期存儲數據,瀏覽器關閉後數據不丟失;
sessionStorage 數據在瀏覽器關閉後自動刪除。

8、iframe有那些缺點?
答案解析:
1)在網頁中使用框架結構最大的弊病是搜索引擎的「蜘蛛」程序無法解讀這種頁面;
2)框架結構有時會讓人感到迷惑,頁面很混亂;

9、Doctype作用? 嚴格模式與混雜模式如何區分?它們有何意義?
答案解析:
1)<!Doctype>聲明位於文檔中的最前面,處於<html>標簽之前。告知瀏覽器的解析器,用什麼文檔類型規范來解析這個文檔。
2)嚴格模式的排版和JS運作模式是以該瀏覽器支持的最高標准運行。
3)在混雜模式中,頁面以寬松的向後兼容的方式顯示。模擬老式瀏覽器的行為以防止站點無法工作。
4)DOCTYPE不存在或格式不正確會導致文檔以混雜模式呈現。

10、常見兼容性問題?
1)png24位的圖片在IE6瀏覽器上出現背景;
解決方案是:做成PNG8;
2)瀏覽器默認的 margin 和 padding 不同。
解決方案是:加一個全局的*{margin:0;padding:0;}來統一。
3)IE6雙邊距bug:塊屬性標簽float後,又有橫行的 margin 情況下,在 IE6 顯示 margin 比設置的大。浮動IE產生的雙倍距離 #box{float:left;width:10px;margin:0 0 0 100px;} 這種情況下IE6會產生200px的距離。
解決方法:加上_display:inline,使浮動忽略
4)IE下,可以使用獲取常規屬性的方法來獲取自定義屬性,也可以使用getAttribute()獲取自定義屬性; Firefox下,只能使用getAttribute()獲取自定義屬性。
解決方法:統一通過getAttribute()獲取自定義屬性。
5)IE下,even對象有x,y屬性,但是沒有pageX,pageY屬性,但是沒有x,y屬性;
解決方法:(條件注釋)缺點是在IE瀏覽器下可能會增加額外的HTTP請求數。
6)Chrome中文界面下默認會將小於 12px 的文本強制按照 12px 顯示
解決方法:可通過加入 CSS 屬性 -webkt-text-size-adjust:none;解決
7)超鏈接訪問過後 hover 樣式就不出現了,被點擊訪問過的超鏈接樣式不在具有 hover 和 active ;
解決方法:改變CSS屬性的排列順序:L-V-H-A: a:link{ } a:visited{ } a:hover{ } a:active{ }

11、如何實現瀏覽器內多個標簽頁之間的通信?
答案解析:
調用localstorge、cookies等本地存儲方式

12、webSocket如何兼容低瀏覽器?
答案解析:
Adobe Flash Socket 、 ActiveX HTMLFile (IE) 、 基於 multipart 編碼發送 XHR 、 基於長輪詢的 XHR

13、支持HTML5新標簽
答案解析:
1)IE8/IE7/IE6支持通過 document.createElement 方法產生的標簽,可以利用這一特性讓這些瀏覽器支持 HTML5 新標簽,瀏覽器支持新標簽後,還需要添加標簽默認的樣式;
2)當然最好的方式是直接使用成熟的框架、使用最多的是 html5shim 框架
<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->

14、如何區分:DOCTYPE 聲明\新增的結構元素\功能元素,語義化的理解?
答案解析:
1)用正確的標簽做正確的事情;
2)html語義化就是讓頁面的內容結構化,便於對瀏覽器、搜索引擎解析;
3)在沒有樣式 CSS 情況下也以一種文檔格式顯示,並且是容易閱讀的;
4)搜索引擎的爬蟲依賴於標記來確定上下文和各個關鍵字的權重,利用 SEO ;
5)使閱讀源代碼的人對網站更容易將網站分塊,便於閱讀維護理解。

15、介紹一下 CSS 的盒子模型?
答案解析:
1)有兩種,IE 盒子模型、標准 W3C 盒子模型; IE 的 content 部分包含了 border 和 padding;
2)盒模型:內容(content)、填充(padding)、邊界(margin)、邊框(border)。

16、CSS 選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算? CSS3 新增偽類有哪些?
答案解析:
1)id 選擇器(#myid)
2)類選擇器(.myclassname)
3)標簽選擇器(div,h1,p)
4)相鄰選擇器(h1 + p)
5)子選擇器(ul > li)
6)後代選擇器(li a)
7)通配符選擇器(* )
8)屬性選擇器( a[rel = "external"])
9)偽類選擇器(a: hover, li: nth - child)

17、可繼承的樣式: font-size font-family color, UL LI DL DD DT

18、不可繼承的樣式:border padding margin width height

19、優先順序就近原則,同權重情況下樣式定義最近者為准

20、載入樣式以最後載入的定位為准;
解析答案:優先順序為: !important > id > class > tag ; important 比 內聯優先順序高

21、CSS3新增偽類舉例:
答案解析:
p:first-of-type 選擇屬於其父元素的首個 <p> 元素的每個 <p> 元素;
p:last-of-type 選擇屬於其父元素的最後 <p> 元素的每個 <p> 元素;
p:only-of-type 選擇屬於其父元素唯一的 <p> 元素的每個 <p> 元素;
p:only-child 選擇屬於其父元素的唯一子元素的每個 <p> 元素;
p:nth-child(2) 選擇屬於其父元素的第二個子元素的每個 <p> 元素;
:enabled :disabled 控製表單控制項的禁用狀態;
:checked 單選框或復選框被選中。

22、如何居中div? 如何居中一個浮動元素?
答案解析:
給div 設置一個寬度,然後添加 margin:0 auto 屬性;div{width:200px; margin:0 auto; }

23、居中一個浮動元素
答案解析:
確定容器的寬高 寬500 高300的層,設置層的外邊距
.div{width:500px;height:300px;margin:-150px 0 0 -250px;position:relative;background:green;left:50%;頭:50%}

24、css3有哪些新特性?
答案解析:
CSS3 實現圓角(border-radius:8px;),陰影(box-shadow:10px),對文字加特效(text-shadow),線性漸變(gradient),旋轉(transform)
transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);//旋轉,縮放,定位,傾斜
增加了更多的 css 選擇器 多背景 rgba

25、為什麼要初始化 CSS 樣式
答案解析:
因為瀏覽器的兼容問題,不同瀏覽器對有些標簽的默認值是不同的,如果沒對 CSS 初始化往往會出現瀏覽器之間的頁面顯示差異。
當然,初始化樣式會對 SEO 有一定的影響,但魚和熊掌不可兼得,但力求影響最小的情況下初始化。
最簡單的初始化方法是:*{padding:0;margin:0} (不建議)
淘寶的樣式初始化:
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input,
textarea, th, td { margin:0; padding:0; }
body, button, input, select, textarea { font:12px/1.5tahoma, arial, \5b8b\4f53; }
h1, h2, h3, h4, h5, h6{ font-size:100%; }
address, cite, dfn, em, var { font-style:normal; }
code, kbd, pre, samp { font-family:couriernew, courier, monospace; }
small{ font-size:12px; }
ul, ol { list-style:none; }
a { text-decoration:none; }
a:hover { text-decoration:underline; }
sup { vertical-align:text-top; }
sub{ vertical-align:text-bottom; }
legend { color:#000; }
fieldset, img { border:0; }
button, input, select, textarea { font-size:100%; } table { border-collapse:collapse; border-spacing:0; }

26、display:inline-block 什麼時候會顯示間隙?
答案解析:
移除空格,使用margin 負值、使用 font-size:0、letter-spacing 、word-spacing

27、使用 CSS 預處理器嗎?喜歡哪個?
答案解析:SASS
28、什麼是盒子模型?
答案解析:
在網頁中,一個元素佔有空間的大小由幾個部分構成,其中包括元素的內容(content),元素的內邊距(padding),元素的邊框(border),元素的外邊距(margin)四個部分。這四個部分佔有的空間中,有的部分可以顯示相應的內容,而有的部分只用來分隔相鄰的區域或區域。4個部分一起構成了css中元素的盒模型。
29、CSS實現垂直水平居中
答案解析:
一道經典的問題,實現方法有很多種,以下是其中一種實現:
HTML結構:
<divclass="wrapper">
<divclass="content"></div>
</div>
CSS:
.wrapper{position:relative;}
.content{
background-color:#6699FF;
width:200px;
height:200px;
position:absolute; //父元素需要相對定位
top:50%;
left:50%;
margin-top:-100px; //二分之一的height,width
margin-left:
-100px;
}
30、簡述一下src與href的區別
答案解析:
href 是指向網路資源所在位置,建立和當前元素(錨點)或當前文檔(鏈接)之間的鏈接,用於超鏈接。
src是指向外部資源的位置,指向的內容將會嵌入到文檔中當前標簽所在位置;在請求src資源時會將其指向的資源下載並應用到文檔內,例如js腳本,img圖片和frame等元素。當瀏覽器解析到該元素時,會暫停其他資源的下載和處理,直到將該資源載入、編譯、執行完畢,圖片和框架等元素也如此,類似於將所指向資源嵌入當前標簽內。這也是為什麼將js腳本放在底部而不是頭部。
31、簡述同步和非同步的區別
答案解析:
同步是阻塞模式,非同步是非阻塞模式。
同步就是指一個進程在執行某個請求的時候,若該請求需要一段時間才能返回信息,那麼這個進程將會一直等待下去,直到收到返回信息才繼續執行下去;
非同步是指進程不需要一直等下去,而是繼續執行下面的操作,不管其他進程的狀態。當有消息返回時系統會通知進程進行處理,這樣可以提高執行的效率。
32、px和em的區別
答案解析:
px和em都是長度單位,區別是,px的值是固定的,指定是多少就是多少,計算比較容易。em得值不是固定的,並且em會繼承父級元素的字體大小。
瀏覽器的默認字體高都是16px。所以未經調整的瀏覽器都符合: 1em=16px。那麼12px=0.75em, 10px=0.625em
33、瀏覽器的內核分別是什麼?

答案解析:
IE: trident內核
Firefox:gecko內核
Safari:webkit內核
Opera:以前是presto內核,Opera現已改用Google Chrome的Blink內核
Chrome:Blink(基於webkit,Google與Opera Software共同開發)

2. 前端小知識點(從一名小白到前端大神需要掌握哪些知識點)

1.從一名小白到前端大神需要掌握哪些知識點
要想被稱為前端大神要掌握的知識點還是有點多的,以我在源碼時代培訓過的經驗來看,要想成為頂尖的前端大神,以下知識點你至少是應該要掌握的:「JavaScript基礎、HTML入門基本內容,CSS+DIV的基礎知識,選擇器,盒子模型,網頁布局,Photoshop,JavaScript高級編程,jQuery插件開發,模塊化組件開,AJAX,HTML5,CSS3,響應式原理及布局,Bootstrap,前端依賴管理,CSS預處理語言(Less+Sass),Grunt/Gulp自動化構建工具Express(Node.js),MongoDB,ElementUIl,MVC、MVVM架構模式,VUE2,Webpack模塊載入器&打包工具,React,Angular4,React Native」是不是感覺很多?覺得多就對了,只有對上述內容做到系數掌握,你才有資格被稱之為「前端大神」。
2.學習前端HTML5需要了解哪些知識點
Stylus/Less實現CSS預編譯

Express實現伺服器端搭建

Nginx實現伺服器反向代理

ngrok實現內網穿透

sha1、MD5實現加密隱私數據

Monggose實現mongoDB資料庫操作

Echarts實現數據可視化

Mock、json-server實現模擬數據

Nodejs實現前後端完全分離

WebSocket實現實時通信

企業級UI設計圖實現頁面布局

BootStrap實現響應式頁面

原生JavaScript實現小游戲開發

原生Ajax實現前後端通信

JSONP,CORS實現解決跨域

Animation實現動畫

Canvas實現氣泡, 鍾表功能

jQuery實現備忘錄項目

ArtTemplate實現模板頁面復用

Viewport + Rem實現移動端適配

ViewPort實現1物理像素問題

原生JavaScript實現無縫滑屏

zepto實現移動端滑屏

Stylus/Less實現CSS預編譯

Express實現伺服器端搭建

Nginx實現伺服器反向代理

ngrok實現內網穿透
3.網站前端開發都需要掌握哪些知識
CSS和HTML、JavaScript這是前端學習的三個語言,其中HTML是自簡單,設計到代碼多的就是CSS、JavaScript,入,門簡單,達到初級前端水平很容易。

但是精通各種框架需要一定學習實踐1、CSS和HTML剛入門的朋友,應該把重點放在 CSS和HTML基礎知識的學習上。關於 CSS(3) 你需要了解以下一些知識點:web標准、HTML相關概念、HTML標簽、路徑相關概念、錨點及其他、表格標簽、表單標簽、綜合案例,注冊頁面、CSS選擇、CSS字體樣、CSS外觀屬性、調式、CSS復合選擇器、標簽顯示模式、CSS背景、CSS三大特性等等。

總的來講,CSS和HTML的學習還是比較簡單的。2、JavaScriptJavaScript一直都是前端工程師進步的基石, JavaScript 的理解深度決定了前端開發者的職業發展。

關於JavaScript的學習內容包括了瀏覽器執行JS過程、JS變數、數據類型、運算符、流程式控制制語句(if else 、三元表達式、switch)、循環(for、while、do while)、數組、冒泡排序、函數、作用域、預解析、對象、內置對象、簡單類型和復雜類型等。只有在熟悉了JavaScript基礎語法的基礎上,我們才能繼續深入學習前端技術。

前端需要掌握這些基本技能精通html,能夠書寫語意合理,結構清晰,易維護的html結構;精通css,能夠還原視覺設計,並兼容業界承認的主瀏覽器;熟悉javascript,了解ECMAscript基礎內容,掌握至少兩種js框架隨著web前端技術不斷發展,web前端的崗位越來越多了,技術方向也有好多種,。web前端有廣闊的發展空間,app、小程序、移動端、pc端等都是需要前端技術的開發支持才能夠完成,技術門檻相對較低、需求量較大,薪資待遇良好。

只要是互聯網端的客戶界面,就需要前端來製作完成,前端開發的編程量不大,但是需要部分編程,入門簡單,但是要學的深入需要一個過程。Web前端招聘崗位• 前端開發工程師、Web開發工程師、網頁開發工程師、HTML開發工程師。

• H5開發工程師、移動應用開發工程師、App開發工程師、小程序開發工程師。• JS開發工程師、Vue.js開發工程師、Node.js開發工程師、前端架構師。

• 小游戲開發工程師、數據可視化開發工程師、WebGL開發工程師、WebVR開 發工程師、Web安全工程師。在互聯網行業,前端有WEB前端、HTML前端等,隨著互聯網技術發展,就業方向也有很多。

web前端的就業方向有web架構師、web前端工程師、HTML前端開發工程師、網頁設計師等等。HTML前端開發與Web前端開發不同的是,使用HTML5不僅僅可以開發前端,還有網頁游戲,手機APP,使用瀏覽器進行3D渲染等一系列建立在HTML5標准與搭載其標准瀏覽器上的開發,而未來可能會有更多的功能分支並入HTML5標准。

web前端工程師這個方向是目前從事Web前端開發的主要就業方向Web架構師薪資普遍比較高,技術要求高,掌握多種技能,包括:後端技術、DBA、Platform等等,甚至包括網站優化SEO技術。數據方向數據研發這個是在Web開發的基礎上用數據附能,懂可視化的一定是有前端能力的,懂hadoop的一定java要熟悉,屬於Web開發的拓展方向。

大前端方向比如阿里,在大量實踐rn和weex;由於公司內部安卓/ios式微,一定程度上,前端把ios和安卓收編了,統稱大前端。圖形學方向前端自然是與圖形學有千絲萬縷的聯系,除了上面提到了可視化,還有相關3d引擎的開發工作。

做這一行要求也非常高了,圖形學相關的演算法,3d引擎的開發,這都需要圖形學相關知識。
4.學HTML5,你需要掌握這幾個知識點
Html5開發可謂是這幾年來特別「受寵」的軟體開發了,html5不僅入行門檻低、薪資高,發展前景更是可觀,所以得到大家的追捧和青睞也是實至名歸的,那麼想要從事html5開發學習要掌握哪些必備的知識呢?

那麼想要學好html5開發,那麼需要掌握的專業技術有:

第1階段:前端頁面重構:PC端網站布局、HTML5+CSS3基礎項目、WebAPP頁面布局;

第2階段:JavaScript高級程序設計:原生JavaScript交互功能開發、面向對象開發與ES5/ES6、JavaScript工具庫自主研發;

第3階段:PC端全棧項目開發:jQuery經典特效交互開發、HTTP協議,Ajxa進階與後端開發、前端工程化與模塊化應用、PC端網站開發、PC端管理信息系統前端開發;

第4階段:移動端webAPP開發:Touch端項目、微信場景項目、應用Vue.js開發WebApp項目、應用Ionic開發WebApp項目、應用React.js開發WebApp;

第5階段:混合(Hybrid)開發:各類混合應用開發;

第6階段:NodeJS全棧開發:WebApp後端系統開發;

第7階段:大數據可視化:數據可視化入門、D3.jS詳解及項目實戰。

如今移動互聯網發展迅速,技術不斷的更新迭代,所學知識也需與時俱進。現在市場上的主流互聯網網站,需要打造的是一流用戶交互體驗。對於前端開發者的要求,不再是簡單的頁面展示,而是需要全棧式的前端開發工程師。
5.web前端開發需要用到哪些知識
1. HTML5 + CSS3 + JavaScript Web開發基礎中的基礎,HTML是負責網頁結構,CSS負責網頁樣式,JS則負責邏輯交互。

前兩者更像是標記語言,沒有什麼邏輯,JS才是前端的重中之重。 HTML5 新增的技術大部分需要結合JS學習。

每個人學習進度可能不同,這個階段主要是多仿站,熟悉基礎,試試用CSS寫響應式頁面,了解JS深入性的知識,比如原型鏈、閉包、設計模式 等需要更多的積累,逐漸理解並實踐掌握。 2. JQuery + BootStrap + Ajax + Json jQuery是JS的一個應用庫,能夠提升原生JS開發效率。

Bootstrap則是響應式框架,更簡單的實現手機/平板/PC多個設備的頁面支持。Ajax技術用於非同步交互,不刷新頁面就能更新數據,比如 地圖 應用等。

Json是一種數據格式,被廣泛應用在各大編程語言中。 jQuery 和 bootstrap 會簡化很多編寫的代碼量,用著不亦樂乎,但對於基礎還不是很扎實的人建議還是少用。

Ajax 和 json 通常用於和後端交互,在實際業務中也經常用到。 3. Git/SVN 版本管理工具,主要用於團隊開發時避免文件沖突,也可回檔。

前端推薦學習Git。 4. Nodejs + Mysql /MongoDB(可選) 運行在伺服器端的JavaScript。

Express是其拓展MVC框架。其中nodejs最常用到的就是npm包管理器,不用到各個網站去下載資源包。

資料庫 的學習可以選擇MongoDB或者MySQL,前者與Nodejs的契合度更好,不過現在大多數網站都是 PHP +Mysql的組合,如果有學PHP的打算的話,可以先學習 Mysql 。 5. ECMAScript 6 JavaScript 的語言標准。

ES6中加入了很多新的概念,也彌補了之前版本中JS的很多缺陷,越來越多的項目開始運用ES6進行開發。學之前最好把ES5先搞懂了,目前實際項目中考慮到兼容性,ES6是需要通過Babel將其編譯為ES5來部署的。

6. Angular/React/Vue 前端三大框架,各自也有著各自的生態系統,根據需求自行選擇學習。目前企業需求量最大的仍然是Angular,但近期趨勢來看react和vue則更受歡迎。

因為現在前端技術發展太過於突飛猛進,工具和框架的更新比翻書還快,建議學習還是看文檔比較好。學習過程中也會遇到很多用到各種構建工具的時候。

7. 其他常用工具 這個一樣是根據需求自行選擇學習。比較常用的現在有 Web pack,可以將多個不同編程風格的文件打包,比如ES6/AMD/CMD之類的模塊化都能識別並編譯成 瀏覽器 能運行的文件。

Sass/Less,CSS預編譯框架,可以用帶有邏輯性的方式編寫CSS代碼。Gulp/Grunt構建工具,可以自動化對代碼進行壓縮合並等工作。

8. 其他後端編程語言 目前市場對前端基本都要求會一門後端語言, PHP / JAVA / Nodejs / Python 等。
6.前端這么多知識點該怎麼記憶
前端涉及到的知識確實是比較廣的,先要理清一定的框架,然後有條理的進行學習才能事位功半,這里我有一份知識體系給你了解一下

如果你有毅力可以堅持下去就自己好好的自學,但如果覺得效率不是很好條件允許的話也可以考慮參加系統的培訓,雖然要花錢但可以省不少的時間,自己權衡。

3. 如何面試前端工程師

隨著時代的發展,很多新興的就業職位隨之產生。前端工程師將就是隨著互聯網的快速發展而產生的。其實在很多人的觀念里,前端工程師也就是一個切頁面的而已,他們也就是會html、css、javascript這些沒有任何技術含量的網頁製作而已。然而隨著技術飛速發展,人們對這些技術的要求也是越來越高,如果只憑著一個人來把所有的事情都解決是很困難的,所以這個時候前端工程師就開始發揮著他們很大的作用了。

那我們應該如何來面試前端工程師呢?

  • 談吐要大方得體

在我們在面對面試官時我們千萬不要緊張。在進行自我介紹時我們要努力做到自信大方、吐字清晰。我們在自我介紹時要用簡明扼要的話語來介紹自己,突出自己的優點表明自己的求職意向。你要通過寥寥數語把自己的優勢都向面試官介紹清楚。記住不必要的話語要少說。

好了關於如何面試前端工程師這個話題我就聊到這了。希望我的回答能對你有所幫助。

4. web前端開發簡歷的技能怎麼寫

  1. 熟練使用 HTML5 + Css3 及其新特性;

  2. 熟練使用 JavaScript 及 ES6 新特性;

  3. 熟練使用 Vue(vue-cli、vuex、vue-router、axios)等主流技術進行項目開發並對node.js有相應的了解;

  4. 了解使用過的常用 UI框架:Bootstrap、vant;

  5. 了解 webpack 打包工具,熟練使用git代碼託管工具;

  6. 了解 Less預處理語言;

  7. 了解 微信小程序 開發流程

這是我的,你可以參考參考

5. 前端項目被問到都用了哪些技術站該怎麼回答

IT術語。
前端技術棧有:1、HTTP協議;2、編輯器;3、框架類型;4、跨域技術;5、推送技術;6、數據可視化;7、CSS預處理器;8、UI框架;9、非同步編程等等。
熟練使用Vue、React、Angular等相關技術棧,對原理有自己的理解。深刻理解Web標准,對可用性、可訪問性等相關知識有實際的了解。

6. web前端開發需要用到哪些知識

前端前景是很不錯的,像前端這樣的專業還是一線城市比較好,師資力量跟得上、就業的薪資也是可觀的,學習前端可以按照路線圖的順序,

0基礎學習前端是沒有問題的,關鍵是找到靠譜的前端培訓機構,你可以深度了解機構的口碑情況,問問周圍知道這家機構的人,除了口碑再了解機構的以下幾方面:

1. 師資力量雄厚

要想有1+1>2的實際效果,很關鍵的一點是師資隊伍,你接下來無論是找個工作還是工作中出任哪些的人物角色,都越來越愛你本身的技術專業前端技術性,也許的技術專業前端技術性則絕大多數來自你的技術專業前端教師,一個好的前端培訓機構必須具備雄厚的師資力量。

2. 就業保障完善

實現1+1>2效果的關鍵在於能夠為你提供良好的發展平台,即能夠為你提供良好的就業保障,讓學員能夠學到實在實在的知識,並向前端學員提供一對一的就業指導,確保學員找到自己的心理工作。

3. 學費性價比高

一個好的前端培訓機構肯定能給你帶來1+1>2的效果,如果你在一個由專業的前端教師領導並由前端培訓機構自己提供的平台上工作,你將獲得比以往更多的投資。

希望你早日學有所成。

7. Web前端崗位面試題有哪些

前端面試題匯總,多餘的就不說先做會這些東西吧

HTML

Doctype作用?嚴格模式與混雜模式如何區分?它們有何意義?

HTML5 為什麼只需要寫 <!DOCTYPE HTML>?
行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?
頁面導入樣式時,使用link和@import有什麼區別?
介紹一下你對瀏覽器內核的理解?
常見的瀏覽器內核有哪些?
html5有哪些新特性、移除了那些元素?如何處理HTML5新標簽的瀏覽器兼容問題?如何區分 HTML 和 HTML5?
簡述一下你對HTML語義化的理解?
HTML5的離線儲存怎麼使用,工作原理能不能解釋一下?
瀏覽器是怎麼對HTML5的離線儲存資源進行管理和載入的呢?
請描述一下 cookies,sessionStorage 和 localStorage 的區別?
iframe有那些缺點?
Label的作用是什麼?是怎麼用的?(加 for 或 包裹)
HTML5的form如何關閉自動完成功能?
如何實現瀏覽器內多個標簽頁之間的通信? (阿里)
webSocket如何兼容低瀏覽器?(阿里)
頁面可見性(Page Visibility)API 可以有哪些用途?
如何在頁面上實現一個圓形的可點擊區域?
實現不使用 border 畫出1px高的線,在不同瀏覽器的Quirksmode和CSSCompat模式下都能保持同一效果。
網頁驗證碼是幹嘛的,是為了解決什麼安全問題?
tite與h1的區別、b與strong的區別、i與em的區別?

css

介紹一下標準的CSS的盒子模型?與低版本IE的盒子模型有什麼不同的?
CSS選擇符有哪些?哪些屬性可以繼承?
CSS優先順序演算法如何計算?
CSS3新增偽類有那些?
如何居中div?如何居中一個浮動元素?如何讓絕對定位的div居中?
display有哪些值?說明他們的作用。
position的值relative和absolute定位原點是?
CSS3有哪些新特性?
請解釋一下CSS3的Flexbox(彈性盒布局模型),以及適用場景?
用純CSS創建一個三角形的原理是什麼?
一個滿屏 品 字布局 如何設計?
常見兼容性問題?
li與li之間有看不見的空白間隔是什麼原因引起的?有什麼解決辦法?
經常遇到的瀏覽器的兼容性有哪些?原因,解決方法是什麼,常用hack的技巧 ?
為什麼要初始化CSS樣式。
absolute的containing block計算方式跟正常流有什麼不同?
CSS里的visibility屬性有個collapse屬性值是幹嘛用的?在不同瀏覽器下以後什麼區別?
position跟display、margin collapse、overflow、float這些特性相互疊加後會怎麼樣?
對BFC規范(塊級格式化上下文:block formatting context)的理解?
CSS權重優先順序是如何計算的?
請解釋一下為什麼會出現浮動和什麼時候需要清除浮動?清除浮動的方式
移動端的布局用過媒體查詢嗎?
使用 CSS 預處理器嗎?喜歡那個?
CSS優化、提高性能的方法有哪些?
瀏覽器是怎樣解析CSS選擇器的?
在網頁中的應該使用奇數還是偶數的字體?為什麼呢?
margin和padding分別適合什麼場景使用?
抽離樣式模塊怎麼寫,說出思路,有無實踐經驗?[阿里航旅的面試題]
元素豎向的百分比設定是相對於容器的高度嗎?
全屏滾動的原理是什麼?用到了CSS的那些屬性?
什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?
視差滾動效果,如何給每頁做不同的動畫?(回到頂部,向下滑動要再次出現,和只出現一次分別怎麼做?)
::before 和 :after中雙冒號和單冒號 有什麼區別?解釋一下這2個偽元素的作用。
如何修改chrome記住密碼後自動填充表單的黃色背景 ?
你對line-height是如何理解的?
設置元素浮動後,該元素的display值是多少?(自動變成display:block)
怎麼讓Chrome支持小於12px 的文字?
讓頁面里的字體變清晰,變細用CSS怎麼做?(-webkit-font-smoothing: antialiased;)
font-style屬性可以讓它賦值為「oblique」 oblique是什麼意思?
position:fixed;在android下無效怎麼處理?
如果需要手動寫動畫,你認為最小時間間隔是多久,為什麼?(阿里)
display:inline-block 什麼時候會顯示間隙?(攜程)
overflow: scroll時不能平滑滾動的問題怎麼處理?
有一個高度自適應的div,裡面有兩個div,一個高度100px,希望另一個填滿剩下的高度。
png、jpg、gif 這些圖片格式解釋一下,分別什麼時候用。有沒有了解過webp?
什麼是Cookie 隔離?(或者說:請求資源的時候不要讓它帶cookie怎麼做)
style標簽寫在body後與body前有什麼區別?

JavaScript

介紹JavaScript的基本數據類型。
說說寫JavaScript的基本規范?
JavaScript原型,原型鏈 ? 有什麼特點?
JavaScript有幾種類型的值?(堆:原始數據類型和 棧:引用數據類型),你能畫一下他們的內存圖嗎?
Javascript如何實現繼承?
Javascript創建對象的幾種方式?
Javascript作用鏈域?
談談This對象的理解。
eval是做什麼的?
什麼是window對象? 什麼是document對象?
null,undefined的區別?
寫一個通用的事件偵聽器函數(機試題)。
[「1」, 「2」, 「3」].map(parseInt) 答案是多少?
關於事件,IE與火狐的事件機制有什麼區別? 如何阻止冒泡?
什麼是閉包(closure),為什麼要用它?
javascript 代碼中的」use strict」;是什麼意思 ? 使用它區別是什麼?
如何判斷一個對象是否屬於某個類?
new操作符具體幹了什麼呢?
用原生JavaScript的實現過什麼功能嗎?
Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?
對JSON的了解?
[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) }) 能解釋一下這段代碼的意思嗎?
js延遲載入的方式有哪些?
Ajax 是什麼? 如何創建一個Ajax?
同步和非同步的區別?
如何解決跨域問題?
頁面編碼和被請求的資源編碼如果不一致如何處理?
模塊化開發怎麼做?
AMD(Moles/Asynchronous-Definition)、CMD(Common Mole Definition)規范區別?
requireJS的核心原理是什麼?(如何動態載入的?如何避免多次載入的?如何 緩存的?)
讓你自己設計實現一個requireJS,你會怎麼做?
談一談你對ECMAScript6的了解?
ECMAScript6 怎麼寫class么,為什麼會出現class這種東西?
非同步載入的方式有哪些?
documen.write和 innerHTML的區別?
DOM操作——怎樣添加、移除、移動、復制、創建和查找節點?
.call() 和 .apply() 的含義和區別?
數組和對象有哪些原生方法,列舉一下?
JS 怎麼實現一個類。怎麼實例化這個類
JavaScript中的作用域與變數聲明提升?
如何編寫高性能的Javascript?
那些操作會造成內存泄漏?
JQuery的源碼看過嗎?能不能簡單概況一下它的實現原理?
jQuery.fn的init方法返回的this指的是什麼對象?為什麼要返回this?
jquery中如何將數組轉化為json字元串,然後再轉化回來?
jQuery 的屬性拷貝(extend)的實現原理是什麼,如何實現深拷貝?
jquery.extend 與 jquery.fn.extend的區別?
jQuery 的隊列是如何實現的?隊列可以用在哪些地方?
談一下Jquery中的bind(),live(),delegate(),on()的區別?
JQuery一個對象可以同時綁定多個事件,這是如何實現的?
是否知道自定義事件。jQuery里的fire函數是什麼意思,什麼時候用?
jQuery 是通過哪個方法和 Sizzle 選擇器結合的?(jQuery.fn.find()進入Sizzle)
針對 jQuery性能的優化方法?
Jquery與jQuery UI有啥區別?
JQuery的源碼看過嗎?能不能簡單說一下它的實現原理?
jquery 中如何將數組轉化為json字元串,然後再轉化回來?
jQuery和Zepto的區別?各自的使用場景?
針對 jQuery 的優化方法?
Zepto的點透問題如何解決?
jQueryUI如何自定義組件?
需求:實現一個頁面操作不會整頁刷新的網站,並且能在瀏覽器前進、後退時正確響應。給出你的技術實現方案?
如何判斷當前腳本運行在瀏覽器還是node環境中?(阿里)
移動端最小觸控區域是多大?
jQuery 的 slideUp動畫 ,如果目標元素是被外部事件驅動, 當滑鼠快速地連續觸發外部元素事件, 動畫會滯後的反復執行,該如何處理呢?
把 Script 標簽 放在頁面的最底部的body封閉之前 和封閉之後有什麼區別?瀏覽器會如何解析它們?
移動端的點擊事件的有延遲,時間是多久,為什麼會有? 怎麼解決這個延時?(click 有 300ms 延遲,為了實現safari的雙擊事件的設計,瀏覽器要知道你是不是要雙擊操作。)
知道各種JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能講出他們各自的優點和缺點么?
Underscore 對哪些 JS 原生對象進行了擴展以及提供了哪些好用的函數方法?
解釋JavaScript中的作用域與變數聲明提升?
那些操作會造成內存泄漏?
JQuery一個對象可以同時綁定多個事件,這是如何實現的?
Node.js的適用場景?
(如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
解釋一下 Backbone 的 MVC 實現方式?
什麼是「前端路由」?什麼時候適合使用「前端路由」? 「前端路由」有哪些優點和缺點?
知道什麼是webkit么? 知道怎麼用瀏覽器的各種工具來調試和debug代碼么?
如何測試前端代碼么? 知道BDD, TDD, Unit Test么? 知道怎麼測試你的前端工程么(mocha, sinon, jasmin, qUnit..)?
前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用?
簡述一下 Handlebars 的基本用法?
簡述一下 Handlerbars 的對模板的基本處理流程, 如何編譯的?如何緩存的?
用js實現千位分隔符?(來源:前端農民工,提示:正則+replace)
檢測瀏覽器版本版本有哪些方式?
我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執行幾次事件,然後會先執行冒泡還是捕獲

其他問題

原來公司工作流程是怎麼樣的,如何與其他人協作的?如何誇部門合作的?
你遇到過比較難的技術問題是?你是如何解決的?
設計模式 知道什麼是singleton, factory, strategy, decrator么?
常使用的庫有哪些?常用的前端開發工具?開發過什麼應用或組件?
頁面重構怎麼操作?
列舉IE與其他瀏覽器不一樣的特性?
99%的網站都需要被重構是那本書上寫的?
什麼叫優雅降級和漸進增強?
是否了解公鑰加密和私鑰加密。
WEB應用從伺服器主動推送Data到客戶端有那些方式?
對Node的優點和缺點提出了自己的看法?
你有用過哪些前端性能優化的方法?
http狀態碼有那些?分別代表是什麼意思?
一個頁面從輸入 URL 到頁面載入顯示完成,這個過程中都發生了什麼?(流程說的越詳細越好)
部分地區用戶反應網站很卡,請問有哪些可能性的原因,以及解決方法?
從打開app到刷新出內容,整個過程中都發生了什麼,如果感覺慢,怎麼定位問題,怎麼解決?
除了前端以外還了解什麼其它技術么?你最最厲害的技能是什麼?
你用的得心應手用的熟練地編輯器&開發環境是什麼樣子?
對前端界面工程師這個職位是怎麼樣理解的?它的前景會怎麼樣?
你怎麼看待Web App 、hybrid App、Native App?
你移動端前端開發的理解?(和 Web 前端開發的主要區別是什麼?)
你對加班的看法?
平時如何管理你的項目?
說說最近最流行的一些東西吧?常去哪些網站?
如何設計突發大規模並發架構?
說說最近最流行的一些東西吧?常去哪些網站?
是否了解開源的工具 bower、npm、yeoman、grunt、gulp,一個 npm 的包里的 package.json 具備的必要的欄位都有哪些?(名稱、版本號,依賴)
每個模塊的代碼結構都應該比較簡單,且每個模塊之間的關系也應該非常清晰,隨著功能和迭代次數越來越多,你會如何去保持這個狀態的?
Git知道branch, diff, merge么?
如何設計突發大規模並發架構?
當團隊人手不足,把功能代碼寫完已經需要加班的情況下,你會做前端代碼的測試嗎?
說說最近最流行的一些東西吧?平時常去哪些網站?
知道什麼是SEO並且怎麼優化么? 知道各種meta data的含義么?
移動端(Android IOS)怎麼做好用戶體驗?
簡單描述一下你做過的移動APP項目研發流程?
你在現在的團隊處於什麼樣的角色,起到了什麼明顯的作用?
你認為怎樣才是全端工程師(Full Stack developer)?
介紹一個你最得意的作品吧?
你有自己的技術博客嗎,用了哪些技術?
對前端安全有什麼看法?
是否了解Web注入攻擊,說下原理,最常見的兩種攻擊(XSS 和 CSRF)了解到什麼程度?
項目中遇到國哪些印象深刻的技術難題,具體是什麼問題,怎麼解決?。
最近在學什麼東西?
你的優點是什麼?缺點是什麼?
如何管理前端團隊?
最近在學什麼?能談談你未來3,5年給自己的規劃嗎?