找實習應該怎麼準備專案?
造輪子應該怎麼造?
面試應該怎麼聊?
一篇文章為大家排憂解難, 幫大家寫好簡歷, 做好專案, 提升就業競爭力
專案準備
簡歷上如何寫專案
最近收到最多的提問就是, 簡歷上應該寫什麼專案, 應該準備什麼專案, 專案經歷怎麼寫到簡歷上.
如果你簡歷上沒有實習經歷
簡歷就寫一個業務專案一個輪子專案.
如果你有一段實習經歷
那就先寫你實習的專案, 再寫一個業務專案和一個輪子專案.
如果你有兩段以上的實習經歷
那就寫2個實習經歷專案+一個輪子專案.
業務專案與輪子專案
什麼是業務專案
就是外賣商城, 部落格等等針對具體業務的專案.
什麼是輪子專案
輪子專案就是手寫RPC, 手寫Spring這種. 寫到簡歷上的時候, 給輪子專案改個名, 不要在簡歷上寫miniSpring, 手寫Spring這種. 你起個其他名, 它叫Spring, 你叫summary.
輪子專案
寫輪子專案要注意什麼
如果你寫了輪子專案, 那麼把輪子專案的底層原理八股文也要學習瞭解, 保證自己能答得上來輪子專案相關的問題.
如果寫了輪子而且八股都能答個八九不離十, 其實是很加分的,比業務專案含金量要高.
最好是能夠說出, 你寫的輪子專案和現有的輪子有什麼優劣, 你比它強在哪兒.
專案亮點
面試官可能會問什麼? 輪子專案的亮點該怎麼找?
面試官可能會問
我看你手寫了summary, 我們已經有Spring了, 為什麼還要寫summart 那麼你的summary和我們用的spring有什麼優劣, 你比它強在哪兒.
如果你只是答
我是為了學習造輪子, 那就顯得平庸了. 所以你要答你的優點. 有多同學就在想, 我自己寫的能有啥優勢 我就只是跟著影片敲程式碼. 如果你只是機械地跟著影片寫程式碼, 然後只是把影片中的內容搬到簡歷上 這是一種思維上的懶惰. 你找不到工作, 活該!
如何回答面試官的問題
那如果面試官問了這個問題, 怎麼答呢
首先, 要如實說, 我寫summary這個輪子, 有兩方面的原因 一方面是學習, 透過造這個輪子, 我瞭解Spring的A原理, B原理, C原理.
如果你說了這句話, 這就是引導面試官後續問你spring A原理, B原理, C原理. 你是不是就可以提前瞭解Spring的A原理, B原理, C原理. 面試就成了開卷了.
另一方面, 我的這個輪子, 針對某個具體場景, 做了最佳化和改進. 首先Spring太重了, 我的summary更加輕量級. Spring在某個場景某個問題會有一些缺點, 我透過什麼樣的方式, 解決了這個問題. 當然了我的這個summary也在哪些方面有問題, 後續會參考spring或者參考Vert.x等其他框架的哪些點進行改進.
有人在想, 你說你的summary比spring更輕量級這個很合理, 因為本來spring就包羅永珍很重.
但是你說spring在具體的場景有缺點, 還要改進. 我不知道有什麼缺點, 不知道怎麼改進呀
所以這就是要你自己學習的地方. 很多同學的思維是很懶惰的, 就想找一個課程, 跟著寫完程式碼, 然後把課程裡的東西搬到簡歷上, 從來沒想過自己擴充最佳化.
那我直接來說一個spring的缺點, 不知道spring的spi機制大家有了解過嗎
java自己有spi, spring做了改進, spring有spi. spring spi也有缺點, dubbo的spi做了改進, 解決了這些問題. 那你直接去了解dubbo的spi, 然後給抄過來就可以了.
又有人說了, 你說的spi機制太複雜了. 我都聽不懂你在說啥. 有沒有簡單的改進
有. 比如說, springboot專案中, 要配置跨域, 要麼用註解, 要麼寫程式碼 那我能不能手寫springmvc, 裡面新增一個功能, 可以寫配置來實現跨域, 寫配置放行某些請求.
有沒有人覺得spring mvc有些註解, 用起來不是很方便, Controller層, 一般用 @RestController
註解把這個類注入容器並讓類中的請求返回json, @RequestMapping
用來定義路徑.
那我手寫springmvc的時候, 能不能提供一個新註解, 把這兩個結合起來, 叫 @MappingRestController
這個註解來融合 @RestController
和@RequestMapping
既能將物件注入容器, 又能定義路徑.
我們的常用的一些輪子, 為了更加通用, 所以在一些具體場景不會做專門最佳化.
那我在自己造輪子, 就針對某個場景造輪子, 針對某個場景做最佳化. 你可以多觀察一下, 常用框架在某些具體場景一定有很多地方是用起來不舒服, 不方便的. 我們在造輪子的時候, 只要做一點小小的改進就能成為簡歷上的亮點. 大家思維一定不要懶惰, 不要想著, 我看完課程自己不思考直接搬到簡歷上就行了, 一定要有自己的思考點.
專案的本質
有人一定又在想, 那我只改進一小點, 面試官會覺得我好嗎?
首先你是造了一個輪子的, 造輪子你已經做了很多事情了 是在造了輪子的基礎上改進了一個小點, 不是說你只做了這個小點.
其次, 面試官看你專案的本質是什麼? 是看你專案更新穎嗎?
他不是看誰的專案更新穎, 是看誰專案有更多的亮點, 有更多可討論挖掘之處. 他不會說看到你的專案哇, 好新穎, 好厲害, 人工作這麼多年了啥牛鬼蛇神的專案沒見過. 面試官是透過專案中的亮點技術點, 以及和你面試交流的過程, 看到你的學習能力和對專案的思考. 他是要招你這個人進來, 他是透過專案看到背後的你身上的一些東西, 然後去評估你和這個崗位的匹配度,你和他們的需求的匹配度. 這才是本質.
總結
這一期講輪子專案, 下一期會重點聊業務專案. 我做的專案亮點系列, 也會繼續更新, 讓大家能有更多的專案亮點寫在簡歷上, 引發大家更多思考. 後面還會去聊怎麼寫簡歷, 面試的本質是在幹什麼, 面試官到底想招什麼樣的人.