【截圖】常見前端面試題

https://www.bilibili.com/video/BV1ek4y1r7GT

day01 css3

1.標籤語義化

image-20200602100347823

顧名思義,合理的標籤幹合適的事情

塊級(display:block):div 、p、h1~h6、hr、ul、ol、li、dl、dd、form、table、header、footer、main、nav、sector、arcitcle、pre、table、tbody、thead、th、tr、tfoot

行級(display:inline):a、span、small、strong、em、i、code、

行內塊(display:inline-block):img、input

區別

1.行內元素與塊級函數可以相互轉換,通過修改display屬性值來切換塊級元素和行內元素,行內元素display:inline,塊級元素display:block。

2.行內元素和其他行內元素都會在一條水平線上排列,都是在同一行的;塊級元素卻總是會在新的一行開始排列,各個塊級元素獨佔一行,垂直向下排列,若想使其水平方向排序,可使用左右浮動(float:left/right)讓其水平方向排列。

3.行內元素不可以設置寬高,寬度高度隨文本內容的變化而變化,但是可以設置行高(line-height),同時在設置外邊距margin上下無效,左右有效,內填充padding上下無效,左右有效;塊級元素可以設置寬高,並且寬度高度以及外邊距,內填充都可隨意控制。

4.塊級元素可以包含行內元素和塊級元素,還可以容納內聯元素和其他元素;行內元素不能包含塊級元素,只能容納文本或者其他行內元素。

display還有none(隱藏dom)、flex(彈性)、table(表)

display:none和visibility:hidden、ocpacity:0(兼容用fliter)

filter濾鏡:對比度、飽和度、陰影、色相、透明度

display:flex 響應式、兼容性

2.盒子水平垂直居中

image-20200602103929590

項目中經常遇到這種需求,最開始xxx,喜歡用flex,後來發現xxx,在xx博客上突然發現xx更好,xx解決了兼容性(拒絕背書式)

(1)定位1:需要知道父的寬高

​ [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-VlsIX3oj-1591087127372)(upload\image-20200602104327188.png)]

(2)定位2:需要父親有寬高限定

image-20200602104441568

(3)定位3:不需要父有具體寬高限制(兼容性不如上邊Ie9+)

image-20200602104544584

(4)display:flex(ie10+)

image-20200602104701555

(5)js實現就是模擬css寫樣式

image-20200602105312471

(6)固定寬高的父級 display:table-cell 子級inline-block

image-20200602105621973

3.盒模型標準

content、padding、border、margin

標準盒模型(content-box)、ie怪異盒模型(border-box)、flex彈性伸縮盒模型、column多列盒模型

怪異盒模型的好處,固定到border控制寬高,不用重新計算padding和border

flex詳見阮一峯的flex佈局

image-20200602110927159

多列布局

image-20200602110944945

4.幾大經典佈局

–左右固定、中間自適應

聖盃佈局

image-20200602113055173

image-20200602111514307

image-20200602111750547

image-20200602112147804

image-20200602112312975

雙飛翼

image-20200602113022455

image-20200602111550553

image-20200602112454722

image-20200602112712306

使用calc

image-20200602113131602

使用flex

image-20200602113144394

定位實現

image-20200602113422644

image-20200602113433438

–移動端響應式佈局

*媒體查詢(一套)

*rem(應用於兩套 中的移動端)

flex

vh/vw

day 02 js

1.對象深淺拷貝

image-20200602122734819

JSON.parse(JSON.stringify(obj))不能對函數、正則、時間對象、數字對象的時候會不好用

最佳遞歸實現(這個沒搞function),自己加一下用instanceof即可,建議統一用Object.prototype.toString.call

image-20200602123354026

2.堆棧內存+閉包作用域

堆:存儲引用類型值的空間

棧:存儲基本類型值和指定代碼的環境

image-20200602115032567

答案:培訓,對象的key數字和字符串等效

image-20200602115046281

答案:珠峯,Symbol的特點,都是唯一的

image-20200602115802390

答案:培訓,key會轉化成字符串[Obejct object]

image-20200602120550762

答案:‘4’,alert彈出的會轉化成字符串

image-20200602121224075

答案:‘1’ ‘4’

image-20200602122452877

3.一道面向對象面試題

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4Ewbg242-1591087127430)(https://gitee.com/mus-z/blogImage/raw/master/img/20200602124255.png)]

image-20200602124314525

image-20200602125836033

4.EventLoop

同步異步、宏任務微任務

image-20200602130026037

image-20200602131032718

5.使下面輸出1

image-20200602131851148

var a={
    toString = function*(){
        yield 1;
        yield 2;
        yield 3;
    }
}

a.toString

會轉換,規則:

對象==字符串 對象.toString

null==undefined 相等 但是和其他值不相等

NaN!=NaN

剩下的都轉換成數字

數據劫持

image-20200602132658588

數組彈出

image-20200602132853832

day03 React常見

1.react雙向綁定

image-20200602134144412

2.跨域問題

因爲同源策略,採用前後端分離

Jsonp

只能get,不安全、有緩存、大小限制

iframe

  • window.name
  • document.domin
  • location.hash
  • post message

CORS-服務端配置

image-20200602134902535

http Proxy

webpack添加proxy

nginx反向代理

在build之後proxy不可以用,要服務器端nginx反向代理

3.組件中通信

image-20200602140431605

day 04 入門算法

1.數組去重和排序

去重

image-20200602141007745

排序

冒泡、插入、快速(略

image-20200602141908265

image-20200602142219139

image-20200602142301471

2.數組扁平化

image-20200602153619773

image-20200602154011399

image-20200602154650329

3.斐波那契數列

image-20200602162522480

image-20200602162915626

4.輸出所有和N的連續正數序列

image-20200602163730800

image-20200602163742565

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章