前端面試常見問答

做者:老大徒傷悲
連接:https://zhuanlan.zhihu.com/p/22800583
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

1. 經常使用那幾種瀏覽器測試?有哪些內核(Layout Engine)?

(Q1) 瀏覽器:IE,Chrome,FireFox,Safari,Opera。
(Q2) 內核:Trident,Gecko,Presto,Webkit。

2. 說下行內元素和塊級元素的區別?行內塊元素的兼容性使用?(IE8 如下)

(Q1) 行內元素:會在水平方向排列,不能包含塊級元素,設置width無效,height無效(能夠設置line-height),margin上下無效,padding上下無效。
塊級元素:各佔據一行,垂直方向排列。重新行開始結束接着一個斷行。
(Q2) 兼容性:display:inline-block;*display:inline;*zoom:1;

3. 清除浮動有哪些方式?比較好的方式是哪種?

(Q1)
(1)父級div定義height。
(2)結尾處加空div標籤clear:both。
(3)父級div定義僞類:after和zoom。
(4)父級div定義overflow:hidden。
(5)父級div定義overflow:auto。
(6)父級div也浮動,須要定義寬度。
(7)父級div定義display:table。
(8)結尾處加br標籤clear:both。
(Q2) 比較好的是第3種方式,好多網站都這麼用。

4. box-sizing經常使用的屬性有哪些?分別有什麼做用?

(Q1)box-sizing: content-box|border-box|inherit;
(Q2)content-box:寬度和高度分別應用到元素的內容框。在寬度和高度以外繪製元素的內邊距和邊框(元素默認效果)。
border-box:元素指定的任何內邊距和邊框都將在已設定的寬度和高度內進行繪製。經過從已設定的寬度和高度分別減去邊框和內邊距才能獲得內容的寬度和高度。

5. Doctype做用?標準模式與兼容模式各有什麼區別?
(Q1) <!DOCTYPE>告知瀏覽器的解析器用什麼文檔標準解析這個文檔。DOCTYPE不存在或格式不正確會致使文檔以兼容模式呈現。
(Q2) 標準模式的排版和JS運做模式都是以該瀏覽器支持的最高標準運行。在兼容模式中,頁面以寬鬆的向後兼容的方式顯示,模擬老式瀏覽器的行爲以防止站點沒法工做。

6. HTML5 爲何只須要寫 <!DOCTYPE HTML>?

HTML5不基於 SGML,所以不須要對DTD進行引用,可是須要doctype來規範瀏覽器的行爲(讓瀏覽器按照它們應該的方式來運行)。
而HTML4.01基於SGML,因此須要對DTD進行引用,才能告知瀏覽器文檔所使用的文檔類型。

7. 頁面導入樣式時,使用link和@import有什麼區別?

(1)link屬於XHTML標籤,除了加載CSS外,還能用於定義RSS, 定義rel鏈接屬性等做用;而@import是CSS提供的,只能用於加載CSS;
(2)頁面被加載的時,link會同時被加載,而@import引用的CSS會等到頁面被加載完再加載;
(3)import是CSS2.1 提出的,只在IE5以上才能被識別,而link是XHTML標籤,無兼容問題。

8. 介紹一下你對瀏覽器內核的理解?

主要分紅兩部分:渲染引擎(layout engineer或Rendering Engine)和js引擎。

渲染引擎:負責取得網頁的內容(HTML、XML、圖像等等)、整理訊息(例如加入CSS等),以及計算網頁的顯示方式,而後會輸出至顯示器或打印機。
瀏覽器的內核的不一樣對於網頁的語法解釋會有不一樣,因此渲染的效果也不相同。全部網頁瀏覽器、電子郵件客戶端以及其它須要編輯、顯示網絡內容的應用程序都須要內核。

JS引擎則:解析和執行javascript來實現網頁的動態效果。

最開始渲染引擎和JS引擎並無區分的很明確,後來JS引擎愈來愈獨立,內核就傾向於只指渲染引擎。

9. html5有哪些新特性?如何處理HTML5新標籤的瀏覽器兼容問題?如何區分 HTML 和 HTML5?
(Q1)
HTML5 如今已經不是 SGML 的子集,主要是關於圖像,位置,存儲,多任務等功能的增長。
(1)繪畫 canvas;
(2)用於媒介回放的 video 和 audio 元素;
(3)本地離線存儲 localStorage 長期存儲數據,瀏覽器關閉後數據不丟失;
(4)sessionStorage 的數據在瀏覽器關閉後自動刪除;
(5)語意化更好的內容元素,好比 article、footer、header、nav、section;
(6)表單控件,calendar、date、time、email、url、search;
(7)新的技術webworker, websocket, Geolocation;

(Q2)
IE8/IE7/IE6支持經過document.createElement方法產生的標籤,
能夠利用這一特性讓這些瀏覽器支持HTML5新標籤,
瀏覽器支持新標籤後,還須要添加標籤默認的樣式。
固然也能夠直接使用成熟的框架、好比html5shim,
<!--[if lt IE 9]>
<![endif]-->

10. 簡述一下你對HTML語義化的理解?

用正確的標籤作正確的事情。
html語義化讓頁面的內容結構化,結構更清晰,便於對瀏覽器、搜索引擎解析;
即便在沒有樣式CSS狀況下也以一種文檔格式顯示,而且是容易閱讀的;
搜索引擎的爬蟲也依賴於HTML標記來肯定上下文和各個關鍵字的權重,利於seo;
使閱讀源代碼的人對網站更容易將網站分塊,便於閱讀維護理解。

JavaScript

1. 介紹js的基本數據類型

Undefined、Null、Boolean、Number、String

2. js有哪些內置對象?

數據封裝類對象:Object、Array、Boolean、Number 和 String

其餘對象:Function、Arguments、Math、Date、RegExp、Error

3. this對象的理解

this老是指向函數的直接調用者(而非間接調用者);

若是有new關鍵字,this指向new出來的那個對象;

在事件中,this指向觸發這個事件的對象,特殊的是,IE中的attachEvent中的this老是指向全局對象Window。

4. eval是作什麼的?

它的功能是把對應的字符串解析成JS代碼並運行;

應該避免使用eval,不安全,很是耗性能(2次,一次解析成js語句,一次執行)。

由JSON字符串轉換爲JSON對象的時候能夠用eval,var obj =eval('('+ str +')')。

5. DOM怎樣添加、移除、移動、複製、建立和查找節點

// 建立新節點

createDocumentFragment() //建立一個DOM片斷

createElement() //建立一個具體的元素

createTextNode() //建立一個文本節點

// 添加、移除、替換、插入

appendChild()

removeChild()

replaceChild()

insertBefore() //在已有的子節點前插入一個新的子節點

// 查找

getElementsByTagName() //經過標籤名稱

getElementsByName() //經過元素的Name屬性的值(IE容錯能力較強,會獲得一個數組,其中包括id等於name值的)

getElementById() //經過元素Id,惟一性

6. null和undefined的區別?

null是一個表示"無"的對象,轉爲數值時爲0;undefined是一個表示"無"的原始值,轉爲數值時爲NaN。

undefined:

(1)變量被聲明瞭,但沒有賦值時,就等於undefined。

(2) 調用函數時,應該提供的參數沒有提供,該參數等於undefined。

(3)對象沒有賦值的屬性,該屬性的值爲undefined。

(4)函數沒有返回值時,默認返回undefined。

null:

(1) 做爲函數的參數,表示該函數的參數不是對象。

(2) 做爲對象原型鏈的終點。

7. new操做符具體幹了什麼呢?

(1)建立一個空對象,而且 this 變量引用該對象,同時還繼承了該函數的原型。

(2)屬性和方法被加入到 this 引用的對象中。

(3)新建立的對象由 this 所引用,而且最後隱式的返回 this 。

8. JSON 的瞭解?

JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它是基於JavaScript的一個子集。數據格式簡單, 易於讀寫, 佔用帶寬小。

格式:採用鍵值對,例如:{'age':'12', 'name':'back'}

9. call() 和 apply() 的區別和做用?

apply()函數有兩個參數:第一個參數是上下文,第二個參數是參數組成的數組。若是上下文是null,則使用全局對象代替。

如:function.apply(this,[1,2,3]);

call()的第一個參數是上下文,後續是實例傳入的參數序列。

如:function.call(this,1,2,3);

10. 如何獲取UA?

function whatBrowser() {

document.Browser.Name.value=navigator.appName;

document.Browser.Version.value=navigator.appVersion;

document.Browser.Code.value=navigator.appCodeName;

document.Browser.Agent.value=navigator.userAgent;

}

其餘

1. HTTP狀態碼知道哪些?

100 Continue 繼續,通常在發送post請求時,已發送了http header以後服務端將返回此信息,表示確認,以後發送具體參數信息

200 OK 正常返回信息

201 Created 請求成功而且服務器建立了新的資源

202 Accepted 服務器已接受請求,但還沒有處理

301 Moved Permanently 請求的網頁已永久移動到新位置。

302 Found 臨時性重定向。

303 See Other 臨時性重定向,且老是使用 GET 請求新的 URI。

304 Not Modified 自從上次請求後,請求的網頁未修改過。

400 Bad Request 服務器沒法理解請求的格式,客戶端不該當嘗試再次使用相同的內容發起請求。

401 Unauthorized 請求未受權。

403 Forbidden 禁止訪問。

404 Not Found 找不到如何與 URI 相匹配的資源。

500 Internal Server Error 最多見的服務器端錯誤。

503 Service Unavailable 服務器端暫時沒法處理請求(多是過載或維護)。

2. 你有哪些性能優化的方法?

(1) 減小http請求次數:CSS Sprites, JS、CSS源碼壓縮、圖片大小控制合適;網頁Gzip,CDN託管,data緩存 ,圖片服務器。

(2) 前端模板 JS+數據,減小因爲HTML標籤致使的帶寬浪費,前端用變量保存ajax請求結果,每次操做本地變量,不用請求,減小請求次數

(3) 用innerHTML代替DOM操做,減小DOM操做次數,優化javascript性能。

(4) 當須要設置的樣式不少時設置className而不是直接操做style。

(5) 少用全局變量、緩存DOM節點查找的結果。減小IO讀取操做。

(6) 避免使用CSS Expression(css表達式)又稱Dynamic properties(動態屬性)。

(7) 圖片預加載,將樣式表放在頂部,將腳本放在底部 加上時間戳。

3. 什麼叫優雅降級和漸進加強?

優雅降級:web站點在全部新式瀏覽器中都能正常工做,若是用戶使用的是老式瀏覽器,則代碼會檢查以確認它們是否能正常工做。
因爲IE獨特的盒模型佈局問題,針對不一樣版本的IE的hack實踐過優雅降級了,爲那些沒法支持功能的瀏覽器增長候選方案,使之在舊式瀏覽器上以某種形式降級體驗卻不至於徹底失效。

漸進加強:從被全部瀏覽器支持的基本功能開始,逐步地添加那些只有新式瀏覽器才支持的功能,向頁面增長無害於基礎瀏覽器的額外樣式和功能的。當瀏覽器支持時,它們會自動地呈現出來併發揮做用。

4. 哪些常見操做會形成內存泄漏?

內存泄漏指任何對象在您再也不擁有或須要它以後仍然存在。

垃圾回收器按期掃描對象,並計算引用了每一個對象的其餘對象的數量。若是一個對象的引用數量爲 0(沒有其餘對象引用過該對象),或對該對象的唯一引用是循環的,那麼該對象的內存便可回收。

setTimeout 的第一個參數使用字符串而非函數的話,會引起內存泄漏。

閉包、控制檯日誌、循環(在兩個對象彼此引用且彼此保留時,就會產生一個循環)。

5. 線程與進程的區別

一個程序至少有一個進程,一個進程至少有一個線程。

線程的劃分尺度小於進程,使得多線程程序的併發性高。

另外,進程在執行過程當中擁有獨立的內存單元,而多個線程共享內存,從而極大地提升了程序的運行效率。

線程在執行過程當中與進程仍是有區別的。每一個獨立的線程有一個程序運行的入口、順序執行序列和程序的出口。可是線程不可以獨立執行,必須依存在應用程序中,由應用程序提供多個線程執行控制。

從邏輯角度來看,多線程的意義在於一個應用程序中,有多個執行部分能夠同時執行。但操做系統並無將多個線程看作多個獨立的應用,來實現進程的調度和管理以及資源分配。這就是進程和線程的重要區別。

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(Modules/Asynchronous-Definition)、CMD(Common Module 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年給本身的規劃嗎?javascript

相關文章
相關標籤/搜索