關於前端技術引發的思考

關於面試

前段時間我的一個朋友去面試,前端崗位,面試官問他這樣的一個問題:同樣是vue前後端分離項目,一個普通的工作兩到三年的都能做,我為什麼要花更多的錢招你過來?同樣是做項目,擼代碼,你的優勢在哪裡?


關於前端技術引發的思考


一連串的追問讓他顯得有些不知所措。先不談結果如何,可能我們大家面臨這樣刁鑽的問題都會有些茫然吧。

很顯然,僅僅只有一般人的編碼思維是遠遠不夠的。

而前端,大多人似乎一直做著從後端通過ajax獲取一下數據,然後渲染到瀏覽器,然後通過form表單上傳文件等重複性的工作。

在it行業之前有一句話比較流行,說你工作十年,就具有十年的工作經驗嗎?還是把一年的經驗重複運用了9年而已。

關於計算機硬件

我們做軟件的似乎很少真正接觸計算機內存,CPU這些硬件,感覺這些似乎顯得無關緊要,接觸最多的可能就是閉包的問題會導致內存溢出,甚至不知道內存溢出究竟有什麼樣的表現。CPU更是少之又少。

關於前端技術引發的思考

究其原因無非兩個

1、我們的項目不存在內存溢出的問題,現在瀏覽器已經做得非常的高效了,完美的內存回收機制讓前端更加專注於業務上。

2、即使有內存溢出的問題,我們可能也不太會分析問題,為什麼內存佔用那麼多?CPU為什麼飈到100%以上了?

下面來簡單來說說這個內存和CPU

首先,他們是我們的計算機中不可獲缺的資源硬件,計算機中的所有的應用軟件都會使用到CPU和內存。如果你的應用程序一直佔著高內存,計算機內存資源吃緊,直接表現就是卡,CPU過高一般你能聽到你的電腦CPU風扇呼呼呼狂轉。

分別舉個例子:

前端開發大多都是基於瀏覽器,比如我們通過ajax從服務器獲取到一組數據,然後在頁面上渲染成列表。這個列表中有1000條數據,你放在了data中的list數組中,那麼1000長度的數據就需要內存分配一定的空間承載它們。這也就是我們常說的從服務器端將數據讀取到內存中去。

再比如後面我們可能要對這個數組的數據進行filter過濾篩選,這個過程中也是要消耗內存資源的。


關於前端技術引發的思考


在nodejs的開發中,我們在讀取大文件的時候通常不會用readFile這個Api,為什麼呢,因為它是一次性將數據讀取到內存中去,如果我要讀取一個1g的文件,一次性讀取的話,即使能正常讀取,那麼讀取完成後,1個G的內存將被消耗掉。所以一般會使用流的方式去讀取。

與內存對比,CPU似乎更陌生,一般在計算量大的情況下,對CPU的資源消耗比較大。我們都知道 Node在計算能力這塊是遠比不過java和php這些老牌的後端語言了。

寫在最後

多思考,有機會一定要閱讀一下Vue或者react的源碼。形成自己的一套技術體系。

2019各大互聯網相繼爆出裁員新聞,經濟寒冬下人人自危,加油吧,少年,願2020年不再不寒冬!


分享到:


相關文章: