從未寫過年度總結,恰逢今年是變化較大的一年,因此須要有一個總結儀式。同時但願在將來的每年都能有一次年度總結,看看當前走過的路,也回望以往的不足。畢竟,前端一世,草木一秋。javascript
關於個人年度總結,這裏主要分爲如下幾個模塊(文章篇幅很長,你們能夠按需閱讀):css
「技術」模塊主要講解這一年來自我技術方面的創新以及實踐。「學習」模塊會講解 2019 的一些學習內容以及前端新認知,而且也會講解自個人學習方法,但願對在校以及剛入職前端工做的同窗有所幫助(鑑於不少掘友高頻詢問如何學習前端)。「招聘」是今年最有感觸的一塊,會重點講解本身在阿里的招聘感覺,但願對想入職阿里工做的同窗有所啓迪。前端
抱歉說明:這裏對掘友們說一聲抱歉,在回覆問題時因爲工做忙碌而不夠耐心(問相同問題的人太多),接下來的文章會重點針對高頻問題在「學習」和「招聘」模塊作一些闡述。vue
今年是技術成長最多的一年,也是自我轉變最快的一年。如下是本身總結的一張技術結構圖,其中標紅的部分是今年有所接觸或深刻的部分:java
對我而言,今年技術創新的關鍵詞是「UI 框架 / 腳手架」和「低代碼(Low Code)」,技術實踐的關鍵詞是「桌面端」。node
今年年初的主要工做是對基礎組件庫進行框架重構以及對業務組件庫進行框架設計,這是自我感受最快樂的時光,由於一直不停的須要解決一些棘手的問題(每每困難是自我成長的機會點)。接下來將從如下四個方面講解 UI 框架 / 腳手架設計的過程:react
公司現有的基礎組件庫 1.x 基於 Element UI 框架進行設計,在開發的過程當中發現 Element UI 框架帶來了如下一些問題(相對我司而言):jquery
友情提示:若是 UI 框架的一些能力(例如
utils
、commonjs2 版本的各個組件按需引入
、umd 版本
)根據公司自身的狀況並不須要,那麼徹底能夠砍掉從而大幅度簡化 Webpack 配置(除非將來想要開源)。git
爲了解決上述問題,對公司現有的基礎組件庫 1.x 版本進行了框架重構。es6
首先重點研究了 Element UI 框架的設計,其次在此基礎上對組件庫進行了框架的重構設計,重構成 2.x 版本後的框架大體以下圖所示:
從圖中能夠發現, 2.x 版本的 UI 組件庫特性以下:
額外吐槽:這個過程當中遇到了賊多的坑,深刻解讀了一些 Vue CLI 3.x 的源碼,順便給 Vue CLI 3.x 提出了一些 Issue。除此以外,全量接入 Vuepress 0.x / 1.x 也是一個很是辛酸的過程(連主管都去解讀 Vuepress 源碼了,你還有什麼理由不努力)。
通用業務組件庫是在基礎組件庫的基礎上,爲了知足各個 BU 通用業務場景的訴求而衍生出來的組件庫。各個 BU 能夠單首創建本身的業務組件庫,可是可能形成如下問題:
所以構建一個跨 BU 的通用業務組件庫是有必要的,但同時這個業務組件庫須要符合如下特性:
基於以上一些特性需求,採用了 Lerna + Vue CLI 3.x + Webpack + Babel 進行了業務組件庫的框架設計:
該業務組件庫在基礎組件庫 2.x 特性的基礎上,還存在以下特性:
utils
、i18n
等自然成爲了業務基礎組件,被各個業務組件複用的同時也可被業務複用umd
能力額外吐槽:這種按需加載的模式最好是和 Vue CLI 3.x 創建配套體系,例如業務項目的腳手架是基於 Vue CLI 3.x 設計的,那麼自然能夠進行無縫適配。
因爲 Vue CLI 3.x 提供了插件化的開發方式,因而基於業務組件庫的框架設計抽離了一套 UI 腳手架,從而能夠快速構建一個新的組件庫。該腳手架在業務組件庫的特性基礎上,還存在以下特性:
固然這個 UI 腳手架的設計也存在一些缺陷:
經過一鍵命令生成的 UI 組件庫結構大體以下:
.
├── packages # workspaces
│ ├── alert # 警告(不進行 Webpack 構建)
│ │ ├── alert.vue # 組件源碼
│ │ ├── index.js # npm包入口文件
│ │ └── package.json # npm包描述文件
│ ├── btn # 按鈕(進行 Webpack 構建)
│ │ ├── lib # 目標文件
│ │ │ └── lib.common.js # npm包入口文件
│ │ ├── btn.vue # 組件源碼
│ │ ├── index.js # 構建入口文件
│ │ ├── package.json # npm包描述文件(須要vue cli的開發態依賴)
│ │ └── vue.config.js # 構建配置文件
│ ├── locale # 國際化
│ │ ├── lang # 語言包
│ │ │ ├── enjs # 英文
│ │ │ └── zh_CN.js # 中文
│ │ ├── mixins # 各個組件調用的國際化API
│ │ ├── src # 源碼
│ │ ├── index.js # npm包入口文件
│ │ └── package.json # npm包描述文件
│ ├── theme # 樣式
│ │ ├── lib # 目標文件
│ │ │ ├── alert.css # 警告樣式
│ │ │ ├── btn.css # 按鈕樣式
│ │ │ ├── index.css # 整體樣式
│ │ │ └── select.css # 選擇器樣式
│ │ ├── src # 源文件
│ │ │ ├── utils # 通用方法和變量
│ │ │ ├── alert.less # 警告樣式
│ │ │ ├── btn.less # 按鈕樣式
│ │ │ ├── index.less # 整體樣式
│ │ │ └── select.less # 選擇器樣式
│ │ ├── gulpfile.js # 構建配置文件
│ │ └── package.json # npm包描述文件
│ └── utils # 工具方法
│ ├── lib # 目標文件(這裏也能夠採用lodash的方式,去掉lib文件夾這一層)
│ ├── src # 源文件
│ ├── babel.config.js # 構建配置文件
│ └── package.json # npm包描述文件
├── public # 公共資源目錄
├── src # 開發態目錄
├── .browserslistrc # UI框架目標瀏覽器配置
├── .cz-config.js # cz定製化提交說明配置
├── .gitignore # git忽略配置
├── .lintstagedrc # lint-staged配置
├── babel.config.js # vue cli的babel配置
├── lerna.json # lerna配置
├── package.json # vue cli容器描述文件(容器不是npm包)
├── postcss.config.js # postcss配置
├── README.md # 說明
└── vue.common.js # 通用的組件構建配置文件
複製代碼
友情延伸:專門寫了一篇關於 UI 腳手架設計的文章,重點講解了 Element UI 框架的設計原理以及 UI 腳手架的總體框架設計方案,感興趣的同窗具體可查看 Vue CLI 3 結合 Lerna 進行 UI 框架設計。
低代碼解決方案是年中的時候設計的,主要源於業務的訴求(須要注意技術都是源於業務的訴求,不要憑白造輪子)。低代碼的設計主要經歷瞭如下幾個階段(加粗的部分由其餘同事實現或者和其餘同事一塊兒協做實現):
額外補充:當時視圖渲染器在邏輯設計以及數據處理上沒有徹底想清楚,固然後續還須要設計視圖拖拽引擎,最終實現可視化低代碼的設計。
除了本身參與的低代碼設計,也深入學習了阿里的低代碼中臺產品,這個體會就深了,因爲沒有開源這裏再也不贅述。
桌面端是年底才接觸的,對於桌面端的開發主要經歷瞭如下幾個階段:
我的認知的現有 PC 桌面端的開發類型主要分爲如下幾種類型:
桌面客戶端類型 | 比喻 | 特性 |
---|---|---|
純 Native 開發(C++、Objective-C、C#、duilib) | 汽車 | 性能好、安裝包小、XP兼容性好、開發週期長、難以實現快速迭代、跨平臺開發困難 |
純 Web 開發(Node.js、JavaScript) | 電動車 | 跨平臺、性能相對較差、內存佔用高 |
Hybrid 混合開發(C++、JavaScript) | 油電混合動力車 | 安裝包大、性能相對 Native 較差,相對純 Web 較好、複雜界面和動畫效果、跨平臺、可實現快速迭代、框架開源且升級快 |
其中涉及到 Web 前端的桌面端應用開發框架以下(這裏只是作簡單調研):
客戶端開發框架 | 類型 | 特性 | 應用 |
---|---|---|---|
Nw.js | 純 Web 開發 | 內存佔用高、支持XP 系統、啓動速度、性能較差 | DingTalk、Mongo Management Studio、Soundnode |
Electron | 純 Web 開發 | 不支持 XP 系統(定製低版本能夠)、最低支持 Win 7(2B/2G 有必定的量)、與 Native UI 框架融合難度高 | Atom、Visual Studio Code、Skype |
Chromium Embedded Framework(CEF) | Hybrid 混合開發 | 基於 Google Chromium 項目開源(兼容性好)、支持 XP 系統、可方便定製和融合 Native UI 框架、內存佔用等性能良好 | DingTalk、有道、網易雲音樂、Github |
開發純 Native 應用的成本較高,通常對性能要求極高的產品纔會選擇此類開發方式。一般而言,從開發成本、操做系統兼容性、跨平臺能力、UI 效果以及產品的迭代速度等方面而言,採用純 Web 的開發方式是大部分公司都會選擇的高性價比開發方式。固然像 DingTalk 這樣的產品在考慮總體性價比時選擇 Hybrid 混合開發是一種很是高效的遷移方案(不只能夠提高產品的性能,實現部分高性能需求的 UI Native 化,還能夠從 Nw.js 進行部分應用的平穩遷移)。
公司現有的桌面端應用採用 CEF 多容器隔離的框架進行設計,大體的框架圖以下所示:
從圖中能夠發現,經過 CEF 多容器隔離,每個應用均可以被理解爲一個獨立的 SPA 應用(多容器隔離能夠簡單理解爲多頁應用)。那麼這個框架所產生的問題以下:
爲了解決以上問題,構思了新的框架設計進行桌面端開發:
友情提示:這裏的公共服務不少,例如還包括 Native API、本地存儲、TypeScript 公共類型定義等。
腳手架只是約束了應用的技術棧(包括開發、校驗、構建和測試流程等),除此以外還須要約束工程項目內部更加細緻的開發規範,後續更利於多人協做和維護。這裏對每一個應用的開發作出了以下的規範約束(2 個月的 React 開發經驗提出的規範,若是不夠完善請你們多多補充):
友情提示:若是是 React Hooks 開發(React Hooks Redux),能夠去除應用視圖 / 容器。應用視圖 / 業務是按照業務模塊進行劃分(能造成必定的通用性更優)。應用視圖 / 容器和應用視圖 / 業務造成一一對應關係,除了擔任控制器的做用,還能夠起到跨業務模塊通訊的能力。應用視圖 / 佈局可快速適應應用視圖 / 業務模塊的需求變化,造成新的佈局能力。若是是 TypeScript 開發,那麼應用視圖層級建議平鋪,不然會形成
Props
多層級傳遞的聲明冗餘(固然 TypeScript 聲明應該按照應用視圖 / 容器進行繼承劃分,傳遞Props
的時候聲明會變的更加清晰簡潔)。
對我而言,今年學習實踐的關鍵詞是「Vue 2.x 以及 Vue CLI 3.x 源碼解讀」、「算法學習」和「重拾 React 」。學習認知的關鍵詞是「Graphql & BFF」、「中臺」、「微前端」和「Serverless」。
不少人可能對於源碼解讀會產生必定的誤解,他們的認知每每是這樣的:
可是當他們遇到稍微難以解決的問題時每每是這樣的:
源碼解讀固然是爲了讓你更瞭解你所使用的框架,從而讓你能夠快速定位技術 / 業務問題從而高效的解決問題,快速設計解決業務的可行方案以及設計一些通用的技術方案等等。可是源碼解決每每確實是複雜困難的,通常個人作法以下:
友情提示:這裏附上個人 Vue 源碼解讀實踐文章 基於Vue實現一個簡易MVVM 以及 JQuery 源碼分析 (JQuery 源碼分析是我實習的時候參考《鋒利的jQuery》/《jQuery技術內幕》/《JavaScript高級程序設計》/《JavaScript權威指南》一行行代碼調試而且一行行註釋解讀出來的,加了不少對於 JavaScript 基礎知識的理解。那個時候時間較多,純粹是一件既笨又無聊還低效且須要耐心堅持的事情,大概花了幾個月的時間,若是是技術小白仍是建議能夠看看的)。
算法學習是從面試中萌發出來的念頭。當時參加有贊面試被算法題按在了地上摩擦,決定好好從新學習一下算法。 I-Algorithms 是參考了《算法導論》/ javascript-algorithm / CLRS 打造的一個簡單易懂的 JavaScript 算法學習教程文檔。 固然這一塊中途被放下了,由於從新入職後根本沒時間......不事後面等我適應了阿里的工做,我仍是會重拾這一塊的,感興趣的同窗能夠查看一下,目前學習的內容以下:
第一章:算法基礎
第二章:函數的增加
友情提示:感興趣的同窗能夠查看 Github 倉庫的算法學習介紹 I-Algorithms(自己這個項目也有值得小白學習的地方哦),也能夠查看文檔的線上學習地址 I-Algorithms。
這個就沒多少能夠說的餘地了,2016年實習的時候正好搞過 React SSR (那時候連一行 JQuery 都不會寫。因爲以前是作嵌入式開發,相對於轉學 React 不算是什麼困難的事情,把官網過了一遍從新回憶了一下 React,簡單基於 Create React App ( Vue CLI 3.x 的插件系統真香)寫了一個 React 教程瞭解一下 React 周邊,主要包括了(也是半途而廢):
如下是半途而廢的部分
那這裏遇到一些從 Vue 轉 React 或者二者都會的面試者時,我每每會問他們對於這兩個框架的見解,其實這種問題每每只是想聽聽他們的理解而已。那對於我而言,React 和 Vue 相比:
友情提示:若是是 Vue 開發者想嚐嚐 React 的鮮,能夠看看我寫的這個倉庫 React-Tutorial(半途而廢系列)。
鑑於不少加個人掘友都高頻詢問前端應該如何學習,我這裏額外將之前學習前端的方法列舉一下,供掘友們參考。個人學習方法大體分爲如下幾個過程:
友情提示:笨鳥先飛。
若是想要系統的學習一個專業,那麼確定是須要靜下心來花時間系統的學習跟這個專業相關的任何基礎知識,書籍固然是最好的途徑。我這裏將以前學習的書籍列舉一下,大概以下圖所示:
友情提示:讀書是很花時間的,若是你以爲本身靜不下心來讀書,我以爲看看視頻也是不錯的。若是你靜的下心來讀書,那就好好讀幾本本身欠缺的書籍。固然除了一些技術書籍,日常也應該注意閱讀一些可以改善思惟的書籍(辛虧小時候養成了閱讀文學做品的好習慣)。
好記性固然不如爛筆頭,有些書你讀着讀着就變得難以理解,或者你讀着讀着就忘記了。這個時候最笨但最有效的方法是邊讀邊實踐邊記錄。記錄和實踐的過程一方面能夠幫助你理解書中的闡述,另一方面固然也能夠幫助你往後快速回憶書本的大體內容(尤爲是面試前特別管用),達到拋開書本提取精華的目的。這裏我將我以前的筆記整理出來供你們參考:
如下是早期的筆記(很 Low 的 Word 文檔),可是有好幾百頁幾萬字的那種(如今本身看看都蠻佩服本身的),那時候還不知道用 MD 格式:
友情延伸:ziyi2/awesome-front-end 是本身整理的一個前端大雜燴,除了筆記、書籍和博客以外,還有我珍藏多年的書籤(不定時更新)。
文檔部分主要強調的是閱讀能力和書寫能力:
閱讀能力:這裏須要強調的是培養本身閱讀英文文檔的能力(儘可能閱讀官方文檔,除非你很難看懂文檔到底說了什麼)。若是你以爲閱讀比較吃力能夠配套一些 Chrome 翻譯插件(例如 Google 翻譯)。一般在研究一些新技術的時候須要閱讀一些官方文檔(這些文檔大比例都是英文文檔,並且通常狀況下英文文檔的更新會比中文文檔更新的更快),因此閱讀英文文檔是一個很是重要的能力。 書寫能力:書寫文檔能力是一種很是很是很是重要的能力,它能夠很大程度上減小設計和溝通成本(防遺忘 / 防重複說明等)。固然書寫規範也是很重要的,你能夠參考一些開源做品的官方文檔書寫風格,也能夠參考一些特定的書寫規範(例如阮一峯的中文技術文檔的寫做規範)。固然寫文檔也須要養成實時更新的好習慣,不然過期的內容反而會致使設計和溝通成本的提高。
友情延伸:若是公司可以使用語雀,推薦語雀做爲技術文檔產品是一個不錯的選擇。若是不能使用外部產品,能夠自行創建文檔預覽站點,例如使用 VuePress / React Static 等。
寫技術博文是今年開始才真正養成的習慣,雖然本身曾經有一個博客站點 www.ziyi2.cn,但其實更多的是記錄一些學習筆記或者生活。今年開始在 Github 上使用 Issue 書寫技術博客(之前總以爲要有一個本身的域名站點且網頁要酷炫,如今是真的以爲要好用且實在,不搞花裏胡哨的東西):
使用 Github 記錄博客的好處是你能夠關聯給三方庫提的 Issue,也能夠博文之間互相關聯,還能夠去實時評論和關閉 Issue。固然玩法只會更多(例如基於 Issues 生成靜態站點等),對於我來講這些功能就夠了(以前看到一篇寫的很是好的 Github Issue 博客教程,暫時找不到了)。
差很少上面截圖的文章是我今年產出的全部博客文章(下半年換公司後只在公司的內部站點發表了一篇文章),若是對其中某些博文感興趣的同窗能夠查看 Ziyi2 Github Issues。
其實今年原本沒有想過跳槽,只是以爲到明年年中就工做三年了(三年經驗比較好換工做,且確實本身想換個離家近一點的公司,阿里固然成了首要目標),今年能夠先出來試試水,看看是否是從物聯網公司往互聯網公司跳槽會比較難。結果一不當心就面上了,最終走的也很匆忙。固然從年初到年底升了兩次工資也是蠻爽的,或許之後不再會有這麼大的工資漲幅了,啊哈哈。
之前對於寫代碼的不如寫 PPT 的沒有多少體感,由於前公司真的不須要作什麼 PPT,惟一作的幾回 PPT 也不是爲了向上級進行述職,而是對其餘 BU 進行技術分享,哪怕是晉升也不須要作 PPT。來了阿里以後發現寫好一個 PPT 確實須要技術含量,固然講 PPT 更須要技術含量(如何在有限的時間內最大化體現你的工做成果)。
今年上半年4月開始到8月半基本上不下雨的話天天堅持從住的地方跑步去公司上班,可是來了阿里之後就打破了兩年的做息習慣,再也沒法7點半起牀,再也沒法早到公司多學習一個小時了(讀書的時間都是擠出來的)!但願後續本身可以慢慢調整回來!
來了阿里以後,不少地方和原來的公司仍是有很大的差別。好比更加自由(上下班不用打卡,若是加班很晚次日能夠中午到公司......)、更加忙碌(各類評審會、週會、雙週會以及月會等)、更加獨立自主(不少業務有人催但沒人管,你須要本身爲你的業務買單,是一種自下而上的模式而非自上而下的模式)、更加多面(跨部門協做、移動辦公、技術培訓、文化培訓等等)。我以爲挺好,由於我不僅僅只是在寫代碼。除此以外,同事都很厲害,若是你遇到解決不了的問題幾乎只要一腦暴,立馬就有了解決方案。
說了那麼多固然是但願你們能來應聘,由於真的缺人。固然爲了讓你們可以更加熟悉咱們這邊的招聘流程,這裏會從如下三個方面簡單說說我當面試官的一些感覺:
評估簡歷是招聘流程中的第一步,若是簡歷評估不過關那麼將不會有接下來的面試流程。不少加個人掘友都會讓我幫忙看看簡歷作的是否合理(每每這些掘友對本身都不夠自信),其實簡歷大多數是由各位的學習和工做經歷決定的,沒有合理不合理的說法,只有合適或者不合適應聘崗位的狀況。固然對於衆多投遞的簡歷仍是會先作第一步篩選(這不是我自認爲的簡歷評估方法):
以上是我做爲一面面試官的評估方法,這是一個很現實的問題(有些評估方面怕引發衆多掘友不良反應,這裏就不一一列舉了),由於很難從一堆簡歷中去精準的挑選出一個合適的簡歷(事實上大部分簡歷都千篇一概,由於你們寫簡歷的形式真的都差很少),因此得有一套基本的評估方法。固然若是沒有篩選出以上信息,我還會從如下信息進行二次篩選:
除此以外固然也會有一些硬性過濾的指標:
友情延伸:千萬要留神專業技能,切忌寫一些面試官一看就沒興趣的技能(你感受會不少基礎技能,寫的越多越好,卻不知你們都會,甚至稍稍一深刻詢問你就懷疑本身是否是真的會了,還不如不寫),不少技能信息你能夠在項目經歷中間接的透露出來。若是想了解更多如何寫簡歷的技巧,可查看個人另一篇文章 面試分享:兩年工做經驗成功面試阿里P6總結 / 簡歷。
目前國內的面試環境確實比較惡劣,記得以前看到有人在某社區評論說 Redux 做者若是來面試國內的三四線公司,可能連一面二面都過不了。這裏我談談我本身對於面試的見解,我想說面試不是爲了爲難你們,也不是爲了體現面試官多麼牛逼之類的,面試是爲了挖掘你們的能力和潛力。固然,每個面試官的面試風格都不同,你們不要再問我下一面是否是會問 XXX 問題,下一面是否是會有在線筆試等等,我不是下一個面試官。必須每個人,每個 BU、每個公司、每個國家、每個行星、每個星系面試的風格都不同(啊哈哈哈,別再問我相似的問題啦,不要讓你本身顯得很...)。總之一句話,作好本身,作那個不能被替代的本身,不要讓本身過於被動,好好準備,應付可能發生的一切。
因爲剛進公司,我通常會承接一面的面試官,那個人面試風格是這樣的:
友情提示:我喜歡根據簡歷作一些深度面試,但事實上一面更多的應該是作一些廣度面試,不只僅是根據簡歷已有的內容進行面試。
這裏給出面試過程的幾點建議:
對於我而言影響面試過於不過的因素大體有如下幾點:
若是你過了一面,那麼後面基本上還有一輪基礎面,一輪 Leader 面,一輪大 Leader 面,一輪 HR 面。因此整體而言,應該是 5 面左右。
我是一個惰社交人員,今年 1 月份加入掘金的初衷是但願本身多和社區保持信息同步,不會被面試信息淘汰。但加入掘金以後發現個人初衷慢慢被改變,掘金對我產生了一些意想不到的影響(無論是生活上仍是工做上):
額外發現:天天早上醒來的第一件事情多是刷沸點,也多是直接起牀。坐在馬桶上的第一件事情多是刷沸點,也多是刷今日頭條。出行地鐵的時候多是看熱門文章,也多是純聽歌。中午吃飯的時候確定是先刷沸點。晚上睡覺前多是刷沸點多是刷抖音也多是刷朋友圈。
因而憋了很久鼓足勇氣在掘金髮了第一篇技術文章 Vue CLI 3 結合 Lerna 進行 UI 框架設計,收穫了一些贊,可是並無想象中的那麼好。不過萬事開頭難嘛,只要本身堅持,總能慢慢使本身的文章帶來更多的普惠。
今年在掘金陸續發了 4 篇技術類文章,1 篇面試類文章,其中自認爲寫的最好的文章 基於 Vue 實現一個簡易 MVVM 點贊數最少,相反本身沒那麼用心的面試文章 面試分享:兩年工做經驗成功面試阿里 P6 總結 反而點贊數很高。從中猜想你們可能不喜歡既囉嗦又消耗腦力的文章,你們喜歡既精簡又科普還不消耗耐性的文章(有點故事會的感受)。
我我的喜歡寫那種既囉嗦又長還不會分(一)、(二)、(三)的文章(真的須要耐心閱讀的那種),事實上我老是想把我知道的事情說的既仔細又具體,哪怕它能夠說的更精簡。固然,寫任何的文章都要認真仔細,要對讀者的閱讀時間負責(我會反覆修訂反覆修訂反覆修訂,直到滿意爲止)。
在掘金的第一年收穫了不少粉絲,有不少掘友加我交流,可是可能個人溝通能力和社交能力真的有所欠缺,有些時候由於工做忙或者被相同問題困擾會致使我沒有耐心回答掘友們的問題,但願在這篇又臭又長的文章中給你們帶來一些些收穫。
這裏推薦閱讀以前寫的文章(前面 2 篇實用型,後面 3 篇對面試應該會有幫助,尤爲是後面 3 篇必定要看哦):