面試1 (每日打卡)

2022-06-25 02:54:14 字數 3076 閱讀 6066

1.什麼是盒模型,如何在css中告訴瀏覽器使用不同的盒模型來渲染你的布局?

css中所有的html元素都可以看成乙個盒模型,乙個盒模型包括margin,border,padding,content

盒模型分為兩類:w3c標準盒子模型和ie盒子模型

編寫**盡量使用標準的w3c盒子模型

用來宣告,放在頁面開頭

標準盒模型:

總寬/高度=我們設定的寬/高度+padding+border

ie盒模型:(怪異盒模型)

總寬/高度=我們設定的寬/高度

在css3中通過設定box-sizing的屬性來完成標準或者怪異模式的切換:

box-sizing: content-box  採用標準模式,是預設樣式

box-sizing: border-box  採用怪異模式

2.請描述cookies,sessionstorage和localstorage的區別?

1》資料儲存大小不同。

cookies:資料始終在同源的http請求中攜帶,即cookie能在伺服器和瀏覽器之間回傳。故儲存的資料的小,一般為4096b。

sessionstorage:資料儲存在本地,不會自動發給伺服器。所以一般為5m或者更大。

localstorage:資料儲存在本地,不會自動發給伺服器。所以一般為5m或者更大。

2》資料有效期不同。

cookies:資料在cookie設定的有效期之前都有效,即視窗和瀏覽器關閉。

sessionstorage:資料在關閉瀏覽器視窗後自動清除。儲存的資料僅在同源視窗內有效,即使在不同瀏覽器相同頁面也是無效的,一般用於儲存會話資料。

localstorage:始終有效,因此用作持久資料。(除非被清除,否則永久儲存)

3》資料作用域不同。

cookies、localstorage:在所有同源視窗敏感詞享。

sessionstorage:不在不同瀏覽器視窗敏感詞享

注意:cookies,一般應用於:

判斷使用者是否登陸過**,以便下次登陸時能夠實現自動登陸(或記住密碼)

儲存上次登陸的時間等資訊

儲存上次檢視的頁面

瀏覽計數  

session,一般用於:

網上**中的購物車

儲存使用者登陸資訊

將某些資料放入session中,供同一使用者的不同頁面使用

防止使用者非法登陸

3.行內元素,塊級元素,空(void)元素分別有哪些?

行內元素:a ,b ,span  , img , strong , select ,label ,em ,button ,textarea 等

塊級元素:div , p , ul ,li ,dl ,dt ,dd ,h1-h6 ,blockquote等

(標籤定義摘自另乙個源的塊引用。是雙標籤)

空元素(沒有內容的html元素):br , meta ,hr , link , input ,img 

4.如何居中乙個浮動元素?

可以加定位

5.如何對**的檔案和資源進行優化?

檔案合併,檔案壓縮,使用cdn(內容分發網路)託管你的資源,使用快取,優化meta標籤,啟用gzip壓縮css/js檔案,將css/js檔案放在外部檔案中,避免寫在同一頁面中,引用時將css放在最上面,js放在最下面等

6.常見的瀏覽器相容問題?你使用過哪些瀏覽器除錯你的專案?它們的核心分別是什麼?

1》不同瀏覽器的標籤的預設的margin和padding不同;

2》之間預設有間距;

3》外邊距重疊問題;當兩個相鄰元素都設定了margin邊距時,margin將取最大值,捨棄最小值。那麼如何解決外邊距重疊問題呢?

@1.可以為父元素定義1px的上邊框(border)或上邊距(padding);

@2.可以為父元素新增overflow:hidden;

4》ie9以下版本的瀏覽器不能使用opacity;

5》ie6雙邊距問題;在ie6中設定了float,同時又設定margin,就會出現邊距問題

谷歌瀏覽器(webkit)

7.b和strong區別 ?

兩個都是加粗,但是建議使用strong,因為要盡量標籤語義化。

b標籤:加粗,無意義,是html標籤

strong:強調文件邏輯,strong是web標準中xhtml的標籤,標籤語義化

8.js的資料型別有多少種?

7種,string ,nubmer ,object ,undefined ,boolean ,function,symbol(es6) 

9.js的閉包?

閉包就是能夠讀取其他函式內部變數的函式,使得函式不被gc(垃圾**機制)收回,如果過多使用閉包,容易導致記憶體洩漏。

10.關於頁面效能優化?

11.標籤的使用順序?

script標籤寫在後面,css引入放在前面

12.如何用css隱藏乙個塊?

1》display:none(不保留位置)

2》z-index:設定為最低層

3》visiblity:hidden(保留位置)

4》opacity:0

5》技巧性的可以使用:width,height為0

13.那麼display和opacity有什麼區別呢?

display:隱藏後不再保留位置

visiblity:隱藏後保留原來的位置

面試1 (每日打卡2)

1.清除浮動的方式?1 額外標籤法 在最後乙個浮動標籤的後面,新新增了乙個標籤,清除浮動。clear 優點 通俗易懂,書寫方便 缺點 新增了許多無意義的標籤,結構化較差 不推薦使用 2 父級新增overflow hidden屬性法 通過觸發bfc的方式,可以實現清除浮動的效果。overflow有哪些...

LeetCode 每日 1 題 打卡刷題計畫

活動頁面 佇列 隊首出,隊尾進 先進先出 queue 的基本操作有 q.push x 隊尾 d.push back x 隊尾 d.push front x 隊首 q.pop d.pop back d.pop front struct listnode vector操作push back 在陣列的最後...

Leetcode 每日打卡20200917

輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的節點仍然是遞增排序的。示例1 輸入 1 2 4,1 3 4輸出 1 1 2 3 4 4限制 0 鍊錶長度 1000class solution if l2 null listnode res newlistnode 0 listnode cur r...