前端基礎面試題

2021-10-09 01:37:16 字數 2527 閱讀 6616

h5 新特性

c3 的新特性[不常考][答幾個就好了]

css3 背景

css3 漸變

css3 文字效果

css3 字型

css3 過渡

css3 動畫

css3 調整尺寸

css3 **查詢

先載入主程序再處理任務佇列的任務,先處理巨集任務再處理微任務

微任務:promise

巨集任務:settimeout

繼承方式有哪些

從輸入 url 到頁面載入發生了什麼?

回流重繪

引起回流:

引起重繪:render tree中的一些元素需要更新屬性,而這些屬性只是影響元素的外觀,風格,而不會影響 render 樹重新布局的,比如修改字型顏色

http協議的三次握手 ,三次握手為什麼不是兩次或者四次握手:鏈結

http的請求方式

get、post、put、delete、head(獲取報頭)、connect(管道**)、options(檢視伺服器效能)、trace(測試、診斷)

post和get的區別:

tip:v-if 有更高的切換開銷,而 v-show 有更高的初始渲染開銷,所以,如果需要頻繁切換,用 v-show 較好;如果在執行時條件很少改變,使用 v-if 較好

v-model 的作用與原理

作用:用於表單元素的資料雙向繫結

原理:本質上是個語法糖:1. 給輸入框動態繫結 value 屬性,2. 繫結 input 事件(value = 輸入框裡面的值)

解決資料不能被檢測的方法:

vue.set(vm.arr, index, newvalue) 或者是 vm.$set(vm.arr, index, newvalue)

vm.arr.splice(start, 1, newvalue)

修改陣列的長度:vm.arr.splice(newlength)

axios 的封裝

請求攔截:設定 baseurl;設定公共的請求頭資訊等

響應攔截:統一錯誤處理

使用 keep-alive 包裹的元件有什麼不一樣?鏈結

還會問3.0

3.0的話簡單介紹下把,用ts重構的,用composition api替換了 optionsapi ,很多內容是抄襲的reducx -hook

xss跨站指令碼攻擊:指攻擊者在網頁上注入惡意的客戶端**,通過惡意指令碼對客戶端網頁進行篡改,從而在使用者瀏覽網頁時, 對客戶端瀏覽器進行控制或獲取使用者隱私資料的方式

防範:httponly防止擷取cookie、使用者輸入檢查、使用者輸出檢查、利用csp(瀏覽器的內容安全策略)

csrf跨站請求偽造:劫持受信任使用者向伺服器傳送非預期請求的方式。

防範:驗證碼、referer check、增加token驗證

遇見的困難

就說相容問題,還有百分比布局的高度塌陷問題。

移動端html5 audio autoplay失效問題?

移動端樣式相容處理?

解決:1.設定meta標籤viewport屬性,使其無視裝置的真實解析度,直接通過dpi在物理尺寸和瀏覽器之間重設解析度,從而達到能有統一的解析度的效果,並且禁止掉使用者縮放;2.使用rem進行螢幕適配,設定好root元素的font-size大小,然後在開發的時候所有與畫素有關的布局統一換成rem單位;針對不同的手機使用**查詢對root元素font-size進行調整

html5碰到上下拉動滾動條時卡頓/慢怎麼解決?

解決: overflow-scrolling: touch; -webkit-overflow-scrolling: touch;

用同等比例的在pc機上很清楚,但是手機上很模糊,原因是什麼呢?

解決:經研究發現是devicepixelratio作怪,因為手機解析度太小,如果按照解析度來顯示網頁字會非常小,所以蘋果就把iphone 4的960640解析度在網頁裡只顯示了480320,這樣devicepixelratio=2;現在android比較亂,有1.5/2/3等,想讓在手機裡顯示更為清晰必須使用2x的背景圖來代替img標籤(一般情況都是用2倍),例如乙個div的寬高是100100,背景圖必須得200200,然後background-size:contain;,這樣顯示出來的就比較清晰了

移動端 1px 邊框渲染成 2px 問題?

解決:使用偽元素模擬邊框,並設定transfrom:scaley(0.5)

前端基礎面試題

padding 內邊距 margin 外邊距 border 邊框 1 外盒尺寸計算 元素空間尺寸 element空間高度 content height padding border margin element 空間寬度 content width padding border margin 2 內...

前端部分基礎面試題01

在網頁中,乙個元素所占用的空間的大小是有四個部分組成的,元素本身的內容 content 元素的內邊距 padding 元素的外邊距 margin 元素的邊框 border 共同組成的。這四個部分有的可以顯示相應的內容,有的部分只能用來分隔相鄰的區域,這四個部分組成了css中的元素的盒模型。行內元素 ...

前端面試題

sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...