基礎知識點

CSS3
1、選擇器:nth-child、disabled、after、before 、僞類選擇器等
2、css3動畫:keyframes(用百分比控制顯示的過程)
3、2D/3D旋轉

H5
1、標籤的新特性:input的type
2、新的語義標籤:datalist、progress、output、meter
3、sessiostorage:sessionStorage,localstorage
4、視頻和音頻:video,audio
5、canvas和svg繪圖
canvas ,svg及echarts
canvas:位圖 ,放大會失真,使用js繪圖 ,繪製圖片使用drawImg
svg:矢量圖,放大不失真,使用XML繪圖,多應用與遊戲。
echarts:百度的繪圖插件
6、新標籤:
1.header:頁眉
2.nav:標記導航
3.article:文章標記標籤
4.section:區塊定義標籤
5.aside:定義側欄標籤
6.footer:頁腳標籤
新特性
1.video / radio 視頻/音頻
2.canvas 繪畫
3.geolocation 定位
4.WebSocket 前後端雙向通訊
5.localStorage/sessionStorage代替cookie 本地儲存
6.文件拖拽(drag事件+dataTransfer+FileReader)
7.WebWorker js多線程,提高性能
8.WebSQL 前端數據庫(已被官方棄用)
9.manifest 離線緩存

新標籤
header、nav、article、section、aside、footer 、canvas 、video 、radio

標籤語義化

定義文章
定義一組媒體對象以及文字內容
定義figure的標題

佈局頁面時用的語義標籤:

頭部
定義文檔中的區段 區域
尾部

input其他的類型:
text 文本輸入框
password 密碼
button 按鈕
checkbox 複選
radio 單選
submit 提交
reset 重置
file 文件
email 輸入郵箱地址 檢測@
url URL地址
number 只能輸入數字 還有e
range 範圍 默認0~100
required 必須填寫
placeholder 佔位符

http協議(restful接口,各個版本的區別)
react和redux(hooks和性能優化,源碼)
vue瞭解,angularjs1版本
前端性能優化
閉包,面向對象及繼承,數組排序算法,深淺拷貝,this關鍵字
ES6,ES7,ES8
跨域及前端安全
sass、less、css、flex佈局
js事件的階段、防抖和節流
node基礎,express和koa框架
異步promise async await的區別以及和定時器的執行順序(宏任務和微任務)
盒子模型及異形盒子模型
瀏覽器內核及兼容性,indexDB cookie session localSession
一行代碼數組去重:new Set(arr)

基礎
簡單介紹一下自己,爲什麼選擇做前端?
說下你所在的EPI實驗室和CTG工作室是幹什麼的?
介紹下你最近的項目?
說出你覺得自己身上最優秀的能力?
說出你未來的規劃?
你最近有沒有什麼想要學習的技術?
你有什麼要問我的?

佈局相關
position的值有哪些?
css有哪些垂直水平居中方式?
css選擇器有哪些?選擇器的優先級?
CSS屬性選擇器和僞類選擇器的優先級?
使用css實現一個持續的動畫效果
右邊寬度固定,左邊自適應怎麼佈局?
實現水平垂直居中
Flex佈局用的多嗎?
移動端適配怎麼做的?
你用到了Flex,請問flex怎麼設置垂直水平居中?

概念
瀏覽器高級特性有了解嗎?(service worker)
瀏覽器CSS Hack手段有哪些? @media、+、- * #
爲什麼瀏覽器需要同源策略? 不是同一源的文件有安全問題
瀏覽器跨域的幾種方式? jsonp 、CORS、 window.name(iframe)、 document.domain(修改domain)
瀏覽器性能怎麼優化?(從多個方向上去答)
JS基本數據類型有哪些?
基本數據類型:Number,String,Boolean,Undefined,Null
複雜數據類型:Object,Array,Function,RegExp,Date,Error
全局數據類型:Math

原理
爲什麼 var 可以重複聲明?
四種定位的區別:static、relative、absolute、fixed
let與var的區別?
如何讓子類繼承父類的方法與屬性?原型鏈,call、組合原型鏈
怎麼發送一個跨域的POST請求?

框架
Vue是如何實現雙向綁定的?看過Vue源碼嗎?
Vue中的路由你使用的哪種模式?如何與後臺溝通路由?hash、 history
說下你ES6、7中用到哪些東西?
CommonJS 中的 require/exports 和 ES6 中的 import/export 區別?
Vue怎麼實現雙向綁定的?

代碼
怎樣判斷一個數組是數組?
怎麼用JS實現一個隊列?:先進先出shift、unshift
描述出任意一個排序算法?
封裝一個函數,參數是定時器的時間,.then執行回調函數。
一行代碼實現數組去重?new Set(arr)
使用addEventListener點擊li彈出內容,並且動態添加li之後有效
使用js實現一個持續的動畫效果 :requestAnimationFrame(callbacke())
只允許使用css,讓一個頁面原有dom不可見的多種解決方法:opacity、display、position、visibility

DOM事件流
事件捕獲、處於目標階段、事件冒泡

事件委託
事件委託利用了事件冒泡(事件冒泡會一直冒泡到document層),只指定一個事件處理程序,就可以管理某一類型的所有事件。
使用方法:只需要在DOM樹種儘量最高的層次上添加一個事件處理程序。
優點:減少添加事件監聽的操作。
移除事件:將事件的操作函數的賦值改爲null。
jQuery源碼解析
(function(){
2 (21 , 94) 定義了一些變量和函數 jQuery = function(){};
3 (96 , 283) 給JQ對象,添加一些方法和屬性
4 (285 , 347) extend : JQ的繼承方法
5 (349 , 817) jQuery.extend() : 擴展一些工具方法
6 (877 , 2856) Sizzle : 複雜選擇器的實現
7 (2880 , 3042) Callbacks : 回調對象 : 對函數的統一管理
8 (3043 , 3183) Deferred : 延遲對象 : 對異步的統一管理
9 (3184 , 3295) support : 功能檢測
10 (3308 , 3652) data() : 數據緩存
11 (3653 , 3797) queue() : 隊列方法 : 執行順序的管理
12 (3803 , 4299) attr() prop() val() addClass()等 : 對元素屬性的操作
13 (4300 , 5128) on() trigger() : 事件操作的相關方法
14 (5140 , 6057) DOM操作 : 添加 刪除 獲取 包裝 DOM篩選
15 (6058 , 6620) css() : 樣式的操作
16 (6621 , 7854) 提交的數據和ajax() : ajax() load() getJSON()
17 (7855 , 8584) animate() : 運動的方法
18 (8585 , 8792) offset() : 位置和尺寸的方法
19 (8804 , 8821) JQ支持模塊化的模式
20 (8826) window.jQuery = window.$ = jQuery;
21 })();

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