前端工程師面試題彙總(轉)

那些操作會造成內存洩漏?

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 原生對象進行了擴展以及提供了哪些好用的函數方法?

那些操作會造成內存洩漏?

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 的對模板的基本處理流程, 如何編譯的?如何緩存的?

檢測瀏覽器版本版本有哪些方式?

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

有趣的問題

A、B兩人分別在兩座島上。B生病了,A有B所需要的藥。C有一艘小船和一個可以上鎖的箱子。C願意在A和B之間運東西,但東西只能放在箱子裡。只要箱子沒被上鎖,C都會偷走箱子裡的東西,不管箱子裡有什麼。如果A和B各自有一把鎖和只能開自己那把鎖的鑰匙,A應該如何把東西安全遞交給B?

答案:A把藥放進箱子,用自己的鎖把箱子鎖上。B拿到箱子後,再在箱子上加一把自己的鎖。

箱子運回A後,A取下自己的鎖。箱子再運到B手中時,B取下自己的鎖,獲得藥物。

Amazon主頁的左上角有一個商品分類瀏覽的下拉菜單 沒有延遲,而且子菜單也不會在不應該的時候消失。它是怎樣做到這一點的呢?

答案是通過探測鼠標移動的方向和軌跡,具體查看Khan Academy工程師 Ben Kamens 寫的 jQuery插件

前端工程師面試題彙總(轉)


分享到:


相關文章: