3 年前端面經和他在創業公司的成長歷程

在掘金上當了幾年的伸手黨,最近也準備輸出一些自己的東西。

關于我

首先介紹一下我自己,17 年畢業于一所 211 學校,但是由于大學四年馳騁在召喚師峽谷,畢業時也沒有找到一份大廠的工作,隨便找了一家創業公司簽了三方就去了。好在這家公司也挺給力,我這一呆就是三年,996 當著「全干工程師」,從前端到服務端,從 JavaScript 到 Java,這幾年下來都積累了一些經驗,不說精通,也算是比較熟悉了。

今年 7 月份的時候,瞅著已經畢業三年,是時候該考慮一下職業生涯的下一站了,開始準備面試的事情。

這里建議大家,每一份工作度需要慎重考慮,不要頻繁跳槽。文章后面也會給出我的理由和建議。

在職準備了 2 個月的面試,開始試著投了一些簡歷,幸運的是都收到了面試邀請,有的公司也拿到了 offer。也嘗試投了幾家大廠,阿里、字節、快手目前還在流程中。

也已經向 TL 提了離職,最近在工作交接,事情比較少,寫個文章記錄一下最近的經歷。第一次在掘金寫文章,希望能有人看。

工作三年

一晃時間就過去了三年,從畢業時候對前端一竅不通到如今在公司獨當一面,也算是成長了挺多。嗯,畢業三年的我有4年經驗(手動狗頭)。

記個流水賬吧,大家能夠比較直觀地感受到我畢業三年以來每個階段做了什么事:

  • 2017年1月左右比較早搞定了畢業設計,開始早開始籌備找工作的事。由于是計算機專業畢業,第一想法當然還是找編程相關的工作,就開始了解目前的前端工程師、后端工程師都在做什么,找了幾個大廠的 JD 就開始研究,并且聽同學說現在牛客上招聘和面經比較多,就去翻了翻牛客。看了牛客之后,TM 被打擊了。。。這面經也太難了吧,真的是「面試造火箭」

  • 2017年1月底過年。過年期間回老家同學聚會,剛好也有朋友是計算機專業,建議我可以自學一下前端,找一份前端開發的工作。大二大三的時候幫學長做項目也寫過一些前端的代碼,想想也挺有趣的,也不糾結了就找前端吧

  • 2017年4月左右。體系化地學習了一下前端相關的知識,發現不對勁,沒有實習過的我對于整體的工程經驗太欠缺了,而且光是寫 Demo 根本無法深入學習,但是由于時間比較少需要看的內容比較多,又只能淺嘗則止

  • 2017年5月。投了幾份簡歷,面了幾家公司,offer 有,但也都是小公司,對,就是那種只有 20 個人左右的小公司,想想還是放棄了

  • 2017年6月。機緣巧合在 V2ex 上了解到一個創業公司,人不多,但是待遇還不錯,就去試了試。面試官很 Nice,聊得挺不錯,雖然我沒有實習經驗也沒關系,他覺得應屆生基礎好,學習能力強就沒問題(???? 我信了。。)

  • 2017年6月。簽了三方,畢業旅行去了。美滋滋。

  • 2017年7月。從學校畢業,進入這家創業公司開始了我的前端生涯

  • 2017年7月 - 12月。因為這家創業公司已經有一定規模了,除我之外還有 3 個前端,所以我剛來之后活還比較輕,主要就是寫一些無關經驗的后臺頁面和 toC 的移動端頁面,主要技術棧是 Vue。Vue 也是我來了公司之后才開始學的,看了一遍文檔之后就直接開干,啥不會的就 CV 大法,還不會的就厚臉皮請教公司的前輩,就這樣過了差不多半年吧

  • 2018年1月-6月。TL 看我已經逐漸掌握了前端技術棧的開發,也開始給我安排一些比較有挑戰性的活,負責一些日活比較高的項目日常維護和迭代。在這半年時間里,更多時間還是在跟業務,沒有太多技術上的思考。當然,我的手還是非常快的,5天工作量的頁面我3天就能搞定,而且提測基本 0 bug。當然,這里的手快不是敲鍵盤快,更多的是對于項目的理解和功能模塊的拆分,以及頁面組件、模塊的設計,保證復用度。這里我的建議是:拿到一個業務需求,先理解透徹再動手編碼。理解包括對業務的理解和對需求的理解,將產品給到的 PRD 進行拆解分析,派出優先級和每項的排期,這樣對于整體項目都能有一個把控

  • 2018年7月-12月。業務已經穩定,團隊也有了差不多差不多 8 個人,開始接手一些團隊基礎設施建設的事情,比如統一腳手架、統一 UI 組件庫以及統一技術棧的前期工作

  • 2019年1月-6月。和 TL 一起推動統一了 React 作為前端統一技術棧,剛好拿到一個比較重要的業務,借這個項目沉淀了項目腳手架(包括中后臺和 mobile),以及UI 組件庫(基于 antd 進行定制、封裝),在 3 月份的時候我也順利完成晉升(其實就是調了薪資)。從 18 年 7 月到 19 年 6 月這一年時間真的痛并快樂著,每天肝到最后一個下班,之前沒接觸過前端工程化體系,就沒日沒夜地學習。而且推動技術棧統一其實是一個很艱難的事情,這得拿出足夠的理由和證據讓團隊成員信服,并且得要有足夠的技術支撐(腳手架、組件庫、工程化能力、知識體系支撐),幸好 TL 也一直很支持這個事情,總算在肝了一年后順利建設了目前團隊的技術底座(當然還是比較 low 的,后面也一直在迭代

  • 2019年7月-12月。基本做的就是腳手架、組件庫、工程化的完善的,以及 CI/CD 的一些事情

  • 2020年1月-2020年6月。團隊的開發模式基本已經成型,只需要投入 2人日/周基本就可以。我們也開始沉淀團隊統一的埋點、監控方案,打造了統一的前端埋點管理系統、前端埋點工具、前端監控平臺

  • 2020年7月。雖然可能你覺得我三年來干了很多事情,但是如果深入細節看,很多事情都是小打小鬧不成體系,業務量大了之后未必可以 cover。所以決定再次尋找自己新的定位,進入一個大廠,體系化地了解整個前端研發生命周期中大廠是如何思考和沉淀的

工作三年,學到很多。很多人可能會說:還是因為這家創業公司給力而且 TL 比較給力,所以可以待到三年。是的,這話沒毛病,我也很感謝我的 TL,感謝公司給了這樣一個平臺讓我成長。

但是,我想說的是,除了外界客觀因素之外,自身的主觀因素也很重要。在上面的個人經歷中,我寫出來的可能都是讓你感覺很爽的事情,很多不爽的事情我沒寫出來而已。。

  • 經常肝到半夜

  • 被 TL 批評過,也經常懷疑過自我

  • 暗地里說過業務方(這人也太xx了,還天天摸魚)、罵過公司(公司也太xx了,遲早完蛋)

  • 無數次想要離職的經歷,懂的人都懂,隨時都想砸了電腦走人

  • ...

太多了,如果要寫,我可以寫出 100 條「我為什么曾經無數次想要離職」。

人生就是這么有意思,無數次想要離職都沒走,這次確是主動想要換個環境,并且需要放棄一些東西。

復習準備

掘金上關于面試的文章很多,這也是社區一個現狀,所以就挑了幾篇個人覺得比較好的著重看了一下:

  • 2020年前端面試復習必讀文章:這個大佬的思維導圖整理的非常好,整個復習流程都是跟著這個導圖來的,而且也不用自己到處搜索文章了,相當方便

  • 在阿里我是如何當面試官的 :這篇文章主要是了解一下阿里的面試是怎么樣的,面試官關心什么

  • 面試分享:兩年工作經驗成功面試阿里P6總結 :實戰篇,真實的阿里大佬面試經驗

  • 字節跳動今日頭條前端面經(4輪技術面+hr面):實戰篇,真實的字節大佬面試經驗

以上文章個人覺得就夠了,能花時間把這些知識啃下來,一般面試就沒什么問題了。

簡歷準備

簡歷真的非常重要,校招的時候就有這樣的感覺,那時候有實習經歷和沒實習經歷簡直就是一個天一個地。這次也準備認真準備一下自己的簡歷。

對于簡歷,個人認為大廠面試官和 HR 最看重的是兩點:

  • 項目經歷:做了什么

  • 工作經歷:穩定性

這里就不展開說了,社區里也很多優秀的文章。在這個過程中,我主要參考了以下幾篇文章,推薦一下:

  • 《大廠面試》面試官看了直呼想要的簡歷

  • 面試官到底想看什么樣的簡歷?

  • 教你如何寫初/高級前端簡歷【贈簡歷導圖】

面試題整理

這里整理一下我這段時間面試遇到的面試題,按類型分一下,這里只整理了我記錄的問題,來不及寫答案。。

JavaScript

1. 說說 JavaScript 的數據類型

算是面試官拿一個簡單的題給面試者熱熱身找找感覺吧。

  • 基本數據類型:String、Boolean、Number、Symbol、null、undefined

  • 引用數據類型:Object,如果要細分的話有 Object、Array、Date、RegExp 和 Function

2. 基本數據類型和引用數據類型有什么區別?

很自然地就引出這個題,基本數據類型在被創建時,在棧上給其劃分一塊內存,將數值直接存儲在棧上;引用數據類型在被創建時,首先在棧上創建一個引用,而對象的具體內容都存儲在堆內存上,然后由棧上面的引用指向堆中對象的地址。

3. 那基本數據類型和引用數據類型拷貝的時候有什么區別?

由于存儲的位置不一樣,直接拷貝的時候就會有兩種情況:拷貝了值和拷貝了引用,也就是我們常說的深淺拷貝。

對于基本數據類型而言,沒有深淺拷貝的概念,都是在棧上新開辟了一塊內存給新的值。而對于引用數據類型而言,區別簡單來說就是會不會共享堆內存里的值。具體不說了,文章很多,隨便看兩篇基本都沒啥問題。

  • 深拷貝的終極探索(90%的人都不知道)

  • JavaScript 專題之深淺拷貝

目前 JavaScript 的 API 中,哪些是淺拷貝,哪些是深拷貝?

可以看看這篇文章,雖然文章里有一些小問題,不影響整體閱讀

  • JavaScript 基礎心法——深淺拷貝

4. 如何實現一個深拷貝?

無非就是 JSON.stringify遞歸 兩種方法,大概說說思路就 OK

5. 通過 JSON.stringify 的方式實現深拷貝,會有什么問題?

如果值是 undefinedfunction 等,在轉換的時候會丟失,所以還是要比較謹慎使用 JSON.stringify 來做深拷貝

6. 通過遞歸的方式實現深拷貝,會有什么問題?

循環引用和重復引用

數據類型和深淺拷貝的問題問到這里基本差不多了。這里說個小技巧:如果面試官問了第一題,面試官應該心里已經有打算問你深淺拷貝的問題,如果你比較熟悉,也可以嘗試主動點往這方面引。

7. 數組去重的方式有哪些(手寫)

花里胡哨的也就那幾種,主要考察對JavaScript API 是否熟悉,我寫了兩種:SetHash,面試官也沒有多問。

Hash:

function?unique(arr?=?[])?{if?(arr.length?===?0?||?arr.length?===?1)?{return?arr;}const?newArray?=?[];const?hash?=?{};for?(let?i?=?0;?i?<?arr.length;?i++)?{if?(!hash[arr[i]])?{hash[arr[i]]?=?1;newArray.push(arr[i]);}}return?newArray;
}

Set:

function?unique(arr?=?[])?{if?(arr.length?===?0?||?arr.length?===?1)?{return?arr;}return?[...new?Set(arr)];
}

8. 找出數組中最大的數(手寫)

我就只寫了一種

function?getArrayMax(arr?=?[])?{if?(!arr.length)?return;if?(arr.length?===?1)?{return?arr[0];}return?Math.max(...arr);
}

9. 說一下事件循環的理解

宏任務微任務那些,隨便搜都是,只推薦一篇經典文章:Tasks, microtasks, queues and schedules

10. 快排是如何實現的,講一下思路和復雜度

放兩張圖,感受一下,更多的動畫可以看 https://visualgo.net/zh/sorting

img

11. 如何實現一個觀察者模式(手寫)

12. 如何實現一個單例模式(手寫)

13. 如何解析一個 URL,獲取 query 和 hash 的參數(手寫)

14. TypeScript 和 JavaScript 最大的區別在哪

CSS

1. flex 如何實現九宮格

width,變 flex-wrap

2. 除了 flex 之外,還能如何實現九宮格

比較老的 float,比較新的 grid,然后展開說下 grid

3. flex: 1 是什么意思

我就說了一下 flex: 1 的作用,然后說了一下 flex 其實有三個值,分別簡單說了一下各自的作用,就過了

4. 移動端適配怎么做的,rem 原理是什么,vw 有沒有了解

細說移動端 經典的REM布局 與 新秀VW布局

5. 移動端 1px 如何解決

  • 移動端1px解決方案

  • Retina屏的移動設備如何實現真正1px的線?

React/Vue

1. 看你的簡歷,Vue 和 React 都寫的比較多,可以說說 Vue 和 React 的區別嗎?

通過自己的理解,從編譯、生命周期、數據流、核心思想等方向都介紹了一下吧,這個問題還是需要認真準備一下,我說的時候感覺有點亂,回頭我看看寫一篇文章專門回答一下這個問題吧

2. 新項目的技術選型,你會從哪些方面來考慮選用 Vue 還是 React?

這個問題我聽到就感覺比較謹慎,因為本身就是在創業公司,面臨過很多次的技術選型。從 jQueryVueReact,我們也經歷了技術棧的更新換代。我們當時在考慮技術選型的時候,我們考慮的不是一個新項目,而是一個未來 2 - 3 年甚至更久的一個長遠技術選型,主要看了一下 ReactVue 的一個整體生態和完整度,當然這也包括社區的活躍度。因為我們并沒有太多人力做一些框架底層的工作以及一些生態周邊配套解決方案,更多的時候是拿一些現有的解決方案來解決我們的業務問題。

我在回答這個問題的時候,更多的時候是通過本身的業務出發回答的,沒有過多地回答 ReactVue 框架上的區別對技術選型帶來的影響。

3. 說說對虛擬 DOM 的理解

虛擬 DOM 本質上是一個真實 DOM 的抽象 JavaScript 對象。然后展開說了一下虛擬 DOM 的好處,操作 DOM 簡單、輕量、跨平臺,我特別提了一下跨平臺,Vue 2.x 之后引入的虛擬 DOM,也有一部分是為了解決未來跨平臺的問題,后來也結合 WEEX 了。

4. 講講 React 的生命周期

這個沒啥好說的,根據自己的理解說一下那幾個生命周期了。也說了一下即將廢棄的生命周期以及為什么廢棄,就過了。

5. React 函數式組件和類組件有什么區別

6. React 的 diff 和 Vue 的有什么區別

單向雙向的區別

7. 列表中的 key 有什么作用

VirtualDOM diff

8. 說說 React Hooks 的理解,它有什么優點

一篇看懂 React Hooks

9. React Hooks 不能出現在條件判斷語句中

可以確保每次渲染組件時都以相同的順序調用 Hook

10. 什么是高階組件?

  • 高階組件(HOC)應該是無副作用的純函數,且不應該修改原組件

  • 高階組件(HOC)不關心你傳遞的數據(props)是什么,并且被包裝組件不關心數據來源

  • 高階組件(HOC)接收到的 props 應該透傳給被包裝組件

11. React 的高階組件和 Vue 的 mixins 是一個類型的東西嗎?Vue 中是否可以實現類似 React 的高階組件

高階組件本質就是高階函數,React 的組件是一個純粹的函數,所以高階函數對React來說非常簡單。

Vue 更像是高度封裝的函數,在更高的層面 Vue能夠讓你輕松的完成一些事情,但與高度的封裝相對的就是損失一定的靈活,你需要按照一定規則才能使系統更好的運行。

12. Vue 的雙向綁定是如何實現的

數據劫持和發布訂閱

13. Vue 如何收集依賴

14. Vue 的父子組件掛載順序是怎么樣的

created -> 子created -> 子mounted -> 父mounted

15. Vue 的 computed 和 watch 是怎么實現的

16. Vue 的 template 是如何編譯的

vue-loader 里有然后專門處理 templateloader,最終本質上還是 createElement

17. Vue 3.0 和 2.x 有什么區別

definePropertyproxy,更開放的 APIts 等等...

18. defineProperty 有什么缺點,為什么 Vue 3.0 之后改用 proxy

數組、對象的監聽

19. 我不是前端,你如何向我介紹 Vue,讓我能夠盡可能多的了解它

工程化

1. webpack 和 rollup 的區別

webpack 適用于大型復雜的前端站點構建,rollup 適用于基礎庫的打包

2. 說說 webpack 的 loader 和 plugin

loader 解析模塊,plugin 擴展功能

3. esbuild 有沒有了解

下一代構建工具,是使用 go編寫的,未來的趨勢會更多使用非 JavaScript 語言來編寫前端工具,優點是快。

4. CommonJS 和 ESM 有什么區別

這個就不展開說了,找兩篇關于 JavaScript 模塊的文章看看就 OK

5. vite 和 snowpack 有了解嗎,unbundle 有什么好處

個人理解會是未來構建工具的一種趨勢,在構建速度/熱更新速度上都比目前 webpack 的方案快非常多,大幅度提高前端開發效率。

6. webpack 的熱更新原理大概介紹一下

本地起服務,通過文件內容 hash 來判斷是否更新,客戶端收到更新消息后會取拉取最新代碼進行更新

7. vue-loader 做了哪些事情

webpack 用于處理 .vue 文件的 loader,解析代碼,分別處理其中的 template/style/script...

8. tree sharking 是什么

ESM,代碼體積優化,CommonJS 不支持

9. webpack4 相對于之前做了哪些優化

10. 項目中,你使用 webpack 做了哪些優化

  1. 使用 happypack 加速構建

  2. 通過 analyze 插件分析構建產物大小,優化體積

  3. chunk

  4. dll

  5. ...

11. 如何發布一個 npm 包,如何發布一個 beta 包,如何修改一個正式包為 beta 包

  • npm publish

  • npm publish --tag beta

  • npm dist-tag add my-package@0.0.1-beta.0 beta

12. npm 包的版本號是如何規范的

參考 https://semver.org/lang/zh-CN/,這里提了一下 break change 以及不規范的 npm版本號會帶來什么影響

13. DefinePlugin 的作用是什么

定義全局變量,可以用于不同環境的代碼刪除

14. 你們團隊的項目腳手架是如何實現的

使用 Yeoman 開發的腳手架,介紹了一下 Yeoman 的能力,以及為什么要用它而不是直接用現成的 cravue-cli

15. Babel 的原理是什么

編譯器。分為三個階段:

  • parse:詞法分析 語法分析

  • transform:轉換ast

  • generate:生成代碼

后端

1. Koa 和 Express 有什么區別

  • 異步:callbackpromise

  • 中間件:線性模型和洋蔥模型

2. 說說 Koa 的中間件原理

洋蔥模型示意圖

3. 常用的 Node API 有哪些

4. SSR 是如何實現的

img

5. serverless 有了解嗎

6. 說說 node 的執行機制(單線程)

7. 為什么說 node 是高性能的

8. node 為什么支持高并發

  • 執行速度快:運行在 Chrome V8 引擎上

  • 異步:libuv 事件循環

  • 適用 I/O 密集的網絡應用開發:解決網絡應用開發 I/O 的性能瓶頸

9. 說說 MVC 的思想

Model–view–controller

10. 說說 ORM 的優點

本質上是對 SQL 語句的一種抽象,方便(語句清晰),安全(一定程度防注入)

11. MySQL 和 MongoDB 有什么區別

關系型數據庫和非關系數據庫

12. 依賴注入是什么

網絡

1. 從輸入 URL 到頁面渲染,其中發生了什么

這個問題真的很大,可以說很多東西,因為在問這個問題之前面試官在聊網絡,所以這個問題我也就回答了網絡方面相關的,至于瀏覽器渲染相關的我就隨便帶了一下就過了

2. HTTP 和 HTTPS 有什么區別

從安全的角度說唄

3. 說說 HTTP 的狀態碼

隨便說了幾個常見的狀態碼,一般面試官問這個,其實是準備找幾個常見的狀態碼問你具體什么意思,所以你就說自己比較了解的幾個就好了,如果完全沒了解過的,就別給自己挖坑了

4. 304 狀態碼是什么意思

緩存

5. 瀏覽器的三級緩存策略了解嗎

  1. 先在內存中查找,如果有就加載

  2. 如果內存中不存在,則在硬盤中查找,如果有就加載

  3. 如果硬盤中也沒有,那么就進行網絡請求

  4. 請求獲取的資源緩存到硬盤和內存

6. 說說瀏覽器的緩存,強緩存是什么

7. websocket 是怎么建立鏈接的

8. HTTPS 是如何保證網絡安全的

9. HTTP 如何實現長連接

keep-alive

算法(手寫)

1. 回形打印矩陣

2. 找出最長子字符串

3. 數組中的第 K 個最大元素

4. 用 JavaScript 實現一個鏈表

5. 從上到下打印二叉樹

其它

1. 介紹一個你覺得比較有亮點的項目

說了一個從 0 到 1 的項目,并且在這個項目中,我沉淀了一套目前公司統一使用的腳手架工具以及一個 UI 組件庫。由于是 0 到 1 的項目,項目周期中遇到了一些協作的問題,我也主動承擔了一些 PM 的角色,去推動項目正常運行,保證了項目正常上線,獲得業務上下游團隊的好評。

2. 在創業公司,一個前端項目的生命周期是怎么樣的

在網上也看到了一些大廠的工作流程,相比來說,我們這邊的流程相對來說,大的骨干都有,但是小的地方就顯得不夠規范。比如 Code Review、發布管控、灰度回滾能力等,目前在我們的研發生命周期中,這些能力都只是 “能用” 的階段,目前我們也在加強規范建設。

3. 在團隊中,你是如何制定編碼規范的,如何推動規范落地的

根據目前業界常用的編碼規范,制定了編碼規范,以及一套 ESLint/StyleLint/CommitLintd 靜態檢查工具,當然還有 Prettier ,然后就是推廣大家用,用的過程中再迭代這套編碼規范。

4. 你還有什么問題想問我的

不要頻繁跳槽

文章開始的時候有提到「不要頻繁跳槽」,這里談談個人的看法。

對于面試官和 HR 來說,「頻繁跳槽」意味著兩點:

  1. 你的穩定性不足,得承擔給你發了 offer 之后你來到公司過了一段時間又跑路的風險,所以會是減分項

  2. 你沒有足夠的沉淀,技術和業務的沉淀是要時間的,對業務有深入的理解才能思考如何通過技術手段來解決業務上的問題

對于個人來說,「頻繁跳槽」意味著:

  1. 一直在準備面試,一直在刷題,沒有一個專項學習的時間段

  2. 技術棧一直在變,一直在適應,沒法更深入的理解

  3. 對業務不理解,對團隊不熟悉,惡性循環,又想跳槽

推薦閱讀

我在阿里招前端,我該怎么幫你?(現在還可以加模擬面試群)
如何拿下阿里巴巴 P6 的前端 Offer
如何準備阿里P6/P7前端面試--項目經歷準備篇
大廠面試官常問的亮點,該如何做出?
如何從初級到專家(P4-P7)打破成長瓶頸和有效突破
若川知乎問答:2年前端經驗,做的項目沒什么技術含量,怎么辦?
若川知乎高贊:有哪些必看的 JS庫?

末尾

你好,我是若川,江湖人稱菜如若川,歷時一年只寫了一個學習源碼整體架構系列~(點擊藍字了解我)

  1. 關注若川視野,回復"pdf" 領取優質前端書籍pdf,回復"加群",可加群長期交流學習

  2. 我的博客地址:https://lxchuan12.gitee.io?歡迎收藏

  3. 覺得文章不錯,可以點個在看呀^_^另外歡迎留言交流~

精選前端好文,伴你不斷成長

我是若川歡迎關注!可點擊

小提醒:若川視野公眾號面試、源碼等文章合集在菜單欄中間【源碼精選】按鈕,歡迎點擊閱讀,也可以星標我的公眾號,便于查找

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276337.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276337.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276337.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring.NET學習筆記9——打造簡易的依賴注入框架(練習篇) Level 100

我們在第三篇中學習里一個簡易的IoC框架。今天我們接著上次的程序&#xff0c;實現帶參數構造函數對象的實例和屬性的注入 。  我們知道可以通過反射獲取類的構造函數及參數(GetConstructors方法)&#xff1b;可以獲取屬性和屬性的類型(GetProperties方法)。通過Activator的C…

PHP 利用Mail_MimeDecode類提取郵件正文

參考鏈接&#xff1a;http://blog.csdn.net/dmtnewtons_blog/article/details/18765289 rfc mail content-type&#xff1a; 參考鏈接&#xff1a;http://blog.csdn.net/dmtnewtons_blog/article/details/19327105 根據主流的郵件解析類Mail_MimeDecode&#xff0c;提取郵件正…

android 單元測試

首先AndroidManifest.xml View Code <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android"package"com.travelsky.test" android:versionCode"1"androi…

申萬一級行業日指數_基金收評 | 指數震蕩走弱,軍工股成兩市主線!后期行情如何?...

收評君復盤日記(2020年9月21日)三大指數集體收跌&#xff0c;北向資金全天大幅凈流出近65億元&#xff0c;軍工板塊表現強勢。盤面回顧9月21日&#xff0c;兩市全天高開低走&#xff0c;早盤指數弱勢震蕩&#xff0c;三大指數盤中一度翻紅&#xff0c;但隨后震蕩走弱&#xff0…

若川的2016年度總結,畢業工作

可以點擊上方的標簽若川的故事、年度總結&#xff0c;查看往期文章有讀者反饋說看我年度總結系列比我源碼系列更有啟發。所以打算把2016-2018的年度總結發布到公眾號聲明原創&#xff0c;希望對大家有所啟發。&#xff08;雖然我的每一年都過得非常普通...&#xff09;以下是正…

jQuery之Ajax

轉載鏈接&#xff1a;http://cargoj.iteye.com/blog/1008047 1 . jQuery幫助之Ajax請求&#xff08;一&#xff09;jQuery.ajax(options) 2 . jQuery幫助之Ajax請求&#xff08;二&#xff09;jQuery.get(url,[data],[callback] 3 . jQuery幫助之Ajax請求&#xff08;三&am…

深入淺出之正則表達式(二)

深入淺出之正則表達式&#xff08;二&#xff09; http://dragon.cnblogs.com/archive/2006/05/09/394923.html 前言&#xff1a; 本文是前一片文章《深入淺出之正則表達式&#xff08;一&#xff09;》的續篇&#xff0c;在本文中講述了正則表達式中的組與向后引用&…

MVC(溫習深入)

MVC&#xff08;Model-View-Controller&#xff0c;模型—視圖—控制器模式&#xff09;是軟件工程中的一種軟件架構模式。它把軟件系統分為三個基本部分&#xff1a;模型&#xff08;Model&#xff09;&#xff0c;視圖&#xff08;View&#xff09;和控制器&#xff08;Contr…

面試官問:能否模擬實現JS的new操作符(高頻考點)

可以點擊上方的話題JS基礎系列&#xff0c;查看往期文章這篇文章寫于2018年11月05日&#xff0c;new模擬實現&#xff0c;Object.create是面試高頻考點&#xff0c;之前發布在掘金有近2萬人閱讀&#xff0c;現在發布到公眾號聲明原創。1. 前言這是面試官問系列的第一篇&#xf…

Linux環境下設置IPDNSGateway

轉載鏈接&#xff1a;http://www.myhack58.com/Article/sort099/sort0102/2011/29291.htm 在Linux中不管你是做服務器還是只是平常使用&#xff0c;上網肯定都是最重要和不可缺少的一個因素之一&#xff0c;所以就涉及到它的ip gateway dns等network配置和使用。但是設置Linux…

跟我一起學WCF(2)——利用.NET Remoting技術開發分布式應用

一、引言 上一篇博文分享了消息隊列&#xff08;MSMQ&#xff09;技術來實現分布式應用&#xff0c;在這篇博文繼續分享下.NET平臺下另一種分布式技術——.NET Remoting。 二、.NET Remoting 介紹 2.1 .NET Remoting簡介 .NET REmoting與MSMQ不同&#xff0c;它不支持離線可得&…

二叉樹的建立與遍歷_51、二叉樹遍歷-重建二叉樹JZ4

題目描述輸入某二叉樹的前序遍歷和中序遍歷的結果&#xff0c;請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重復的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6}&#xff0c;則重建二叉樹并返回。思路回顧三種經典的遍歷&…

越來越覺得現在的工作很枯燥

很不想這么說&#xff0c;但又不想欺騙自己&#xff0c;真的是很枯燥&#xff0c;不過這種感覺早在一年在在上一間公司時就很強烈的有過這種感覺了&#xff0c;只不過現在是又一次有感觸罷了。話說說我這種性質的工作枯燥很多人都講過&#xff0c;如果哪個人說不枯燥估計腦袋進…

推薦關注這7個高質量的前端公眾號

拓寬眼界&#xff0c;增加深度&#xff0c;在閱讀的世界里&#xff0c;我們往往能找到不一樣的態度&#xff0c;提升朋友圈質量&#xff0c;從關注這幾個公眾號開始。輕掃一下二維碼就行了&#xff0c;你可以試試&#xff0c;肯定會有意外收獲。大遷世界 簡介&#xff1a;前端小…

MySQL 實用語句集合

MySQL 實用語句集合 參考鏈接[用戶]&#xff1a;http://blog.csdn.net/dmtnewtons_blog/article/details/9136339 參考鏈接[屬性]&#xff1a;http://stackoverflow.com/questions/15821532/get-current-auto-increment-value-for-any-table 參考鏈接[索引]&#xff1a;htt…

python對象序列化或持久化的方法

http://blog.csdn.net/chen_lovelotus/article/details/7233293 一、Python對象持久化方法 目前為止&#xff0c;據我所知&#xff0c;在python中對象持久化有以下幾種方法&#xff1a; 1. 使用(dbhash/bsddb, dbm, gdbm, dumbdbm 等&#xff09;以及它們的"管理器"(…

Windows Live Writer 在win2003 的安裝方法

下載Windows Live Writer整體安裝包&#xff0c;最好是離線安裝包 2.在xp系統上安裝 3.查找C:\Program Files\Common Files\Windows Live\.cache目錄 .cache目錄是隱藏的&#xff0c;目錄下面就是各個安裝文件的msi安裝包 4.拷貝相應的msi文件&#xff0c;到Windows 2003安裝就…

decode 大于比較 小于_6 燃氣輸配系統6.3 壓力不大于1.6Mpa的室外燃氣管道城鎮燃氣設計規范 GB500282006(2020修訂版)...

6.3 壓力不大于1.6Mpa的室外燃氣管道6.3.1中壓和低壓燃氣管道宜采用聚乙烯管、機械接口球墨鑄鐵管、鋼管或鋼骨架聚乙烯塑料復合管&#xff0c;并應符合下列要求&#xff1a; 1 聚乙烯燃氣管應符合現行的國家標準《燃氣用埋地聚乙烯管材》GB15558.1 和《燃氣用埋地聚乙烯管件…

若川的2017年度總結,一如既往

可以點擊上方的標簽若川的故事、年度總結&#xff0c;查看往期文章有讀者反饋說看我年度總結系列比我源碼系列更有啟發。所以打算把2016-2018的年度總結發布到公眾號聲明原創&#xff0c;希望對大家有所啟發。&#xff08;雖然我的每一年都過得非常普通...&#xff09;若川的20…

MIME協議及源郵件格式分析

轉載鏈接&#xff1a;http://wenku.baidu.com/view/7246de671ed9ad51f01df277.html 電子郵件也許是一個Internet上的流行最廣泛的應用。也是我們現在的大多數網絡辦公流程的基礎。各種郵件服務器很多,但都大都遵循以1982年出版的RFC822--《ARPA網絡文本信息格式標準(STANDARD F…