① WEB前端面試題
第二章 面試題基礎篇
2.1 HTML面試題
面試題:行內元素有哪些?塊級元素有哪些? 空(void)元素有那些?
面試題:頁面導入樣式時,使用link和@import有什麼區別?
面試題:title與h1的區別、b與strong的區別、i與em的區別?
面試題:img標簽的title和alt有什麼區別?
面試題:png、jpg、gif 這些圖片格式解釋一下,分別什麼時候用?
2.2 CSS面試題
面試題:css背景紋路
面試題:介紹一下CSS的盒子模型
面試題:CSS選擇符有哪些?哪些屬性可以繼承?
面試題:CSS優先順序演算法如何計算?
面試題:用CSS畫一個三角形
面試題:一個盒子不給寬度和高度如何水平垂直居中?
面試題:display有哪些值?說明他們的作用。
面試題:對BFC規范(塊級格式化上下文:block formatting context)的理解?
面試題:清除浮動有哪些方式?
面試題:在網頁中的應該使用奇數還是偶數的字體?為什麼呢?
面試題:寫一個左中右布局占滿屏幕,其中左、右倆塊固定寬200,中間自適應寬,要求先載入中間塊,請寫出結構及樣式。
面試題:什麼是CSS reset?
面試題:css sprite是什麼,有什麼優缺點
面試題:display: none;與visibility: hidden;的區別
面試題:position有哪些值?有什麼作用? 【特別多公司問】
面試題:line-height和height有什麼區別?
面試題:opacity 和 rgba區別
2.3 JavaScript基礎面試題
面試題:延遲載入JS有哪些方式?
面試題:JS數據類型有哪些?
面試題:null和undefined的區別
面試題:JS數據類型考題
面試題:==和===有什麼不同
面試題:JS微任務和宏任務
面試題:JS作用域考題
面試題:JS對象考題
面試題:JS作用域+this指向+原型 考題
面試題:JS判斷變數是不是數組,你能寫出哪些方法?
面試題:slice是幹嘛的、splice是否會改變原數組
面試題:JS數組去重
面試題:找出多維數組最大值
面試題:給字元串新增方法實現功能
面試題:找出字元串出現最多次數的字元以及次數
2.4 真正移動端 —— H5/C3面試題
面試題:什麼是語義化標簽
面試題:::before 和 :after中雙冒號和單冒號 有什麼區別?解釋一下這2個偽元素的作用。
面試題:如何關閉iOS鍵盤首字母自動大寫
面試題:怎麼讓Chrome支持小於12px 的文字?
面試題:rem和em有什麼樣區別
面試題:ios系統中元素被觸摸時產生的半透明灰色遮罩怎麼去掉
面試題:webkit表單輸入框placeholder的顏色值能改變嗎?
面試題:禁止ios 長按時不觸發系統的菜單,禁止ios&android長按時下載圖片
面試題:禁止ios和android用戶選中文字
面試題:自適應 [淘寶無線適配]
面試題:響應式
第三章 面試題進階篇
3.1 JavaScript進階面試題
面試題:new操作符具體做了什麼
面試題:閉包 【必須會】
面試題:原型鏈 【必須會】
面試題: JS繼承有哪些方式
面試題:說一下call、apply、bind區別
面試題:sort背後原理是什麼?
面試題:深拷貝和淺拷貝
面試題:localstorage、sessionstorage、cookie的區別
3.2 ES6面試題
面試題:var、let、const區別
面試題:作用域考題
面試題:將下列對象進行合並
面試題:箭頭函數和普通函數有什麼區別?
面試題:Promise有幾種狀態
面試題:find和filter的區別 【大廠】
面試題:some和every的區別 【大廠】
3.3 webpack面試題
面試題:webpack插件
3.4 Git面試題
面試題:git常用命令
面試題:解決沖突
面試題:GitFlow
第四章 面試題框架篇
4.1 區分初中高級的 —— Vue面試題
面試題:Vue2.x 生命周期有哪些?
1.系統自帶八個
2.當一旦進入到某個組件會執行哪些生命周期
3.$el和$data在哪個階段有
4.如果使用keep-alive會多倆個生命周期
5.如果加入keep-alive第一次進入組件會執行哪些生命周期
6.如果加入keep-alive第二次或者第N進入該組件會執行哪些生命周期
面試題:談談你對keep-alive的了解
面試題:v-if和v-show區別
面試題:v-if和v-for優先順序 2.x
面試題:ref是什麼?
面試題:nextTick是什麼?
面試題:Vue中如何做樣式穿透
面試題:scoped原理
面試題:Vuex是單向數據流還是雙向數據流?
面試題:講一下MVVM
面試題:雙向綁定原理
面試題:什麼是虛擬DOM
面試題:key是干什麼?
面試題:diff演算法
面試題:Vue組件傳值
面試題:props和data優先順序誰高?
面試題:computed、methods、watch有什麼區別?
面試題:Vuex
面試題:Vue路由
面試題:Vue項目打包後出現空白頁
4.2 微信小程序面試題
面試題:如何自定義頭部?
面試題:如何自定義底部?
4.3 uni-app面試題
面試題:生命周期
面試題:條件編譯
第五章 面試題性能優化篇
② Web前端5道面試題
1.請說明ECMAScript,JavaScript,Jscript之間的關系?
ECMAScript提供腳本語言必須遵守的規則、
細節和准則,是腳本語言的規范。
比如:ES5,ES6就是具體的一js版本。
JavaScript是ECMAScript的一個分支版本,
JavaScript實現了多數ECMA-262中
描述的ECMAScript規范,但存在少數差異。
JScript是微軟公司對ECMA-262語言規范的
一種實現,除了少數例外(這是為了保持向後兼容),
微軟公司宣稱JScript完全實現了ECMA標准.
關系:
JavaScript和JScript都是ECMAScript的版本分支,
二者在語法上沒有多大的區別;
只不過一個是NetScape公司的,一個是微軟的;
IE系列默認是JScript,其它的則反之用JavaScript。
2.頁面載入過程中可能觸發哪些事件?它們的順序是?
頁面載入時,大致可以分為以下幾個步驟:1)開始解析HTML文檔結構2)載入外部樣式表及JavaScript腳本3)解析執行JavaScript腳本4)DOM樹渲染完成5)載入未完成的外部資源6)頁面載入成功
執行順序:1)documentreadystatechange事件2)documentDOMContentLoaded事件3)windowload事件
3.函數中在聲明變數a前使用a會產生錯誤嗎?為什麼?
不會,JS中能夠進行變數作用域提升,
把所有變數、函數的聲明提升到當前
作用域的最前面,但不進行賦值操作;
所以可能造成獲取的值是undefined。
4.什麼是hash,以及hashchange事件?
先了解下什麼是hash:hash即URL中"#"字元後面的部分。
a)使用瀏覽器訪問網頁時,
如果網頁URL中帶有hash,
頁面就會定位到id(或name)
與hash值一樣的元素的位置;
b)hash還有另一個特點,
它的改變不會導致頁面重新載入如橡尺;
c)hash值瀏如清覽器是不會隨請求發送到伺服器端的;
d)通過window.location.hash屬性獲取和設置hash值。
window.location.hash值的變化會直渣高接
反應到瀏覽器地址欄(#後面的部分會發生變化),同時,瀏覽器地址欄hash值的變化也會觸發
window.location.hash值的變化,
從而觸發onhashchange事件。
再來了解下什麼是hashchange事件:
a)當URL的片段標識符更改時,
將觸發hashchange事件(跟在#符號後面的URL部分,包括#符號)b)
hashchange事件觸發時,
事件對象會有hash改變前的URL(oldURL)和hash改變後的URL(newURL)兩個屬性。
5.什麼是CDN,CDN對於網站有什麼意義,它有什麼樣的缺點?
CDN又稱為內容分發網路;本意在於
盡可能避開互聯網上有可能影響數據
傳輸速度和穩定性的瓶頸和環節,
使內容傳輸的更快、更穩定。
主要目的:
解決因分布、帶寬、伺服器性能帶來的訪問延遲問題,
適用於站點加速、點播、直播等場景。
使用戶可就近取得所需內容,解決Internet網路擁擠的狀況,
提高用戶訪問網站的響應速度和成功率。
缺點:
a)實施復雜,投資大;
b)目前大部分的CDN還只是對靜態內容加速,
對動態加速效果不好;
而雙線對動態加速的效果跟靜態是一樣的。
③ 經典的 Web 前端或者 JavaScript 面試筆試題有哪些
一、不定項選擇題(每題3分,共30分)x0dx0a1.聲明一個對象,給它加上name屬性和show方法顯示其name值,以下代碼中正確的是(D)x0dx0aA.varobj=[name:"zhangsan",show:function(){alert(name);}];x0dx0aB.varobj={name:」zhangsan」,show:」alert(this.name)」};x0dx0aC.varobj={name:」zhangsan」,show:function(){alert(name);}};x0dx0aD.varobj={name:」zhangsan」,show:function(){alert(this.name);}};x0dx0a2.以下關於Array數組對象的說法不正確的是(CD)x0dx0aA.對數組里數據的排序可以用sort函數,如果排序效果非預期,可以給sort函數加一個排序函數的參數x0dx0aB.reverse用於對數組數據的倒序排列x0dx0aC.向數組的最後位置加一個新元素,可以用pop方法x0dx0aD.unshift方法用於向數組刪除第一個元素x0dx0a3.要將頁面的狀態欄中顯示「已經選中該文本框」,下列JavaScript語句正確的是(A)x0dx0aA.window.status=」已經選中該文本框」x0dx0aB.document.status=」已經選中該文本框」x0dx0aC.window.screen=」已經選中該文本框」x0dx0aD.document.screen=」已經選中該文本框」x0dx0a4.點擊頁面的按鈕,使之打開一個新窗口,載入一個網頁,以下JavaScript代碼中可行的是(AD)x0dx0aA.