一個 1年工作經驗的 PHP 程式設計師是如何被面試官虐的?

zgxxx發表於2019-04-10

前言

首先需要說明的一點,本人只是一個畢業一年,只有一年工作經驗的普通PHPer,能力有限,這篇文章只是將我這幾周來的感受和體驗分享出來,希望能給許多像我一樣,或者網際網路行業的新手帶來一些收穫,當然哪裡說的不對或不足還是希望大神們可以加以點評補充。

金三銀四,每年這個時候都有很多人想借此機會跳槽或者投身某個行業,目的很明確:需求更好的環境,兌現自己的價值。特別是近十年來非常火爆的網際網路行業,無論是剛畢業的,敲程式碼敲了幾年的,還是跨行進入IT行業的,都希望自己能“拿高薪,學知識,享福利”,而如今,高校擴招,IT門檻降低也導致市場太多“低技術,高目標”的幼年程式猿(我也是其中之一),再加上今年網際網路寒冬,僧多粥少,想要尋求一個面試機會都不容易,更別說拿offer了。我是不甘心浪費時間在目前這家公司,具體原因不說,所以我下定決心找一份新的工作,一方面證明自己,另一方面想讓自己走出舒適圈,給自己多一點挑戰。

狼狽的三月

一開始心高氣傲的我,用半天時間把自己的簡歷整理了一遍,那時候我的簡歷應該還是不錯的(後續文章會詳細描述如何最佳化簡歷),第二天開始在Boss直聘和拉勾上開始投遞簡歷,一開始投遞的是廣州地區PHP的1-3年開發崗位,雖然反饋比例不高,但還是很幸運收到幾個面試邀請。接著我留了兩天時間給自己複習,其實也就是在網上Google一下PHP面試題,開啟十幾個標籤頁各種面試題,這就是我所謂的“多刷題”操作,結果可想而知,看的東西很亂導致去面試那天基本忘的七七八八,有很多還只是記住一些答案,壓根就沒清楚,慘狀見下面具體面試。

準備不充分 -- 第一輪不過

第一家,廣州琶洲一家環境超級好,福利也不錯,主營美顏APP的公司,這也是我最感遺憾的一次面試機會。一開始有筆試,主要內容有點偏向C語言那方面,PHP的幾乎沒有,僅靠大學的模糊知識寫了一些答案,具體的時間有點久忘記了,這裡就不詳細說筆試內容。主要是第一輪面試:

  • 第一個問題:Redis的5種資料型別,只答了一個String。

  • 第二個問題:你知道Redis怎麼做到資料落地,同步資料庫嗎?連資料型別都不知道,我只能說不清楚,沒用過。

  • 第三個問題:如果資料庫量很大,你怎麼最佳化?我的回答:做好索引,mysql語句最佳化。

  • 第四個問題:在工作中你做了哪些mysql語句最佳化?我的回答:我用where in(id1,id2…)來做最佳化。。。

一年的PHP開發中其實我沒怎麼用過Redis,就簡單的用過String(也看出我真的菜)

其實where in那個是Laravel ORM預載入使用where in來解決N + 1問題(具體可以看Larave手冊),where in並不比left join效率高

最後聊了差不多20分鐘,就讓hr來問我一些問題,例如我對公司的印象等,應該就是走走流程,接著就讓我回去等通知,當然也就沒通知了。

基礎不過關 -- 第二輪不過

第二家,深圳大學旁邊一家保險業務的公司,給了我最大的打擊。沒有筆試題,第一輪是一個差不多和我同齡的年輕小夥來面試,問的問題很簡單,基本都是網上那些面試題,比如tcp和udp的區別,三次握手,include/require的區別等,我基本都回答出來了。接著是一個頭發相對稀疏,經驗應該更加老道的人來面試我:

  • 我的簡歷有提到一個JWT相關的知識,所以他讓我描述具體的東西,和session的區別等。專案時間有點久,我也就簡單的把jwt的東西跟他說,但是明顯不能滿足他,一直問到底層,那時候我就很慌了,更加想不起來了。

  • PHP這些框架是怎麼實現檔案自動載入的?我回答魔術方法__autoload和include,對方反問了一句再具體一點,還有沒有別的?我實在想不出

  • 寫一個連結串列吧?不會。。。

其實有關JWT的問題,面試官應該是沒用過,伺服器這邊其實有一個私鑰Secret字串用來簽名,從而達到前後加密解密驗證的效果

第二個問題應該是還有一個spl_autoload_register可以用來註冊多個檔案

第三個連結串列,後悔大學沒好好學資料結構,後續得補一補

最後面試官直接給結果:很抱歉,你的不適合我們公司,希望你之後多去補一補基礎知識,不要只停留在會用,要知道為什麼可以這樣用。雖然打擊很大,但是也是這個面試讓我認清自己,知道自己欠缺的知識面太多,基礎太差了。

還是很喜歡這種面試直接給面試結果的。

實踐不足,知識面太窄 -- 直接不過

第三家,面試官是大牛,之前和韓天峰大神一起做朋友網的,人很好,很親切。沒有筆試,沒有自我介紹,主要問我的工作經歷,印象比較深的是:有沒有抓過包,用什麼工具,對TCP的理解,有沒有用一些語言來實現TCP的過程。。。無奈自己真的沒實踐過,知識面太窄了,僅僅知道一點死記硬背的知識,聊了20分鐘,就走了,也沒結果了。

白高興的offer -- 幸運過了

第四家,也是在深圳,招聘網上看到的公司不小,有100-500人,但發offer卻是另外一家公司,網上查了一下貌似是子公司,有點外包性質。沒有筆試,一個年輕的小夥子面試的我,主要問我一些有關Laravel的內容,一般手冊上都有,我答的也不怎麼完整。最後有個問題:你知道哪些設計模式,六大原則是什麼?對設計模式我只停留在單例和工廠模式,六大原則也回答不完整。

最後很意外讓我過了,我想是公司急需人員。給的薪資也挺滿意,心想面試了那麼多家終於有一家肯收留我了,也答應了對方下一週就過去上班。第二天回公司第一件事就是找我們總監要辭職,要一個星期後走,結果被告知要走一個月的交接流程,其實那時候我東西基本交接的差不多了,專案也不大,但是公司給的理由是,如果你沒有工作交接說明你平時沒做事,工作不飽和,會影響後續招人。直接把我整懵逼了,一方面我不敢提前裸辭,很多人都是網際網路寒冬,所以就等到拿了offer再提離職,這時候老東家行政放話一定要走一個月流程,新的公司又繼續一個星期後到崗,怎麼都沒得商量。。。最後,我還是放棄那個offer,一方面想到這家公司有點外包性質,另一方面以子公司名字來發offer總讓我有點擔心,畢竟之前實習的時候,有一家以騰訊的名字來招聘,進去後發現是騰訊汽車代理商。。。

結尾

以上便是三月份我面試過比較印象深刻的公司,基本都是被虐了,當然無非都是自己沒有好好準備,基礎不好的問題,導致浪費了很多機會。所以在此還是要告誡大家,如果下定決心要走人,要做好十足的準備,這種準備不應該只是所謂的刷面試題,後續我會另外開一篇文章用來具體講述我在多次面試失敗後,如何花兩個星期做到——”有計劃, 高效率,優簡歷“,最後成功拿到自己心儀的offer。

有計劃——如果規劃好每天的學習目標,主要有作業系統,計算機網路,mysql等近10個方面知識

高效率——我會介紹我如何高效記住一些核心知識,儘可能覆蓋面試知識點

優簡歷——面試是第一步,簡歷是最關鍵的,我會介紹我是如何最佳化自己的簡歷

三月份投的簡歷應該有上百家,反饋的十幾家,給面試的應該就只有七八個吧,除了上面說的幾家其他的都是一些外包或創業公司,甚至有人找過我要我跟他們一起創業,和一個前端實習生一起開發小程式(笑哭)。總之目前這種市場狀況不好,但是還是有機會拿到面試機會的,如果你剛畢業,最好走校招,如果你和我一樣,一兩年工作經驗,更應該好好準備,而不是埋怨環境不好,只想不做。當然,一些985,211的大神就應該找大廠或者考研,目標更遠大一點,我是比較考慮現實的人,目前我的實力和教育背景想要去大廠是很困難的,所以只能在條件不至於太差的中小型公司尋求成長。程式設計師更應該用實際行動來證明自己,腳踏實地,不要眼高手低,這便是我的個人想法。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章