js面試題

js面試題javascript

 

1.簡述同步和異步的區別css

https://zhidao.baidu.com/question/1738292395502173827.htmlhtml

2.怎麼添加、移除、複製、建立、和查找節點前端

https://blog.csdn.net/weixin_41639609/article/details/88864169java

3.實現一個函數clone 能夠對Javascript中的五種主要數據類型(Number、string、Object、Array、Boolean)進行復制jquery

4.數組去重方法12種方法android

https://segmentfault.com/a/1190000016418021?utm_source=tag-newestwebpack

5.寫一個返回閉包的函數ios

https://www.cnblogs.com/sun-web/p/10971829.htmlcss3

(1)首先知道什麼是閉包?

閉包就是可以讀取其餘函數內部變量的函數。

6.使用遞歸完成1到100的累加(遞歸就是「本身調用本身」)

https://blog.csdn.net/he315889714/article/details/40783581

7.Javascript有哪幾種數據類型

1,基本類型:字符串類型(string),數字類型(number),布爾類型(boolean)

2,複雜類型:數組類型(array),對象類型(object),函數類型(function),正則類型(regexp)

3,空類型:undefine  和 null

https://www.cnblogs.com/starof/p/6368048.html

8.如何判斷數據類型typeof

https://www.cnblogs.com/hahazexia/p/8886829.html

9.console.log(1+'2')和console.log(1-'2')的打印結果

第一個結果是字符串12,第二個結果是數值型-1

10.Js的事件委託是什麼,原理是什麼(首先要知道-事件委託就是利用事件冒泡)

https://www.cnblogs.com/wp-js/p/7609539.html

11.如何改變函數內部的this指針的指向

https://blog.csdn.net/actttt/article/details/79405135

12.列舉幾種解決跨域問題的方式,且說明原理

https://segmentfault.com/a/1190000011145364

13.談談垃圾回收機制的方式及內存管理

14.寫一個function ,清除字符串先後的空格

15.js實現繼承的方法有哪些

16.判斷一個變量是不是數組,有哪些辦法

17.let ,const ,var 有什麼區別

18.箭頭函數與普通函數有什麼區別

19.隨機取1-10之間的整數

20.new操做符具體幹了什麼

21.Ajax原理

22.模塊化開發怎麼作

23.異步加載Js的方式有哪些

24.xml和 json的區別

25.webpack如何實現打包的

26.常見web安全及防禦原理

27.用過哪些設計模式

28.爲何要同源限制

29.offsetWidth/offsetHeight,clientWidth/clientHeight與scrollWidth/scrollHeight的區別

30.javascript有哪些方法定義對象

31.說說你對promise的瞭解

32.談談你對AMD、CMD的理解

33.web開發中會話跟蹤的方法有哪些

34.介紹js有哪些內置對象?

35.說幾條寫JavaScript的基本規範?

36.javascript建立對象的幾種方式?

37.eval是作什麼的?

38.null,undefined 的區別?

39.[「1」, 「2」, 「3」].map(parseInt) 答案是多少?

40.javascript 代碼中的」use strict」;是什麼意思 ? 使用它區別是什麼?

41.js延遲加載的方式有哪些?

42.defer和async

43.說說嚴格模式的限制

44.attribute和property的區別是什麼?

45.ECMAScript6 怎麼寫class麼,爲何會出現class這種東西?

46.常見兼容性問題

47.函數防抖節流的原理

48.原始類型有哪幾種?null是對象嗎?

49.爲何console.log(0.2+0.1==0.3) //false

50.說一下JS中類型轉換的規則?

51.深拷貝和淺拷貝的區別?如何實現

52.如何判斷this?箭頭函數的this是什麼

53.== 和 ===的區別

54.什麼是閉包

55.JavaScript原型,原型鏈 ? 有什麼特色?

56.typeof()和instanceof()的用法區別

57.什麼是變量提高

58.all、apply以及bind函數內部實現是怎麼樣的

59.爲何會出現setTimeout倒計時偏差?如何減小

60.談談你對JS執行上下文棧和做用域鏈的理解

61.new的原理是什麼?經過new的方式建立對象和經過字面量建立有什麼區別?

62.prototype 和 proto 區別是什麼?

63.使用ES5實現一個繼承?

64.取數組的最大值(ES五、ES6)

65.ES6新的特性有哪些?

66.promise 有幾種狀態, Promise 有什麼優缺點 ?

67.Promise構造函數是同步仍是異步執行,then呢 ?promise如何實現then處理 ?

68.Promise和setTimeout的區別 ?

69.如何實現 Promise.all ?

70.如何實現 Promise.finally ?

71.如何判斷img加載完成

72.如何阻止冒泡?

73.如何阻止默認事件?

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

75.json和jsonp的區別?

76.如何用原生js給一個按鈕綁定兩個onclick事件?

77.拖拽會用到哪些事件

78.document.write和innerHTML的區別

79.jQuery的事件委託方法bind 、live、delegate、on之間有什麼區別?

80.瀏覽器是如何渲染頁面的?

81.$(document).ready()方法和window.onload有什麼區別?

82. jquery中$.get()提交和$.post()提交有區別嗎?

83.對前端路由的理解?先後端路由的區別?

84.手寫一個類的繼承

85.XMLHttpRequest:XMLHttpRequest.readyState;狀態碼的意思

86.正則表達式常見面試題

  1.給一個連字符串例如:get-element-by-id轉化成駝峯形式。

  2.匹配二進制數字

  3.非零的十進制數字 (有至少一位數字, 可是不能以0開頭)

  4.匹配一年中的12個月

  5.匹配qq號最長爲13爲

  6.匹配常見的固定電話號碼

  7.匹配ip地址

  8.匹配用尖括號括起來的以a開頭的字符串

  9.分割數字每三個以一個逗號劃分

  10.判斷字符串是否包含數字

  11.判斷電話號碼

  12.判斷是否符合指定格式

  13.判斷是否符合USD格式

  14.JS實現千位分隔符

  15.獲取 url 參數

  16.驗證郵箱

  17.驗證身份證號碼

  18.匹配漢字

  19.去除首尾的'/'

  20.判斷日期格式是否符合 '2017-05-11'的形式,簡單判斷,只判斷格式

  21.判斷日期格式是否符合 '2017-05-11'的形式,嚴格判斷(比較複雜)

  22.IPv4地址正則

  23.十六進制顏色正則

  24.車牌號正則

  25.過濾HTML標籤

  26.密碼強度正則,最少6位,包括至少1個大寫字母,1個小寫字母,1個數字,1個特殊字符

  27.URL正則

  28.匹配浮點數

瀏覽器/html/css面試題

 

1.什麼是盒模型

2.行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?行內元素和塊級元素有什麼區別?

3.簡述src和href的區別

4.什麼是css Hack

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

6.px和em的區別

7.HTML5 爲何只寫

8.Http的狀態碼有哪些

9.一次完整的HTTP事務是怎麼一個過程

10.HTTPS是如何實現加密

11.瀏覽器是如何渲染頁面的

12.瀏覽器的內核有哪些?分別有什麼表明的瀏覽器

13.頁面導入時,使用link和@import有什麼區別

14.如何優化圖像,圖像格式的區別

15.列舉你瞭解Html5. Css3 新特性

16.能夠經過哪些方法優化css3 animation渲染

17.列舉幾個前端性能方面的優化

18.如何實現同一個瀏覽器多個標籤頁之間的通訊

19.瀏覽器的存儲技術有哪些

20.css定位方式

21.儘量多的寫出瀏覽器兼容性問題

22.垂直上下居中的方法

23.響應式佈局原理

25.清除浮動的方法

26.http協議和tcp協議

27.刷新頁面,js請求通常會有哪些地方有緩存處理

28.如何對網站的文件和資源進行優化

29.你對網頁標準和W3C重要性的理解

30.Http和https的區別

31.data-屬性的做用

32.如何讓Chrome瀏覽器顯示小於12px的文字

33.哪些操做會引發頁面迴流(Reflow)

34.CSS預處理器的比較less sass

35.如何實現頁面每次打開時清除本頁緩存

36.什麼是Virtual DOM,爲什麼要用Virtual DOM

37.僞元素和僞類的區別

38.http的幾種請求方法和區別

39.前端須要注意哪些SEO

40.的title和alt有什麼區別

41.從瀏覽器地址欄輸入url到顯示頁面的步驟

42.如何進行網站性能優化

43.語義化的理解

44.HTML5的離線儲存怎麼使用,工做原理能不能解釋一下?

45.瀏覽器是怎麼對HTML5的離線儲存資源進行管理和加載的呢

46.iframe有那些缺點?

47.WEB標準以及W3C標準是什麼?

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

49.HTML全局屬性(global attribute)有哪些

50.Canvas和SVG有什麼區別?

51.如何在頁面上實現一個圓形的可點擊區域?

52.網頁驗證碼是幹嗎的,是爲了解決什麼安全問題

53.請描述一下 cookies,sessionStorage 和 localStorage 的區別?

54. CSS選擇器有哪些?哪些屬性能夠繼承?

55.CSS優先級算法如何計算?

56.CSS3有哪些新特性?

57.請解釋一下CSS3的flexbox(彈性盒佈局模型),以及適用場景?

58.用純CSS建立一個三角形的原理是什麼?

59.常見的兼容性問題?

60.爲何要初始化CSS樣式

61.absolute的containing block計算方式跟正常流有什麼不一樣?

62.CSS裏的visibility屬性有個collapse屬性值?在不一樣瀏覽器下之後什麼區別?

63.display:none與visibility:hidden的區別?

64.position跟display、overflow、float這些特性相互疊加後會怎麼樣?

65.對BFC規範(塊級格式化上下文:block formatting context)的理解?

66.爲何會出現浮動和何時須要清除浮動?清除浮動的方式?

67.上下margin重合的問題

68. 設置元素浮動後,該元素的display值是多少?

69.移動端的佈局用過媒體查詢嗎?

70.CSS優化、提升性能的方法有哪些?

71.瀏覽器是怎樣解析CSS選擇器的?

72.在網頁中的應該使用奇數仍是偶數的字體?爲何呢?

73.margin和padding分別適合什麼場景使用?

74.元素豎向的百分比設定是相對於容器的高度嗎?

75.全屏滾動的原理是什麼?用到了CSS的哪些屬性?

76.什麼是響應式設計?響應式設計的基本原理是什麼?如何兼容低版本的IE?

77. 視差滾動效果?

78.::before 和 :after中雙冒號和單冒號有什麼區別?解釋一下這2個僞元素的做用

79.讓頁面裏的字體變清晰,變細用CSS怎麼作?

80. position:fixed;在android下無效怎麼處理?

81.若是須要手動寫動畫,你認爲最小時間間隔是多久,爲何?

82.li與li之間有看不見的空白間隔是什麼緣由引發的?有什麼解決辦法?

83.display:inline-block 何時會顯示間隙?

84. 有一個高度自適應的div,裏面有兩個div,一個高度100px,但願另外一個填滿剩下的高度

85.png、jpg、gif 這些圖片格式解釋一下,分別何時用。有沒有了解過webp?

86.style標籤寫在body後與body前有什麼區別?

87.CSS屬性overflow屬性定義溢出元素內容區的內容會如何處理?

88.闡述一下CSS Sprites

89. 一行或多行文本超出隱藏

js經常使用插件

 

 輪播圖插件

二級城市插件

三級城市插件

文字滑動效果

手風琴效果

視頻播放插件

彈層插件

百度編輯器

ACE編輯器(輕巧)

上傳圖片(裁剪)

頁面加載效果

全選反選各類效果

京東樓層效果

懶加載

移動端熱點問題

    1. 1px border問題

    2.2X圖 3X圖適配

    3.圖片在安卓上,有些設備模糊問題

    4.固定定位佈局 鍵盤擋住輸入框內容

    5.click的300ms延遲問題和點擊穿透問題

    6.phone及ipad下輸入框默認內陰影

    7.防止手機中頁面放大和縮小

    8.flex佈局

    9.px、em、rem、%、vw、vh、vm這些單位的區別

    10. 移動端適配- dpr淺析

    11.移動端擴展點擊區域

    12 上下拉動滾動條時卡頓、慢

    13 長時間按住頁面出現閃退

    14. ios和android下觸摸元素時出現半透明灰色遮罩

    15. active兼容處理 即 僞類:active失效

    16.webkit mask兼容處理

    17. pc端與移動端字體大小的問題

    18. transiton閃屏

    19.圓角bug

    20.如何解決禁用表單後移動端樣式不統一問題? 

ES6編程題

1.使用解構,實現兩個變量的值的交換

2.利用數組推導,計算出數組 [1,2,3,4] 每個元素的平方並組成新的數組。

3.使用ES6改下面的模板

4.把如下代碼使用兩種方法,來依次輸出0到9?

做者:萌新阿杰 連接:https://www.jianshu.com/p/968bb313e444 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索