Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久91精品国产91久久,欧美精品高清在线xxxx,高清在线一区

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          《PS教程》PS圖層樣式制作水滴水字

          教程的效果基本上都是用圖層樣式來完成。大致過程:先設(shè)定好文字,文字選擇類似液體的字體,然后給文字添加樣式做出水滴質(zhì)感,再在文字周圍加上一些小水滴即可

          完成效果

          一,選取“文件/創(chuàng)建”菜單,打開“創(chuàng)建”或Ctrl+N對話框 名稱為:液體字體做,寬度:為800像素, 高度:為600像素, “分辨率”為72 , “模式”為RGB色彩的文檔,見下圖1

          二,在圖層控制面版擊創(chuàng)建圖層按鈕,創(chuàng)建一圖層一,選取工具箱漸變工具(快捷鍵G),在工具選項(xiàng)欄中設(shè)定為線性漸變,之后點(diǎn)按可編輯漸變,彈出漸變編輯器。雙擊見下圖2中的A處,設(shè)定顏色RGB分別為25二,25二,232。再雙擊P2中的B處,設(shè)定顏色RGB分別為2二十五,2十九,184。繼續(xù)按鍵盤Shift不放結(jié)合鼠標(biāo)從上到下拖下,給漸變效果,按鍵盤快捷鍵Ctrl+D取消選區(qū),見下圖2。完成圖見下圖3

          三,在工具箱中選取橫排文字工具 ,在畫面中用鼠標(biāo)點(diǎn)擊后,出現(xiàn)一鍵入文字光標(biāo),在光標(biāo)后鍵入“pop”,在工具選項(xiàng)欄中設(shè)定字體為“CroissantD”,設(shè)定字體大小為“238.46點(diǎn)”,設(shè)定消除鋸齒為“銳利”,設(shè)定字體色彩為白色,單擊新建文字變形,彈出變形文字對話框,設(shè)定樣式為:扇形,勾選水平,彎曲為:-10%,水平扭曲為:0%,垂直扭曲為:0%,見下圖4

          四,雙點(diǎn)擊pop圖層進(jìn)入到圖層樣式,分別勾選投影、內(nèi)陰影、外發(fā)光、內(nèi)發(fā)光、斜面與浮雕、色彩疊加、光澤、描邊選項(xiàng)

          參數(shù)設(shè)定及此時效果圖如下

          五,在圖層樣板中,選取POP圖層,拷貝一pop圖層拷貝,雙點(diǎn)擊pop圖層進(jìn)入到圖層樣式,分別勾選投影、內(nèi)陰影、斜面與浮雕選項(xiàng)。見下圖16

          詳細(xì)參數(shù)設(shè)定及此時效果圖如下

          六,新建新圖層按鈕,在工具箱中選取橢圓選項(xiàng)框工具,繼續(xù)在工作區(qū)拉出一橢圓選項(xiàng)框工具外形,設(shè)定前景為白色,繼續(xù)按鍵盤快捷鍵Alt+Delete填充,并按鍵盤Ctrl+D取消,并雙點(diǎn)擊圖層進(jìn)入到圖層樣式,分別勾選投影、內(nèi)陰影、內(nèi)發(fā)光、斜面與浮雕、光澤選項(xiàng),見下圖21

          詳細(xì)參數(shù)設(shè)定見下圖

          斷重復(fù)拷貝并調(diào)節(jié)大小和地方,處理完成效果圖

          ==============================

          公眾號:春樹鎮(zhèn)

          研究討論:互聯(lián)網(wǎng)技術(shù),php開發(fā),網(wǎng)站建議,app開發(fā),html5開發(fā),設(shè)計,小說,電影。

          擊上方藍(lán)字關(guān)注“小鄭搞碼事”,每天都能學(xué)到知識,搞懂一個問題!

          Canvas是HTML5提供的新標(biāo)簽,通過JavaScript可以在Canvas元素上繪制圖片并實(shí)現(xiàn)動畫效果,今天展示一下Canvas繪制一個簡單餅圖的基本過程。

          看一下最終的效果:

          實(shí)現(xiàn)上面圖中的餅圖效果,首先在HTML引入Canvas標(biāo)簽,代碼如下:

          然后說一下具體的繪制過程:

          1、在JavaScript文件,創(chuàng)建PieChart類,并在其構(gòu)造函數(shù)中獲取Canvas的Context環(huán)境。

          2、添加PieChart類原型方法load用于載入餅圖所使用的數(shù)據(jù),并計算餅圖的數(shù)據(jù)總量,用于之后渲染餅圖時分配每個數(shù)據(jù)所對應(yīng)的扇形比例。

          3、添加PieChart類原型方法render用于對餅圖進(jìn)行渲染,_generateLegend內(nèi)部函數(shù)用于創(chuàng)建餅圖對應(yīng)的圖例,當(dāng)存在legend參數(shù)調(diào)用_generateLegend生成餅圖圖例。

          4、最后,引入需要繪制的數(shù)據(jù)創(chuàng)建餅圖對象即可完成餅圖繪制。

          JavaScript代碼如下:

          總結(jié)一下:

          在目前來看在移動端利用2d放射變換來實(shí)現(xiàn)的動畫比較實(shí)惠的還是canvas 2d了。在大部分機(jī)型上canvas都能獲得更好的渲染性能(在硬件加速情況下,瀏覽器會將繪圖命令切換成gpu硬件來執(zhí)行),并且現(xiàn)在的硬件加速支持程度也比較好。所以如果需要運(yùn)動的物體多的話建議用canvas。

          注:需要源代碼運(yùn)行的可以私信喲!!

          九銀十求職季悄然來臨,有很多應(yīng)屆的小伙伴都在討論秋招面試如何準(zhǔn)備,也有很多想要跳槽的小伙伴摩拳擦掌,其中有很多人為了能抓住機(jī)會去盲目并大量頻繁的面試,其實(shí)這么做沒有意義,面試的目的不是找到工作,拿到offer,而是找到好工作,為此,我整理了一下前端面試題合集,現(xiàn)在就來大致的梳理一下前端面試體系。

          1. 前端知識體系

          在說前端面試體系之前,先來看一下之前整理的前端知識體系圖(可能不太完整),這只是一個基礎(chǔ)版的前端知識體系圖,適合剛?cè)腴T前端的小伙伴參考,大佬勿噴:

          2. HTML

          (1)面試題目

          常考的HTML面試題:

          1. src和href的區(qū)別
          2. 對HTML語義化的理解
          3. DOCTYPE(?檔類型) 的作?
          4. script標(biāo)簽中defer和async的區(qū)別
          5. 常?的meta標(biāo)簽有哪些
          6. HTML5有哪些更新
          7. img的srcset屬性的作??
          8. 行內(nèi)元素有哪些?塊級元素有哪些? 空(void)元素有哪些?
          9. 說一下 web worker
          10. HTML5的離線儲存怎么使用,它的工作原理是什么
          11. 瀏覽器是如何對 HTML5 的離線儲存資源進(jìn)行管理和加載?
          12. title與h1的區(qū)別、b與strong的區(qū)別、i與em的區(qū)別?
          13. iframe 有哪些優(yōu)點(diǎn)和缺點(diǎn)?
          14. label 的作用是什么?如何使用?
          15. Canvas和SVG的區(qū)別
          16. head 標(biāo)簽有什么作用,其中什么標(biāo)簽必不可少?
          17. 文檔聲明(Doctype)和有何作用? 嚴(yán)格模式與混雜模式如何區(qū)分?它們有何意義?
          18. 瀏覽器亂碼的原因是什么?如何解決?
          19. 漸進(jìn)增強(qiáng)和優(yōu)雅降級之間的區(qū)別
          20. 說一下 HTML5 drag API

          (2)思維導(dǎo)圖

          下圖對HTML面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          2. CSS

          (1)面試題目

          常考的CSS面試題:

          一、CSS基礎(chǔ)

          1. CSS選擇器及其優(yōu)先級
          2. CSS中可繼承與不可繼承屬性有哪些
          3. display的屬性值及其作用
          4. display的block、inline和inline-block的區(qū)別
          5. 隱藏元素的方法有哪些
          6. link和@import的區(qū)別
          7. transition和animation的區(qū)別
          8. display:none與visibility:hidden的區(qū)別
          9. 偽元素和偽類的區(qū)別和作用?
          10. 對requestAnimationframe的理解
          11. 對盒模型的理解
          12. 為什么有時候?translate來改變位置?不是定位?
          13. li 與 li 之間有看不見的空白間隔是什么原因引起的?如何解決?
          14. CSS3中有哪些新特性
          15. 替換元素的概念及計算規(guī)則
          16. 常見的圖片格式及使用場景
          17. 對 CSSSprites 的理解
          18. 什么是物理像素,邏輯像素和像素密度,為什么在移動端開發(fā)時需要用到@3x, @2x這種圖片?
          19. margin 和 padding 的使用場景
          20. 對line-height 的理解及其賦值方式
          21. CSS 優(yōu)化和提高性能的方法有哪些?
          22. CSS預(yù)處理器/后處理器是什么?為什么要使用它們?
          23. ::before 和 :after 的雙冒號和單冒號有什么區(qū)別?
          24. display:inline-block 什么時候會顯示間隙?
          25. 單行、多行文本溢出隱藏
          26. Sass、Less 是什么?為什么要使用他們?
          27. 對媒體查詢的理解?
          28. 對 CSS 工程化的理解
          29. 如何判斷元素是否到達(dá)可視區(qū)域
          30. z-index屬性在什么情況下會失效
          31. CSS3中的transform有哪些屬性

          二、頁面布局

          1. 常見的CSS布局單位
          2. px、em、rem的區(qū)別及使用場景
          3. 兩欄布局的實(shí)現(xiàn)
          4. 三欄布局的實(shí)現(xiàn)
          5. 水平垂直居中的實(shí)現(xiàn)
          6. 如何根據(jù)設(shè)計稿進(jìn)行移動端適配?
          7. 對Flex布局的理解及其使用場景
          8. 響應(yīng)式設(shè)計的概念及基本原理

          三、定位與浮動

          1. 為什么需要清除浮動?清除浮動的方式
          2. 使用 clear 屬性清除浮動的原理?
          3. 對BFC的理解,如何創(chuàng)建BFC
          4. 什么是margin重疊問題?如何解決?
          5. 元素的層疊順序
          6. position的屬性有哪些,區(qū)別是什么
          7. display、float、position的關(guān)系
          8. absolute與fixed共同點(diǎn)與不同點(diǎn)
          9. 對 sticky 定位的理解

          四、場景應(yīng)用

          1. 實(shí)現(xiàn)一個三角形
          2. 實(shí)現(xiàn)一個扇形
          3. 實(shí)現(xiàn)一個寬高自適應(yīng)的正方形
          4. 畫一條0.5px的線
          5. 設(shè)置小于12px的字體
          6. 如何解決 1px 問題?

          (2)思維導(dǎo)圖

          下圖對CSS面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          3. JavaScript

          (1)面試題目

          一、數(shù)據(jù)類型

          1. JavaScript有哪些數(shù)據(jù)類型,它們的區(qū)別?
          2. 數(shù)據(jù)類型檢測的方式有哪些
          3. 判斷數(shù)組的方式有哪些
          4. null和undefined區(qū)別
          5. typeof null 的結(jié)果是什么,為什么?
          6. intanceof 操作符的實(shí)現(xiàn)原理及實(shí)現(xiàn)
          7. 為什么0.1+0.2 ! == 0.3,如何讓其相等
          8. 如何獲取安全的 undefined 值?
          9. typeof NaN 的結(jié)果是什么?
          10. isNaN 和 Number.isNaN 函數(shù)的區(qū)別?
          11. == 操作符的強(qiáng)制類型轉(zhuǎn)換規(guī)則?
          12. 其他值到字符串的轉(zhuǎn)換規(guī)則?
          13. 其他值到數(shù)字值的轉(zhuǎn)換規(guī)則?
          14. 其他值到布爾類型的值的轉(zhuǎn)換規(guī)則?
          15. || 和 && 操作符的返回值?
          16. Object.is() 與比較操作符 “===”、“==” 的區(qū)別?
          17. 什么是 JavaScript 中的包裝類型?
          18. JavaScript 中如何進(jìn)行隱式類型轉(zhuǎn)換?
          19. +操作符什么時候用于字符串的拼接?
          20. 為什么會有BigInt的提案?
          21. object.assign和擴(kuò)展運(yùn)算法是深拷貝還是淺拷貝,兩者區(qū)別

          二、ES6

          1. let、const、var的區(qū)別
          2. const對象的屬性可以修改嗎
          3. 如果new一個箭頭函數(shù)的會怎么樣
          4. 箭頭函數(shù)與普通函數(shù)的區(qū)別
          5. 箭頭函數(shù)的this指向哪??
          6. 擴(kuò)展運(yùn)算符的作用及使用場景
          7. Proxy 可以實(shí)現(xiàn)什么功能?
          8. 對對象與數(shù)組的解構(gòu)的理解
          9. 如何提取高度嵌套的對象里的指定屬性?
          10. 對 rest 參數(shù)的理解
          11. ES6中模板語法與字符串處理

          三、JavaScript基礎(chǔ)

          1. new操作符的實(shí)現(xiàn)原理
          2. map和Object的區(qū)別
          3. map和weakMap的區(qū)別
          4. JavaScript有哪些內(nèi)置對象
          5. 常用的正則表達(dá)式有哪些?
          6. 對JSON的理解
          7. JavaScript腳本延遲加載的方式有哪些?
          8. JavaScript 類數(shù)組對象的定義?
          9. 數(shù)組有哪些原生方法?
          10. Unicode、UTF-8、UTF-16、UTF-32的區(qū)別?
          11. 常見的位運(yùn)算符有哪些?其計算規(guī)則是什么?
          12. 為什么函數(shù)的 arguments 參數(shù)是類數(shù)組而不是數(shù)組?如何遍歷類數(shù)組?
          13. 什么是 DOM 和 BOM?
          14. 對類數(shù)組對象的理解,如何轉(zhuǎn)化為數(shù)組
          15. escape、encodeURI、encodeURIComponent 的區(qū)別
          16. 對AJAX的理解,實(shí)現(xiàn)一個AJAX請求
          17. JavaScript為什么要進(jìn)行變量提升,它導(dǎo)致了什么問題?
          18. 什么是尾調(diào)用,使用尾調(diào)用有什么好處?
          19. ES6模塊與CommonJS模塊有什么異同?
          20. 常見的DOM操作有哪些
          21. use strict是什么意思 ? 使用它區(qū)別是什么?
          22. 如何判斷一個對象是否屬于某個類?
          23. 強(qiáng)類型語言和弱類型語言的區(qū)別
          24. 解釋性語言和編譯型語言的區(qū)別
          25. for...in和for...of的區(qū)別
          26. 如何使用for...of遍歷對象
          27. ajax、axios、fetch的區(qū)別
          28. 數(shù)組的遍歷方法有哪些
          29. forEach和map方法有什么區(qū)別

          四、原型與原型鏈

          1. 對原型、原型鏈的理解
          2. 原型修改、重寫
          3. 原型鏈指向
          4. 原型鏈的終點(diǎn)是什么?如何打印出原型鏈的終點(diǎn)?
          5. 如何獲得對象非原型鏈上的屬性?

          五、執(zhí)行上下文/作用域鏈/閉包

          1. 對閉包的理解
          2. 對作用域、作用域鏈的理解
          3. 對執(zhí)行上下文的理解

          六、this/call/apply/bind

          1. 對this對象的理解
          2. call() 和 apply() 的區(qū)別?
          3. 實(shí)現(xiàn)call、apply 及 bind 函數(shù)

          七、異步編程

          1. 異步編程的實(shí)現(xiàn)方式?
          2. setTimeout、Promise、Async/Await 的區(qū)別
          3. 對Promise的理解
          4. Promise的基本用法
          5. Promise解決了什么問題
          6. Promise.all和Promise.race的區(qū)別的使用場景
          7. 對async/await 的理解
          8. await 到底在等啥?
          9. async/await的優(yōu)勢
          10. async/await對比Promise的優(yōu)勢
          11. async/await 如何捕獲異常
          12. 并發(fā)與并行的區(qū)別?
          13. 什么是回調(diào)函數(shù)?回調(diào)函數(shù)有什么缺點(diǎn)?如何解決回調(diào)地獄問題?
          14. setTimeout、setInterval、requestAnimationFrame 各有什么特點(diǎn)?

          八、面向?qū)ο?/strong>

          1. 對象創(chuàng)建的方式有哪些?
          2. 對象繼承的方式有哪些?

          九、垃圾回收與內(nèi)存泄漏

          1. 瀏覽器的垃圾回收機(jī)制
          2. 哪些情況會導(dǎo)致內(nèi)存泄漏

          (2)思維導(dǎo)圖

          下圖對JavaScript面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          4. Vue

          (1)面試題目

          一、Vue 基礎(chǔ)

          1. Vue的基本原理
          2. 雙向數(shù)據(jù)綁定的原理
          3. 使用 Object.defineProperty() 來進(jìn)行數(shù)據(jù)劫持有什么缺點(diǎn)?
          4. MVVM、MVC、MVP的區(qū)別
          5. Computed 和 Watch 的區(qū)別
          6. Computed 和 Methods 的區(qū)別
          7. slot是什么?有什么作用?原理是什么?
          8. 過濾器的作用,如何實(shí)現(xiàn)一個過濾器
          9. 如何保存頁面的當(dāng)前的狀態(tài)
          10. 常見的事件修飾符及其作用
          11. v-if、v-show、v-html 的原理
          12. v-if和v-show的區(qū)別
          13. v-model 是如何實(shí)現(xiàn)的,語法糖實(shí)際是什么?
          14. v-model 可以被用在自定義組件上嗎?如果可以,如何使用?
          15. data為什么是一個函數(shù)而不是對象
          16. 對keep-alive的理解,它是如何實(shí)現(xiàn)的,具體緩存的是什么?
          17. $nextTick 原理及作用
          18. Vue 中給 data 中的對象屬性添加一個新的屬性時會發(fā)生什么?如何解決?
          19. Vue中封裝的數(shù)組方法有哪些,其如何實(shí)現(xiàn)頁面更新
          20. Vue 單頁應(yīng)用與多頁應(yīng)用的區(qū)別
          21. Vue template 到 render 的過程
          22. Vue data 中某一個屬性的值發(fā)生改變后,視圖會立即同步執(zhí)行重新渲染嗎?
          23. 簡述 mixin、extends 的覆蓋邏輯
          24. 描述下Vue自定義指令
          25. 子組件可以直接改變父組件的數(shù)據(jù)嗎?
          26. Vue是如何收集依賴的?
          27. 對 React 和 Vue 的理解,它們的異同
          28. Vue的優(yōu)點(diǎn)
          29. assets和static的區(qū)別
          30. delete和Vue.delete刪除數(shù)組的區(qū)別
          31. vue如何監(jiān)聽對象或者數(shù)組某個屬性的變化
          32. 什么是 mixin ?
          33. Vue模版編譯原理
          34. 對SSR的理解
          35. Vue的性能優(yōu)化有哪些
          36. 對 SPA 單頁面的理解,它的優(yōu)缺點(diǎn)分別是什么?
          37. template和jsx的有什么分別?
          38. vue初始化頁面閃動問題
          39. extend 有什么作用
          40. mixin 和 mixins 區(qū)別
          41. MVVM的優(yōu)缺點(diǎn)?

          二、生命周期

          1. 說一下Vue的生命周期
          2. Vue 子組件和父組件執(zhí)行順序
          3. created和mounted的區(qū)別
          4. 一般在哪個生命周期請求異步數(shù)據(jù)
          5. keep-alive 中的生命周期哪些

          三、組件通信

          1. 組件通信的方式

          四、路由

          1. Vue-Router 的懶加載如何實(shí)現(xiàn)
          2. 路由的hash和history模式的區(qū)別
          3. 如何獲取頁面的hash變化
          4. route和route 和route和router 的區(qū)別
          5. 如何定義動態(tài)路由?如何獲取傳過來的動態(tài)參數(shù)?
          6. Vue-router 路由鉤子在生命周期的體現(xiàn)
          7. Vue-router跳轉(zhuǎn)和location.href有什么區(qū)別
          8. params和query的區(qū)別
          9. Vue-router 導(dǎo)航守衛(wèi)有哪些
          10. 對前端路由的理解

          五、Vuex

          1. Vuex 的原理
          2. Vuex中action和mutation的區(qū)別
          3. Vuex 和 localStorage 的區(qū)別
          4. Redux 和 Vuex 有什么區(qū)別,它們的共同思想
          5. 為什么要用 Vuex 或者 Redux
          6. Vuex有哪幾種屬性?
          7. Vuex和單純的全局對象有什么區(qū)別?
          8. 為什么 Vuex 的 mutation 中不能做異步操作?
          9. Vuex的嚴(yán)格模式是什么,有什么作用,如何開啟?
          10. 如何在組件中批量使用Vuex的getter屬性
          11. 如何在組件中重復(fù)使用Vuex的mutation 六、Vue 3.0
          12. Vue3.0有什么更新
          13. defineProperty和proxy的區(qū)別
          14. Vue3.0 為什么要用 proxy?
          15. Vue 3.0 中的 Vue Composition API?
          16. Composition API與React Hook很像,區(qū)別是什么

          七、虛擬DOM

          1. 對虛擬DOM的理解?
          2. 虛擬DOM的解析過程
          3. 為什么要用虛擬DOM
          4. 虛擬DOM真的比真實(shí)DOM性能好嗎
          5. DIFF算法的原理
          6. Vue中key的作用
          7. 為什么不建議用index作為key?

          (2)思維導(dǎo)圖

          下圖對Vue面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          5. React

          (1)面試題目

          一、組件基礎(chǔ)

          1. React 事件機(jī)制
          2. React的事件和普通的HTML事件有什么不同?
          3. React 組件中怎么做事件代理?它的原理是什么?
          4. React 高階組件、Render props、hooks 有什么區(qū)別,為什么要不斷迭代
          5. React如何獲取組件對應(yīng)的DOM元素?
          6. React中可以在render訪問refs嗎?為什么?
          7. 對React的插槽(Portals)的理解,如何使用,有哪些使用場景
          8. 在React中如何避免不必要的render?
          9. 對 React-Intl 的理解,它的工作原理?
          10. 對 React context 的理解
          11. 為什么React并不推薦優(yōu)先考慮使用Context?
          12. React中什么是受控組件和非控組件?
          13. React中refs的作用是什么?有哪些應(yīng)用場景?
          14. React組件的構(gòu)造函數(shù)有什么作用?它是必須的嗎?
          15. React.forwardRef是什么?它有什么作用?
          16. 類組件與函數(shù)組件有什么異同?
          17. React中可以在render訪問refs嗎?為什么?
          18. 對React的插槽(Portals)的理解,如何使用,有哪些使用場景
          19. 在React中如何避免不必要的render?
          20. 對 React-Intl 的理解,它的工作原理?
          21. 對 React context 的理解
          22. 為什么React并不推薦優(yōu)先考慮使用Context?
          23. React中什么是受控組件和非控組件?
          24. React中refs的作用是什么?有哪些應(yīng)用場景?
          25. React組件的構(gòu)造函數(shù)有什么作用?它是必須的嗎?
          26. React.forwardRef是什么?它有什么作用?
          27. 類組件與函數(shù)組件有什么異同?

          二、數(shù)據(jù)管理

          1. React setState 調(diào)用的原理
          2. React setState 調(diào)用之后發(fā)生了什么?是同步還是異步?
          3. React中的setState批量更新的過程是什么?
          4. React中有使用過getDefaultProps嗎?它有什么作用?
          5. React中setState的第二個參數(shù)作用是什么?
          6. React中的setState和replaceState的區(qū)別是什么?
          7. 在React中組件的this.state和setState有什么區(qū)別?
          8. state 是怎么注入到組件的,從 reducer 到組件經(jīng)歷了什么樣的過程
          9. React組件的state和props有什么區(qū)別?
          10. React中的props為什么是只讀的?
          11. 在React中組件的props改變時更新組件的有哪些方法?
          12. React中怎么檢驗(yàn)props?驗(yàn)證props的目的是什么?

          三、生命周期

          1. React的生命周期有哪些?
          2. React 廢棄了哪些生命周期?為什么?
          3. React 16.X 中 props 改變后在哪個生命周期中處理
          4. React 性能優(yōu)化在哪個生命周期?它優(yōu)化的原理是什么?
          5. state 和 props 觸發(fā)更新的生命周期分別有什么區(qū)別?
          6. React中發(fā)起網(wǎng)絡(luò)請求應(yīng)該在哪個生命周期中進(jìn)行?為什么?
          7. React 16中新生命周期有哪些

          四、組件通信

          1. 父子組件的通信方式?
          2. 跨級組件的通信方式?
          3. 非嵌套關(guān)系組件的通信方式?
          4. 如何解決 props 層級過深的問題
          5. 組件通信的方式有哪些

          五、路由

          1. React-Router的實(shí)現(xiàn)原理是什么?
          2. 如何配置 React-Router 實(shí)現(xiàn)路由切換
          3. React-Router怎么設(shè)置重定向?
          4. react-router 里的 Link 標(biāo)簽和 a 標(biāo)簽的區(qū)別
          5. React-Router如何獲取URL的參數(shù)和歷史對象?
          6. React-Router 4怎樣在路由變化時重新渲染同一個組件?
          7. React-Router的路由有幾種模式?
          8. React-Router 4的Switch有什么用?

          六、Redux

          1. 對 Redux 的理解,主要解決什么問題
          2. Redux 原理及工作流程
          3. Redux 中異步的請求怎么處理
          4. Redux 怎么實(shí)現(xiàn)屬性傳遞,介紹下原理
          5. Redux 中間件是什么?接受幾個參數(shù)?柯里化函數(shù)兩端的參數(shù)具體是什么?
          6. Redux 請求中間件如何處理并發(fā)
          7. Redux 狀態(tài)管理器和變量掛載到 window 中有什么區(qū)別
          8. mobox 和 redux 有什么區(qū)別?
          9. Redux 和 Vuex 有什么區(qū)別,它們的共同思想
          10. Redux 中間件是怎么拿到store 和 action? 然后怎么處理?
          11. Redux中的connect有什么作用

          七、Hooks

          1. 對 React Hook 的理解,它的實(shí)現(xiàn)原理是什么
          2. 為什么 useState 要使用數(shù)組而不是對象
          3. React Hooks 解決了哪些問題?
          4. React Hook 的使用限制有哪些?
          5. useEffect 與 useLayoutEffect 的區(qū)別
          6. React Hooks在平時開發(fā)中需要注意的問題和原因
          7. React Hooks 和生命周期的關(guān)系?

          八、虛擬DOM

          1. 對虛擬 DOM 的理解?虛擬 DOM 主要做了什么?虛擬 DOM 本身是什么?
          2. React diff 算法的原理是什么?
          3. React key 是干嘛用的 為什么要加?key 主要是解決哪一類問題的
          4. 虛擬 DOM 的引入與直接操作原生 DOM 相比,哪一個效率更高,為什么
          5. React 與 Vue 的 diff 算法有何不同?

          九、其他

          1. React組件命名推薦的方式是哪個?
          2. react 最新版本解決了什么問題,增加了哪些東西
          3. react 實(shí)現(xiàn)一個全局的 dialog
          4. React 數(shù)據(jù)持久化有什么實(shí)踐嗎?
          5. 對 React 和 Vue 的理解,它們的異同
          6. 可以使用TypeScript寫React應(yīng)用嗎?怎么操作?
          7. React 設(shè)計思路,它的理念是什么?
          8. React中props.children和React.Children的區(qū)別
          9. React的狀態(tài)提升是什么?使用場景有哪些?
          10. React中constructor和getInitialState的區(qū)別?
          11. React的嚴(yán)格模式如何使用,有什么用處?
          12. 在React中遍歷的方法有哪些?
          13. 在React中頁面重新加載時怎樣保留數(shù)據(jù)?
          14. 同時引用這三個庫react.js、react-dom.js和babel.js它們都有什么作用?
          15. React必須使用JSX嗎?
          16. 為什么使用jsx的組件中沒有看到使用react卻需要引入react?
          17. 在React中怎么使用async/await?
          18. React.Children.map和js的map有什么區(qū)別?
          19. 對React SSR的理解
          20. 為什么 React 要用 JSX?
          21. HOC相比 mixins 有什么優(yōu)點(diǎn)?
          22. React 中的高階組件運(yùn)用了什么設(shè)計模式?

          (2)思維導(dǎo)圖

          下圖對React面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          6. 瀏覽器原理

          (1)面試題目

          一、瀏覽器安全

          1. 什么是 XSS 攻擊?
          2. 如何防御 XSS 攻擊?
          3. 什么是 CSRF 攻擊?
          4. 如何防御 CSRF 攻擊?
          5. 什么是中間人攻擊?如何防范中間人攻擊?
          6. 有哪些可能引起前端安全的問題?
          7. 網(wǎng)絡(luò)劫持有哪幾種,如何防范?

          二、進(jìn)程與線程

          1. 進(jìn)程與線程的概念
          2. 進(jìn)程和線程的區(qū)別
          3. 瀏覽器渲染進(jìn)程的線程有哪些
          4. 進(jìn)程之前的通信方式
          5. 僵尸進(jìn)程和孤兒進(jìn)程是什么?
          6. 死鎖產(chǎn)生的原因? 如果解決死鎖的問題?
          7. 如何實(shí)現(xiàn)瀏覽器內(nèi)多個標(biāo)簽頁之間的通信?
          8. 對Service Worker的理解

          三、瀏覽器緩存

          1. 對瀏覽器的緩存機(jī)制的理解
          2. 瀏覽器資源緩存的位置有哪些?
          3. 協(xié)商緩存和強(qiáng)緩存的區(qū)別
          4. 為什么需要瀏覽器緩存?
          5. 點(diǎn)擊刷新按鈕或者按 F5、按 Ctrl+F5 (強(qiáng)制刷新)、地址欄回車有什么區(qū)別?

          四、瀏覽器組成

          1. 對瀏覽器的理解
          2. 對瀏覽器內(nèi)核的理解
          3. 常見的瀏覽器內(nèi)核比較
          4. 常見瀏覽器所用內(nèi)核
          5. 瀏覽器的主要組成部分
          6. 五、瀏覽器渲染原理
          7. 瀏覽器的渲染過程
          8. 瀏覽器渲染優(yōu)化
          9. 渲染過程中遇到 JS 文件如何處理?
          10. 什么是文檔的預(yù)解析?
          11. CSS 如何阻塞文檔解析?
          12. 如何優(yōu)化關(guān)鍵渲染路徑?
          13. 什么情況會阻塞渲染?

          六、瀏覽器本地存儲

          1. 瀏覽器本地存儲方式及使用場景
          2. Cookie有哪些字段,作用分別是什么
          3. Cookie、LocalStorage、SessionStorage區(qū)別
          4. 前端儲存的?式有哪些?
          5. IndexedDB有哪些特點(diǎn)?

          七、瀏覽器同源策略

          1. 什么是同源策略
          2. 如何解決跨越問題
          3. 正向代理和反向代理的區(qū)別
          4. Nginx的概念及其工作原理

          八、瀏覽器事件機(jī)制

          1. 事件是什么?事件模型?
          2. 如何阻止事件冒泡
          3. 對事件委托的理解
          4. 事件委托的使用場景
          5. 同步和異步的區(qū)別
          6. 對事件循環(huán)的理解
          7. 宏任務(wù)和微任務(wù)分別有哪些
          8. 什么是執(zhí)行棧
          9. Node 中的 Event Loop 和瀏覽器中的有什么區(qū)別?process.nextTick 執(zhí)行順序?
          10. 事件觸發(fā)的過程是怎樣的

          九、瀏覽器垃圾回收機(jī)制

          1. V8的垃圾回收機(jī)制是怎樣的
          2. 哪些操作會造成內(nèi)存泄漏?

          (2)思維導(dǎo)圖

          下圖對瀏覽器原理面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          7. 計算機(jī)網(wǎng)絡(luò)

          (1)面試題目

          一、HTTP協(xié)議

          1. GET和POST的請求的區(qū)別
          2. POST和PUT請求的區(qū)別
          3. 常見的HTTP請求頭和響應(yīng)頭
          4. HTTP狀態(tài)碼304是多好還是少好
          5. 常見的HTTP請求方法
          6. OPTIONS請求方法及使用場景
          7. HTTP 1.0 和 HTTP 1.1 之間有哪些區(qū)別?
          8. HTTP 1.1 和 HTTP 2.0 的區(qū)別
          9. HTTP和HTTPS協(xié)議的區(qū)別
          10. GET方法URL長度限制的原因
          11. 當(dāng)在瀏覽器中輸入 Google.com 并且按下回車之后發(fā)生了什么?
          12. 對keep-alive的理解
          13. 頁面有多張圖片,HTTP是怎樣的加載表現(xiàn)?
          14. HTTP2的頭部壓縮算法是怎樣的?
          15. HTTP請求報文的是什么樣的?
          16. HTTP響應(yīng)報文的是什么樣的?
          17. HTTP協(xié)議的優(yōu)點(diǎn)和缺點(diǎn)
          18. 說一下HTTP 3.0
          19. HTTP協(xié)議的性能怎么樣
          20. URL有哪些組成部分
          21. 與緩存相關(guān)的HTTP請求頭有哪些

          二、HTTPS協(xié)議

          1. 什么是HTTPS協(xié)議?
          2. TLS/SSL的工作原理
          3. 數(shù)字證書是什么?
          4. HTTPS通信(握手)過程
          5. HTTPS的特點(diǎn)
          6. HTTPS是如何保證安全的?

          三、HTTP狀態(tài)碼

          1. 常見的狀態(tài)碼
          2. 同樣是重定向,307,303,302的區(qū)別?

          四、DNS協(xié)議介紹

          1. DNS 協(xié)議是什么
          2. DNS同時使用TCP和UDP協(xié)議?
          3. DNS完整的查詢過程
          4. 迭代查詢與遞歸查詢
          5. DNS 記錄和報文

          五、網(wǎng)絡(luò)模型

          1. OSI七層模型
          2. TCP/IP五層協(xié)議

          六、TCP與UDP

          1. TCP 和 UDP的概念及特點(diǎn)
          2. TCP和UDP的區(qū)別
          3. TCP和UDP的使用場景
          4. UDP協(xié)議為什么不可靠?
          5. TCP的重傳機(jī)制
          6. TCP的擁塞控制機(jī)制
          7. TCP的流量控制機(jī)制
          8. TCP的可靠傳輸機(jī)制
          9. TCP的三次握手和四次揮手
          10. TCP粘包是怎么回事,如何處理?
          11. 為什么udp不會粘包?

          七、WebSocket

          1. 對 WebSocket 的理解
          2. 即時通訊的實(shí)現(xiàn):短輪詢、長輪詢、SSE 和 WebSocket 間的區(qū)別?

          (2)思維導(dǎo)圖

          下圖對計算機(jī)網(wǎng)絡(luò)面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          8. 前端性能優(yōu)化

          (1)面試題目

          一、CDN

          1. CDN的概念
          2. CDN的作用
          3. CDN的原理
          4. CDN的使用場景

          二、懶加載

          1. 懶加載的概念
          2. 懶加載的特點(diǎn)
          3. 懶加載的實(shí)現(xiàn)原理
          4. 懶加載與預(yù)加載的區(qū)別

          三、回流與重繪

          1. 回流與重繪的概念及觸發(fā)條件
          2. 如何避免回流與重繪?
          3. 如何優(yōu)化動畫?
          4. documentFragment 是什么?用它跟直接操作 DOM 的區(qū)別是什么?

          四、節(jié)流與防抖

          1. 對節(jié)流與防抖的理解
          2. 實(shí)現(xiàn)節(jié)流函數(shù)和防抖函數(shù)

          五、圖片優(yōu)化

          1. 如何對項(xiàng)目中的圖片進(jìn)行優(yōu)化?
          2. 常見的圖片格式及使用場景

          六、Webpack優(yōu)化

          1. 如何提?webpack的打包速度?
          2. 如何減少 Webpack 打包體積
          3. 如何?webpack來優(yōu)化前端性能?
          4. 如何提?webpack的構(gòu)建速度?

          (2)思維導(dǎo)圖

          下圖對前端性能優(yōu)化面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          9. 手寫代碼

          (1)面試題目

          一、JavaScript 基礎(chǔ)

          1. 手寫 Object.create
          2. 手寫 instanceof 方法
          3. 手寫 new 操作符
          4. 手寫 Promise
          5. 手寫 Promise.then
          6. 手寫 Promise.all
          7. 手寫 Promise.race
          8. 手寫防抖函數(shù)
          9. 手寫節(jié)流函數(shù)
          10. 手寫類型判斷函數(shù)
          11. 手寫 call 函數(shù)
          12. 手寫 apply 函數(shù)
          13. 手寫 bind 函數(shù)
          14. 函數(shù)柯里化的實(shí)現(xiàn)
          15. 實(shí)現(xiàn)AJAX請求
          16. 使用Promise封裝AJAX請求
          17. 實(shí)現(xiàn)淺拷貝
          18. 實(shí)現(xiàn)深拷貝

          二、數(shù)據(jù)處理

          1. 實(shí)現(xiàn)日期格式化函數(shù)
          2. 交換a,b的值,不能用臨時變量
          3. 實(shí)現(xiàn)數(shù)組的亂序輸出
          4. 實(shí)現(xiàn)數(shù)組元素求和
          5. 實(shí)現(xiàn)數(shù)組的扁平化
          6. 實(shí)現(xiàn)數(shù)組去重
          7. 實(shí)現(xiàn)數(shù)組的flat方法
          8. 實(shí)現(xiàn)數(shù)組的push方法
          9. 實(shí)現(xiàn)數(shù)組的filter方法
          10. 實(shí)現(xiàn)數(shù)組的map方法
          11. 實(shí)現(xiàn)字符串的repeat方法
          12. 實(shí)現(xiàn)字符串翻轉(zhuǎn)
          13. 將數(shù)字每千分位用逗號隔開
          14. 實(shí)現(xiàn)非負(fù)大整數(shù)相加
          15. 實(shí)現(xiàn) add(1)(2)(3)
          16. 實(shí)現(xiàn)類數(shù)組轉(zhuǎn)化為數(shù)組
          17. 使用 reduce 求和
          18. 將js對象轉(zhuǎn)化為樹形結(jié)構(gòu)
          19. 使用ES5和ES6求函數(shù)參數(shù)的和
          20. 解析 URL Params 為對象

          三、場景應(yīng)用

          1. 循環(huán)打印紅黃綠
          2. 實(shí)現(xiàn)每隔一秒打印 1,2,3,4
          3. 小孩報數(shù)問題
          4. 用Promise實(shí)現(xiàn)圖片的異步加載
          5. 實(shí)現(xiàn)發(fā)布-訂閱模式
          6. 查找文章中出現(xiàn)頻率最高的單詞
          7. 封裝異步的fetch,使用async await方式來使用
          8. 實(shí)現(xiàn)prototype繼承
          9. 實(shí)現(xiàn)雙向數(shù)據(jù)綁定
          10. 實(shí)現(xiàn)簡單路由
          11. 實(shí)現(xiàn)斐波那契數(shù)列
          12. 字符串出現(xiàn)的不重復(fù)最長長度
          13. 使用 setTimeout 實(shí)現(xiàn) setInterval
          14. 實(shí)現(xiàn) jsonp
          15. 判斷對象是否存在循環(huán)引用

          (2)思維導(dǎo)圖

          下圖對手寫代碼面試題的考察頻率進(jìn)行了大致的區(qū)分,可以選擇性的學(xué)習(xí):

          10. 代碼輸出結(jié)果

          代碼輸出結(jié)果是面試中常考的題目,一段代碼中可能涉及到很多的知識點(diǎn),這就考察到了應(yīng)聘者的基礎(chǔ)能力。在前端面試中,常考的代碼輸出問題主要涉及到以下知識點(diǎn):異步編程、事件循環(huán)、this指向、作用域、變量提升、閉包、原型、繼承等。

          如果這一篇文章中的面試題都能搞懂了,那面試中的代碼輸出結(jié)果問題基本都很容易就解決了。

          11. 前端工程化

          (1)面試題目

          一、Git

          1. git 和 svn 的區(qū)別
          2. 經(jīng)常使用的 git 命令?
          3. git pull 和 git fetch 的區(qū)別
          4. git rebase 和 git merge 的區(qū)別

          二、Webpack

          1. webpack與grunt、gulp的不同?
          2. webpack、rollup、parcel優(yōu)劣?
          3. 有哪些常?的Loader?
          4. 有哪些常?的Plugin?
          5. bundle,chunk,module是什么?
          6. Loader和Plugin的不同?
          7. webpack的構(gòu)建流程?
          8. 編寫loader或plugin的思路?
          9. webpack的熱更新是如何做到的?說明其原理?
          10. 如何?webpack來優(yōu)化前端性能?
          11. 如何提?webpack的打包速度?
          12. 如何提?webpack的構(gòu)建速度?
          13. 怎么配置單?應(yīng)??怎么配置多?應(yīng)??

          三、其他

          1. Babel的原理是什么?

          注: 關(guān)于前端工程相關(guān)的面試題,由于個人還在整理中,還不是很全面。

          12. 其他

          除了上面給出的這些類別的面試題,其實(shí)還有很多,比如數(shù)據(jù)結(jié)構(gòu)與算法,前端業(yè)務(wù)實(shí)現(xiàn)等。關(guān)于數(shù)據(jù)結(jié)構(gòu)與算法,主要考察方向就是LeetCode題目,可以參考一個搬磚的胖子大佬的codeTop來針對性的刷題。下面只給出幾個業(yè)務(wù)實(shí)現(xiàn)的問題,大家可以參考:

          1. 如何優(yōu)化長列表
          2. 如何實(shí)現(xiàn)一個dialog組件
          3. 服務(wù)端渲染的原理
          4. 項(xiàng)目打包到服務(wù)器的整個過程
          5. 以前端角度出發(fā)做好 SEO 需要考慮什么?
          6. 如何實(shí)現(xiàn)前端登錄
          7. 如何實(shí)現(xiàn)掃碼登錄

          最后,這篇文章只給出了前端面試中經(jīng)常考察到的“八股文”,基本沒有涉及到項(xiàng)目經(jīng)歷相關(guān)的問題, 只能根據(jù)自己的實(shí)際情況去作答了。整理不易,如果覺得有用就點(diǎn)個贊吧!


          原文鏈接:https://juejin.cn/post/6996841019094335519


          主站蜘蛛池模板: 福利一区二区三区视频在线观看| 中文字幕一区二区三区免费视频| 国产乱码精品一区二区三区中| 久久伊人精品一区二区三区| 国产经典一区二区三区蜜芽| 亚洲AV成人一区二区三区观看 | 精品香蕉一区二区三区| 国产精品无圣光一区二区| 精品永久久福利一区二区| 精品一区精品二区制服| 亚洲国产成人久久一区二区三区| 国精产品一区一区三区有限在线| 国产一区二区视频免费| 内射女校花一区二区三区| 精品人妻一区二区三区浪潮在线| 日韩在线一区高清在线| 国产一区二区免费视频| 亚洲AV成人一区二区三区在线看 | 在线免费视频一区二区| 国产成人精品一区在线| 免费av一区二区三区| 在线成人综合色一区| 国产成人无码一区二区三区| 精品亚洲av无码一区二区柚蜜| 亚洲国产一区二区视频网站| 亚洲一区在线观看视频| 成人免费视频一区二区| 乱色精品无码一区二区国产盗| 内射少妇一区27P| 人妻无码一区二区三区AV| 精品视频午夜一区二区| 无码精品人妻一区二区三区人妻斩| 波多野结衣AV一区二区三区中文| 中文字幕日韩一区二区三区不| 亚洲乱色熟女一区二区三区蜜臀| 中文字幕一区二区三区免费视频| 久久中文字幕无码一区二区| 国产乱码精品一区二区三区中文 | 大香伊人久久精品一区二区| 国产精品乱码一区二区三区| 国产乱人伦精品一区二区在线观看|