天天看點

重拾前端技能為你的職業前程保駕護航

前言

最近自己身邊有好幾個小夥伴由于各種原因(個人,疫情等都有)離職了,但是今年好像都是行情不太好的一年。許多的小公司都倒閉了,大公司也裁員,是以離職的小夥伴好幾個都在家待職 1-3 個月。由于自己身邊的小夥伴目前處于這樣一種狀況,在職(活在舒适區)的我也有了一點危機感。于是自己整理裡一份前端清單來鞏固自己的前端知識,以便差缺補漏。

基礎篇

前端入門必知-結構、表現、行為。

HTML - 結構

超文本标記語言(英語:HyperText Markup Language,簡稱:HTML)是一種用于建立網頁的标準标記語言。HTML是一種基礎技術,常與CSS、JavaScript一起被衆多網站用于設計網頁、網頁應用程式以及移動應用程式的使用者界面。網頁浏覽器可以讀取HTML檔案,并将其渲染成可視化網頁。HTML描述了一個網站的結構語義随着線索的呈現,使之成為一種标記語言而非程式設計語言。(摘自維基百科)

HTML

常見面試題(比較多列舉部分):

  1. DOCTYPE 的作用是什麼?
  2. 你是如何了解語義化的?
  3. meta viewport 的作用?
  4. 你用過哪些 HTML 5 标簽?
  5. 行内元素、塊級元素以及空元素都有哪些(列舉)?
  6. ...

CSS - 表現

層疊樣式表(英語:Cascading Style Sheets,縮寫:CSS;又稱串樣式清單、級聯樣式表、串接樣式表、階層式樣式表)是一種用來為結構化文檔(如HTML文檔或XML應用)添加樣式(字型、間距和顔色等)的計算機語言,由W3C定義和維護。(摘自維基百科)

CSS

相關的面試題(比較多列舉部分):

  1. 盒子模型
  2. CSS權重如何計算?
  3. 栅欄布局
  4. 讓一個元素上下左右居中
  5. 清除浮動的方式
  6. 什麼是BFC,如何解決?
  7. CSS3動畫系列
  8. ...

JavaScript - 行為

JavaScript(通常縮寫為JS)是一種進階的、解釋型的程式設計語言。JavaScript是一門基于原型、函數先行的語言,是一門多範式的語言,它支援面向對象程式設計,指令式程式設計,以及函數式程式設計。(摘自維基百科)

JavaScript

相關的面試題(比較多列舉部分):

  1. 資料類型?
  2. 值傳遞和引用傳遞?
  3. 實作繼承的幾種方式?(幾種繼承方式的差別)
  4. 類型轉換
  5. this 問題
  6. 閉包
  7. 深淺拷貝
  8. 原型
  9. ...

基礎進階篇

ES6

ECMAScript 6.0(以下簡稱 ES6)是 JavaScript 語言的标準。

ES6

相關的知識點:

  1. var、let、const
  2. 新增的數組、對象方法
  3. promise
  4. Class
  5. Proxy
  6. async await
  7. Generator
  8. ...

TypeScript

JavaScript的嚴格超集。(簡稱:TS)

TypeScript

相關的知識點:

  1. 和 JavaScript 的差別
  2. TS 特性和優點、缺點
  3. 資料類型
  4. 接口
  5. T類
  6. 裝飾器
  7. TSD
  8. Declare
  9. 泛型
  10. ...

Sass/Less/Stylus

CSS 預處理器:用一種專門的程式設計語言,為CSS增加了一些程式設計的特性,将CSS作為目标生成檔案,然後開發者就隻要使用這種語言進行編碼工作。通俗的說,CSS預處理器用一種專門的程式設計語言,進行Web頁面樣式設計,然後再編譯成正常的CSS檔案,以供項目使用。CSS預處理器為CSS增加一些程式設計的特性,無需考慮浏覽器的相容性問題,例如你可以在CSS中使用變量、簡單的邏輯程式、函數等等在程式設計語言中的一些基本特性,可以讓你的CSS更加簡潔、适應性更強、可讀性更佳,更易于代碼的維護等諸多好處。

架構篇

前端三駕馬車

React.js

一個用于建構使用者界面的 JavaScript 庫。

React.js

相關的知識點:

  1. 生命周期
  2. 通信(父子元件,兄弟元件,跨多層)
  3. HOC 和 mixins
  4. Hooks
  5. 事件機制
  6. diff 原理
  7. redux
  8. ...

Vue.js

漸進式 JavaScript 架構

Vue.js

相關的知識點:

  1. 生命周期
  2. 通信(父子元件,兄弟元件,跨多層)
  3. extend
  4. mixin 和 mixins
  5. computed 和 watch
  6. keep-alive
  7. v-show 與 v-if
  8. 響應式原理
  9. NextTick
  10. Vuex
  11. diff
  12. Vue 3
  13. ...

Angular

一款優秀的前端JS架構,已經被用于Google的多款産品當中。AngularJS有着諸多特性,最為核心的是:MVC(Model–view–controller)、子產品化、自動化雙向資料綁定、語義化标簽、依賴注入等等。

(由于個人學習使用 Angular 的時候還是 1 和 2 版本,如今版本差異太大,此處暫時不做總結舉例)

工具篇

打包工具

  1. Webpack
  2. gulp
  3. grunt
  4. rollup
  5. Parcel
  6. ...

測試工具

  1. Mocha
  2. Jest
  3. Chai
  4. ...

網絡協定、資料結構、算法等

網絡協定

  1. UDP
  2. TCP
  3. HTTP
  4. HTTP/2

資料結構

  1. 隊列
  2. 連結清單
  3. 集合(并、合、差)
  4. ...

算法

  1. 位運算
  2. 排序
  3. 連結清單
  4. ...

擴充

Nodejs、ReactNative、Flutter、小程式、Git、Svn...

【技術創作101訓練營】