天天看點

web前端系列面試題(一)

html&css

  1. 行内元素有哪些?塊級元素有哪些?空元素有那些?
  2. link和@import的差別是?
  3. 請描述一下cookies ,sessionStorage 和 localStorage 的差別?
  4. display 與 與 visibility 有何異同?

js

  1. JavaScript 中,this 關鍵字的作用是什麼?
  2. 什麼是正規表達式?在 JavaScript 中,如何應用正規表達式?
  3. JavaScript原型,原型鍊 ? 有什麼特點?
  4. 程式設計題:編寫一個數組去重的方法。
  5. 介紹JavaScript的基本資料類型。
  6. 說說寫JavaScript的基本規範?
  7. JavaScript有幾種類型的值?(堆:原始資料類型和 棧:引用資料類型),你能畫一下他們的記憶體圖嗎?
  8. Javascript如何實作繼承?
  9. Javascript建立對象的幾種方式?
  10. Javascript作用鍊域?
  11. 談談This對象的了解。
  12. eval是做什麼的?
  13. 什麼是window對象? 什麼是document對象?
  14. null,undefined的差別?
  15. 寫一個通用的事件偵聽器函數(機試題)。
  16. [“1”, “2”, “3”].map(parseInt) 答案是多少?
  17. 關于事件,IE與火狐的事件機制有什麼差別? 如何阻止冒泡?
  18. 什麼是閉包(closure),為什麼要用它?
  19. javascript 代碼中的”use strict”;是什麼意思 ? 使用它差別是什麼?
  20. 如何判斷一個對象是否屬于某個類?
  21. new操作符具體幹了什麼呢?
  22. 用原生JavaScript的實作過什麼功能嗎?
  23. Javascript中,有一個函數,執行時對象查找時,永遠不會去查找原型,這個函數是?
  24. 對JSON的了解?
  25. [].forEach.call($$(""),function(a){ a.style.outline="1px solid #"+(~~(Math.random()(1<<24))).toString(16) }) 能解釋一下這段代碼的意思嗎?
  26. js延遲加載的方式有哪些?
  27. Ajax 是什麼? 如何建立一個Ajax?
  28. 同步和異步的差別?
  29. 如何解決跨域問題?
  30. 頁面編碼和被請求的資源編碼如果不一緻如何處理?
  31. 子產品化開發怎麼做?
  32. AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)規範差別?
  33. requireJS的核心原理是什麼?(如何動态加載的?如何避免多次加載的?如何 緩存的?)
  34. 讓你自己設計實作一個requireJS,你會怎麼做?
  35. 談一談你對ECMAScript6的了解?
  36. ECMAScript6 怎麼寫class麼,為什麼會出現class這種東西?
  37. 異步加載的方式有哪些?
  38. documen.write和 innerHTML的差別?
  39. DOM操作——怎樣添加、移除、移動、複制、建立和查找節點?
  40. .call() 和 .apply() 的含義和差別?
  41. 數組和對象有哪些原生方法,列舉一下?
  42. JS 怎麼實作一個類。怎麼執行個體化這個類
  43. JavaScript中的作用域與變量聲明提升?
  44. 如何編寫高性能的Javascript?
  45. 那些操作會造成記憶體洩漏?
  46. JQuery的源碼看過嗎?能不能簡單概況一下它的實作原理?
  47. jQuery.fn的init方法傳回的this指的是什麼對象?為什麼要傳回this?
  48. jquery中如何将數組轉化為json字元串,然後再轉化回來?
  49. jQuery 的屬性拷貝(extend)的實作原理是什麼,如何實作深拷貝?
  50. jquery.extend 與 jquery.fn.extend的差別?
  51. jQuery 的隊列是如何實作的?隊列可以用在哪些地方?
  52. 談一下Jquery中的bind(),live(),delegate(),on()的差別?
  53. JQuery一個對象可以同時綁定多個事件,這是如何實作的?
  54. 是否知道自定義事件。jQuery裡的fire函數是什麼意思,什麼時候用?
  55. jQuery 是通過哪個方法和 Sizzle 選擇器結合的?(jQuery.fn.find()進入Sizzle)
  56. 針對 jQuery性能的優化方法?
  57. Jquery與jQuery UI有啥差別?
  58. JQuery的源碼看過嗎?能不能簡單說一下它的實作原理?
  59. jquery 中如何将數組轉化為json字元串,然後再轉化回來?
  60. jQuery和Zepto的差別?各自的使用場景?
  61. 針對 jQuery 的優化方法?
  62. Zepto的點透問題如何解決?
  63. jQueryUI如何自定義元件?
  64. 需求:實作一個頁面操作不會整頁重新整理的網站,并且能在浏覽器前進、後退時正确響應。給出你的技術實作方案?
  65. 如何判斷目前腳本運作在浏覽器還是node環境中?(阿裡)
  66. 移動端最小觸控區域是多大?
  67. jQuery 的 slideUp動畫 ,如果目标元素是被外部事件驅動, 當滑鼠快速地連續觸發外部元素事件, 動畫會滞後的反複執行,該如何處理呢?
  68. 把 Script 标簽 放在頁面的最底部的body封閉之前 和封閉之後有什麼差別?浏覽器會如何解析它們?
  69. 移動端的點選事件的有延遲,時間是多久,為什麼會有? 怎麼解決這個延時?(click 有 300ms 延遲,為了實作safari的輕按兩下事件的設計,浏覽器要知道你是不是要輕按兩下操作。)
  70. 知道各種JS架構(Angular, Backbone, Ember, React, Meteor, Knockout…)麼? 能講出他們各自的優點和缺點麼?
  71. Underscore 對哪些 JS 原生對象進行了擴充以及提供了哪些好用的函數方法?
  72. 解釋JavaScript中的作用域與變量聲明提升?
  73. Node.js的适用場景?
  74. (如果會用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering麼?
  75. 解釋一下 Backbone 的 MVC 實作方式?
  76. 什麼是“前端路由”?什麼時候适合使用“前端路由”? “前端路由”有哪些優點和缺點?
  77. 知道什麼是webkit麼? 知道怎麼用浏覽器的各種工具來調試和debug代碼麼?
  78. 如何測試前端代碼麼? 知道BDD, TDD, Unit Test麼? 知道怎麼測試你的前端工程麼(mocha, sinon, jasmin, qUnit..)?
  79. 前端templating(Mustache, underscore, handlebars)是幹嘛的, 怎麼用?
  80. 簡述一下 Handlebars 的基本用法?
  81. 簡述一下 Handlerbars 的對模闆的基本處理流程, 如何編譯的?如何緩存的?
  82. 用js實作千位分隔符?(來源:前端農民工,提示:正則+replace)
  83. 檢測浏覽器版本版本有哪些方式?
  84. 我們給一個dom同時綁定兩個點選事件,一個用捕獲,一個用冒泡,你來說下會執行幾次事件,然後會先執行冒泡還是捕獲

繼續閱讀