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

前端演算法面試題

發布時間: 2022-01-14 15:10:13

⑴ 有哪些經典的前端開發面試題及答案解析

行元素與塊元素的區別;

如何清除浮動;

定位方式當中,absolute與fixed、relative的區別;

事件的兼容問題;

Ajax是什麼;

如何優化你的頁面;

響應式布局是什麼等等。

經典的前端面試題至少有近百道,在這里也沒辦法全部給你列出來,你可以看看這個(小-程序),裡面有好幾百道面試真題,也有比較好的答案解析。

⑵ BAT 前端工程師面試對演算法一般有怎樣的要求

當我是實習生時,我遇到了BAT三,所以我對演算法沒有要求。當然,實習生的要求也可能比較低。

  • 阿裡面試:

一邊使用電腦直接連接到互聯網看到面試官網站,博客之類的,然後選擇一些問,並幫助考背後的標簽組件的實現和JS類繼承,等等。在第二個方面,我也看到了,GitHub,博客等等。

實際上,在工作的前端使用的演算法並不多,即使像jQuery這樣的公共庫的實現對演算法的應用也不是很好。至於何時使用,請使用NodeJs偶爾編寫自動化工具,前端WebGL矩陣操作,圖像處理,如需要,但我認為這些都超出了一般前端工程師的能力。

⑶ Web前端崗位面試題有哪些

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.行內元素有哪些?塊級元素有哪些?CSS的盒模型?

塊級元素:div p h1 h2 h3 h4 form ul

行內元素: a b br i span input select

Css盒模型:內容,border ,margin,padding

5.CSS引入的方式有哪些? link和@import的區別是?

內聯 內嵌 外鏈 導入

區別 :同時載入

前者無兼容性,後者CSS2.1以下瀏覽器不支持

Link 支持使用javascript改變樣式,後者不可

6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?

標簽選擇符 類選擇符 id選擇符

繼承不如指定 Id>class>標簽選擇

後者優先順序高

7.前端頁面有哪三層構成,分別是什麼?作用是什麼?

結構層 Html 表示層 CSS 行為層 js

8.css的基本語句構成是?

選擇器{屬性1:值1;屬性2:值2;……}

9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?

Ie(Ie內核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

10.寫出幾種IE6 BUG的解決方法

1.雙邊距BUG float引起的 使用display

2.3像素問題 使用float引起的 使用dislpay:inline -3px

3.超鏈接hover 點擊後失效 使用正確的書寫順序 link visited hover active

4.Ie z-index問題 給父級添加position:relative

5.Png 透明 使用js代碼 改

6.Min-height 最小高度 !Important 解決』

7.select 在ie6下遮蓋 使用iframe嵌套

8.為什麼沒有辦法定義1px左右的寬度容器(IE6默認的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)

11.標簽上title與alt屬性的區別是什麼?

Alt 當圖片不顯示是 用文字代表。

Title 為該屬性提供信息

12.描述css reset的作用和用途。

Reset重置瀏覽器的css默認屬性 瀏覽器的品種不同,樣式不同,然後重置,讓他們統一

13.解釋css sprites,如何使用。

Css 精靈 把一堆小的圖片整合到一張大的圖片上,減輕伺服器對圖片的請求數量

14.瀏覽器標准模式和怪異模式之間的區別是什麼?

盒子模型 渲染模式的不同

使用 window.top.document.compatMode 可顯示為什麼模式

15.你如何對網站的文件和資源進行優化?期待的解決方案包括:

文件合並

文件最小化/文件壓縮

使用CDN託管

緩存的使用

16.什麼是語義化的HTML?

直觀的認識標簽 對於搜索引擎的抓取有好處

17.清除浮動的幾種方式,各自的優缺點

1.使用空標簽清除浮動 clear:both(理論上能清楚任何標簽,,,增加無意義的標簽)

2.使用overflow:auto(空標簽元素清除浮動而不得不增加無意代碼的弊端,,使用zoom:1用於兼容IE)

3.是用afert偽元素清除浮動(用於非IE瀏覽器)

Javascript

1.javascript的typeof返回哪些數據類型

Object number function boolean underfind

2.例舉3種強制類型轉換和2種隱式類型轉換?

強制(parseInt,parseFloat,number)

隱式(== – ===)

3.split() join() 的區別

前者是切割成數組的形式,後者是將數組轉換成字元串

4.數組方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部刪除

Unshift()頭部添加 shift()頭部刪除

5.事件綁定和普通事件有什麼區別

6.IE和DOM事件流的區別

1.執行順序不一樣、

2.參數不一樣

3.事件加不加on

4.this指向問題

7.IE和標准下有哪些兼容性的寫法

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

8.ajax請求的時候get 和post方式的區別

一個在url後面 一個放在虛擬載體裡面

有大小限制

安全問題

應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的

9.call和apply的區別

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax請求時,如何解釋json數據

使用eval parse 鑒於安全性考慮 使用parse更靠譜

11.b繼承a的方法

12.寫一個獲取非行間樣式的函數

function getStyle(obj,attr,value)

{

if(!value)

{

if(obj.currentStyle)

{

return obj.currentStyle(attr)

}

else

{

obj.getComputedStyle(attr,false)

}

}

else

{

obj.style[attr]=value

}

}

13.事件委託是什麼

讓利用事件冒泡的原理,讓自己的所觸發的事件,讓他的父元素代替執行!

14.閉包是什麼,有什麼特性,對頁面有什麼影響

閉包就是能夠讀取其他函數內部變數的函數。

15.如何阻止事件冒泡和默認事件

canceBubble return false

16.添加 刪除 替換 插入到某個接點的方法

obj.appendChidl()

obj.innersetBefore

obj.replaceChild

obj.removeChild

17.解釋jsonp的原理,以及為什麼不是真正的ajax

動態創建script標簽,回調函數

Ajax是頁面無刷新請求數據操作

⑷ 誰能給我出一兩道 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前端面試經常問到的面試題有哪些

Web前端經常被問到的面試題及答案

一、HTML+CSS

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.行內元素有哪些?塊級元素有哪些?CSS的盒模型?

塊級元素:div p h1 h2 h3 h4 form ul

行內元素: a b br i span input select

Css盒模型:內容,border ,margin,padding

5.CSS引入的方式有哪些? link和@import的區別是?

內聯 內嵌 外鏈 導入

區別 :同時載入

前者無兼容性,後者CSS2.1以下瀏覽器不支持

Link 支持使用javascript改變樣式,後者不可

6.CSS選擇符有哪些?哪些屬性可以繼承?優先順序演算法如何計算?內聯和important哪個優先順序高?

標簽選擇符 類選擇符 id選擇符

繼承不如指定 Id>class>標簽選擇

後者優先順序高

7.前端頁面有哪三層構成,分別是什麼?作用是什麼?

結構層 Html 表示層 CSS 行為層 js

8.css的基本語句構成是?

選擇器{屬性1:值1;屬性2:值2;……}

9.你做的頁面在哪些流覽器測試過?這些瀏覽器的內核分別是什麼?

Ie(Ie內核) 火狐(Gecko) 谷歌(webkit) opear(Presto)

二、Javascript

1.javascript的typeof返回哪些數據類型

Object number function boolean underfind

2.例舉3種強制類型轉換和2種隱式類型轉換?

強制(parseInt,parseFloat,number)

隱式(== – ===)

3.split() join() 的區別

前者是切割成數組的形式,後者是將數組轉換成字元串

4.數組方法pop() push() unshift() shift()

Push()尾部添加 pop()尾部刪除

Unshift()頭部添加 shift()頭部刪除

5.事件綁定和普通事件有什麼區別

6.IE和DOM事件流的區別

1.執行順序不一樣、

2.參數不一樣

3.事件加不加on

4.this指向問題

7.IE和標准下有哪些兼容性的寫法

Var ev = ev || window.event

document.documentElement.clientWidth || document.body.clientWidth

Var target = ev.srcElement||ev.target

8.ajax請求的時候get 和post方式的區別

一個在url後面 一個放在虛擬載體裡面

有大小限制

安全問題

應用不同 一個是論壇等只需要請求的,一個是類似修改密碼的

9.call和apply的區別

Object.call(this,obj1,obj2,obj3)

Object.apply(this,arguments)

10.ajax請求時,如何解釋json數據

使用eval parse 鑒於安全性考慮 使用parse更靠譜

11.b繼承a的方法

12.寫一個獲取非行間樣式的函數

function getStyle(obj,attr,value)

{

if(!value)

{

if(obj.currentStyle)

{

return obj.currentStyle(attr)

}

else

{

obj.getComputedStyle(attr,false)

}

}

else

{

obj.style[attr]=value

}

}

⑹ 前端面試題有哪些

1.1、前端 MV*框架的意義
早期前端都是比較簡單,基本以頁面為工作單元,內容以瀏覽型為主,也偶爾有簡單的表單操作,基本不太需要框架。
隨著 AJAX 的出現,Web2.0的興起,人們可以在頁面上可以做比較復雜的事情了,然後前端框架才真正出現了。
如果是頁面型產品,多數確實不太需要它,因為頁面中的 JavaScript代碼,處理交互的絕對遠遠超過處理模型的,但是如果是應用軟體類產品,這就太需要了。
長期做某個行業軟體的公司,一般都會沉澱下來一些業務組件,主要體現在數據模型、業務規則和業務流程,這些組件基本都存在於後端,在前端很少有相應的組織。
從協作關繫上講,很多前端開發團隊每個成員的職責不是很清晰,有了前端的 MV框架,這個狀況會大有改觀。
之所以感受不到 MV*框架的重要性,是因為Model部分代碼較少,View的相對多一些。如果主要在操作View和Controller,那當然 jQuery 這類庫比較好用了。
1.2、請簡述盒模型
IE6盒子模型與W3C盒子模型。
文檔中的每個元素被描繪為矩形盒子。盒子有四個邊界:外邊距邊界margin, 邊框邊界border, 內邊距邊界padding與內容邊界content。
CSS3中有個box-sizing屬性可以控制盒子的計算方式,
content-box:padding和border不被包含在定義的width和height之內。對象的實際寬度等於設置的width值和border、padding之和。(W3C盒子模型)
border-box:padding和border被包含在定義的width和height之內。對象的實際寬度就等於設置的width值。(IE6盒子模型)
可以關注海碼學院,有大量面試干貨推薦

⑺ 前端面試題目難嗎 如何輕松面對前端面試

從以下五個方面做,可以輕松面對前端面試:
一、基本知識
DOM結構——兩個節點之間可能存在哪些關系以及如何在節點之間任意移動。
DOM操作——怎樣添加、移除、移動、復制、創建和查找節點。
事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差別。
XMLHttpRequest——這是什麼、怎樣完整地執行一次GET請求、怎樣檢測錯誤。
嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。
盒模型——外邊距、內邊距和邊框之間的關系,IE8以下版本的瀏覽器中的盒模型有什麼不同。
塊級元素與行內元素——怎麼用CSS控制它們、它們怎樣影響周圍的元素以及你覺得應該如何定義它們的樣式。
浮動元素——怎麼使用它們、它們有什麼問題以及怎麼解決這些問題。
HTML與XHTML——二者有什麼區別,你覺得應該使用哪一個並說出理由。
JSON——它是什麼、為什麼應該使用它、到底該怎麼使用它,說出實現細節來。
二、少量提問
現在有一個正顯示著Yahoo!股票價格的頁面。頁面上有一個按鈕,你可以單擊它來刷新價格,但不會重新載入頁面。請你描述一下實現這個功能的過程,假設伺服器會負責准備好正確的股票價格數據。
這個問題牽扯到一組我想要考察的基本知識點:DOM結構、DOM操作、事件處理、XHR和JSON。如果我要求你對換一種處理股票價格的方式,或者 讓你在頁面中顯示其他信息,就可以把更多的知識點包括進來。對於經驗比較豐富應聘者,我也可以自如地擴展要考察的知識范圍,最簡單像JOSN與XML的區別、安全問題、容量問題等等。
我還希望應聘者給出的任何解決方案中都不要使用庫。我想看到最原生態的代碼,你就當頁面中沒有包含任何庫。你說你對哪個庫了解多少多少,但我不能把關於庫的知識作為評判能力的因素,因為庫是會隨時間變化的。
三、解決問題
做為一名前端工程師,最值得高興的事莫過於解決同一個問題會有很多種不同的方法,而你要做的就是找出最合適的方法來。我在提問的時候,經常會在應聘者解釋完一種方法後問他們還有沒有第二種方法。此時我會跟他們說,假設你的這個方法由於種種原因被否決了,那麼你還能不能給出另一種方法。這樣做可以達到 兩個目的。
首先,可以測試出他們是否在毫無意義地復述書本中的東西。不能不承認,某些人確實有過目不忘的天賦,聽他們在那裡滔滔不絕地講,你會覺得他們什麼都明白。可是,只要一跟這些人談到怎麼查找方案無效的原因,以及能否拿出一個新方案來,他們往往就傻眼了。這時候,如果我聽到「我不明白這個方案為什麼不夠 好」之類的反問,心裡立刻就明白我的問題已經超出了他們的能力范圍,而他們只是想拿自己死記硬背的結論來矇混過關。
其次,可以測試出他們已經掌握的(還是那句話,「想都不用想」)瀏覽器技術知識。如果他們對瀏覽器平台的核心知識有較好的理解,想出解決同一問題的不同方案根本沒有那麼難。
注意:所有問題都與瀏覽器技術相關。我不相信出幾道抽象的邏輯題,就能夠考出某人解決Web技術問題的能力。在我看來,這無異於讓素描大師畫肖像,沒有意義,也得不到任何有價值的信息。
四、有激情
要成為一名優秀的前端工程師,最重要的莫過於對自己做的事要有激情。我們技能都不是從學校中或者從研討會上學來的,因此前端工程師必須具備自學能力。瀏覽器技術的變化可謂日新月異,所以也只有不斷提升自己的技能才做得到與時俱進。我雖然不能強迫誰必須多看博客、不斷學習,但想應聘前端工程師的人恐怕還是必須這么做的。
你怎麼知道誰對這種工作有沒有激情?實際上非常簡單。我只問一個簡單的問題:「目前你對什麼Web技術最感興趣?」這個問題永遠不會過期,而且也幾乎不可能出錯……除非你答不上來。就眼下來說,我希望你對這個問題給出的技術中包括WebSocket、HTML、WebGL、客戶端資料庫,等等。只有 對Web開發充滿激情的人,才會堅持不懈地學習新知識、掌握新技能;
五、最後一點
計算機科學或者Web設計方面的知識當然也有用,但那都是基本知識之外的東西。只要基本知識在那兒了,一切就都有了基礎,想擴充知識面也不難。可是,如果等到正式上班以後,還得從頭學習基本技能,那種難度是不可同日而語的。

⑻ 有哪些經典的 Web 前端或者 JavaScript 面試筆試題

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年給自己的規劃嗎?

⑼ 前端開發面試回答,你怎麼回答

我面試過很多 前端程序員,非常了解面試者和面試官的心理,我可以很負責的告訴你:

就算面試你的人說你只能拿8K,但是你完全可以通過各種方法去拿到10K以上的薪資!

面試的時候面試官都是什麼樣的心理?

大多數公司的領導都會通過給你構造一個宏偉的藍圖以及對你進行技術打擊,來讓你降低標准,因為任何一家公司都希望花最少的錢請到最NB的技術人才,其實雙方就是一個周旋的過程,看誰的情商更高一些,但往往都是面試者被面試官拿下的情況比較多。

我給面試經驗不多的 前端程序員4個建議:

1、說工資時千萬不要說自己的理想工資,在這個之上虛高一點!

假設你預期的薪資是10k,你很實在的說要10k,那麼按照常理來說,你的工資標準是一定會被往下進行打壓的。

你可以先說自己以前的工作的薪資在11K左右,現在換份工作想要13K的薪資,這個時候面試官就會想,這個人以前的工資是11k,現在給他10k他肯定是不會來的,但他還是會跟你進行壓價,但是壓價肯定都是在10k以上的,所以你和面試官談判的時候,如果他認可你,那麼你的薪資應該就會在10k-13k之間,無論最終是10k還是11k或者12k,我們的目標都已經達到了。你可以進行一番思考,最終同意對方的開價。

但是你不要跟輕易的答應,一定要拿捏一下,讓對方覺得你也在考慮,最終你選擇了他們公司,要表達出對他們公司的願景,自己中意的是職業發展,喜歡的是公司氛圍等等因素,這樣對方才會認為你是看重公司的發展,而不是因為工資。關於這點我只能說,華夏民族的人和人交流的關系是世界最微妙的,這些套路大家心知肚明,但是你用和不用還真的是兩種效果。

2、設置一個自己的心理價位

如果對方說的薪資低於這個心理價位,我們一定要果斷拒絕,保持我們的原則性,不要因為對方說了而讓你降低了自己的心理價位,這樣也會讓面試官覺得你非常的有原則,非常自信,人們都尊重這樣的人,如果你一味的做舔狗,下場會非常悲慘。

根據我十年多的IT從業經驗來看,即使是做同樣的工作,也會存在著很多工資高低差距較多的情況,所以不要掉在一棵樹上,現在社會工作機會這么多,只要有實實在在的技術,工作是很容易找的,一定要多去嘗試。

3、凸顯自己的價值,讓對方覺得你是個人才

如果之前兩點沒有達到預期成效,但你又非常看好這家公司,就該盡力爭取了;

用自己之前做成的事情說事情,最好是用數據給面試官說明,表達清楚自己為什麼要這樣的薪資,讓對方感覺到你值這么多錢,如果對方公司現在比較缺人,而且你要的薪資沒有特別離譜,還有有希望拿下的。

4、公司一般都有獎金福利可以彌補工資的欠缺

大多數人都想不到那麼遠,都是盯著眼前的薪資,但其實很多公司都有項目提成、獎金,這也是錢啊,有一些不錯的公司都是14薪往上,所以在跟公司談的時候,一定要去問他們是否有獎金、年終獎之類的福利。


除了被壓榨薪資的問題,還有以下幾點是必須要注意的!

1、項目作品

面試的時候,除了基礎的知識技術外,一個項目經驗是非常重要的,面試官會著重去問你的項目過程,所以准備好一份好的項目實戰,不只是證明你對這次面試的重視,更是證明你有能力勝任這份工作的利器。

2、去背那些常問的面試題

面試題對於以下幾個問題都會問:

·自我介紹(建議30s-60s)

·了解我們公司的基本情況嗎?

·你上家公司離職的原因是什麼?

·你自己的職業規劃是什麼?

·自我評價一下自己的優缺點?

以上問題都是大部分公司都會問到的,其實面試官只是想多了解你一些,而這些回答在網上有非常標準的答案,如果你覺得自己回答不好,你可以去網上找一些標準的答案背一下,還是非常有必要的,做到萬無一失。

3、假設面試官沒有跟你說薪資的問題,那麼我們也不要主動去提及,這樣會顯得你非常的著急,最好是先拿到offer之後再去談薪資,這樣對於我們來說是非常有利的,經驗之談。

4、面試的時候不要對方問一句你就答一句,你一定要明白面試的本質是什麼,在短時間內展示你的才華,方方面面的才能,給對方留下一個好的印象。

5、面試的過程中,是你展現的時候,所以80%的時間都應該你來主導,你來展示自己的才能,一定要非常著重的表現自己。

6、在回答面試官時,換位思考幾秒鍾:

·他為什麼要問這個問題?

·他想知道什麼答案?

·他想通過這個答案判斷出什麼?

所謂知己知彼才能百戰不殆,你一定要換位思考對方問的問題,想要知道什麼,從你的回答中他是否可以得到他想要的答案,所以面試是一門非常深的學問,人與人之間心理的博弈。

總結:

以上全部都是面試技巧方面,這屬於細活,而真正掌握技術才是根本,如果你沒有掌握良好的技術,技巧也幫助不了你找到一份工作,當你的技術達標,在加上好的面試技巧,就是如虎添翼,工作隨便你選擇。

常在這里回答問題,熱愛技術,喜歡幫別人解答行業技術問題和行業知識。

如果大家對於學習前端有任何不懂的可以隨時來問我,我給你提供一個非常不錯的前端交流學習qun:前面是二九六,中間是二一二,後面是五六二。有問題就在裡面問我,這樣你可以少走很多彎路,做起來有效率,記得多跟有經驗的人交流,別閉門造車。如果沒有比較好的教程,也可以管我要。

⑽ 前端的演算法面試還可以怎麼問

我的 2018 年前端押題說了,以下三個准備一下即可:
八種排序演算法
二分查找演算法
反轉二叉樹演算法

不要問為什麼,信我就學,面試效果會告訴你一切。