小胖李的面試之旅
- 2019 年 11 月 6 日
- 筆記
#0 序
一切過往,皆為序章
—莎士比亞
#1 起因
10月1日之前就發現經常在半夜出現突發性噁心,並且伴隨一股及其刺激性的液體反流到嗓子,痛苦的睡不好,10月1日之後找了一個時間去了一趟醫院,檢查出來:
慢性萎縮性胃炎,
食道炎,
中度脂肪肝,
膽結石
並且伴隨胃食管反流。大夫說,別看你胖,你的飲食肯定非常不規律,超出一般的不規律性,然後一尋思也對,每天除了早飯在酒店吃的比較準時,其他時間什麼時候吃飯都不知道。開了一大堆葯,讓我回家好好養一段時間。
我也和項目經理說,生病了,在家待一段時間,結果在家呆沒到2天,現場經理讓我趕緊回去,調程式碼。沒辦法只能回去了,誰讓我們是下級轉包呢,回去之後行李放下就直奔現場,緊接著一天沒吃飯,加上吃藥,加上通宵改程式碼。
通宵之後睡了3個小時,一個電話讓我趕緊回去,下午有檢查。又沒吃飯。
直接讓我動搖的心堅定下來,裸辭。
目前正在走離職手續。。。。。
#2 找下家
大家也都知道,今年過年比較早(不要和我學裸辭,我是覺得在不辭職就要死在外地了),所以10月11月工作機會比較少,只要那種外包和一些比較著急的項目組才會招人。所以網上的面試機會就少一些。再加上我要的價格和條件都比較高。
所以更難找,重點是,我個人的技術已經好幾年沒有進步了。所以遇到一些新的面試內容都無法應答。老臉一紅。。尷尬。
#3 外包
公司性質:某汽車大型外企
簡歷途徑:boss
職位:c# 開發工程師
福利待遇:五險一金(最低) + 雙休 +法定假日+福利假+額外醫療保險
面試方式:兩輪電話面試,面試通過就可以直接上班
這是一個外包公司給我打電話,本來開始沒想去,但是後來通過一些途徑知道,可以通過外包的形式去,有一定幾率成為這家外企的員工。然後我就同意HR把我的簡歷給到甲方HR,緊接著就來PM面試電話了,對話如下:
PM:你好,請問你是小胖李嗎?
小胖李:對,我是
PM:你好,我來負責你的技術面試,請問你會 VB.NET嗎?
小胖李:………不會
PM:哦……………..簡單介紹一下自己吧
小胖李:我是小胖李,巴拉巴拉
PM:嗯,好的,我了解了,有結果HR會和你聯繫的,再見
小胖李:好的,再見。
總結:全程2分鐘通話時長。我很蒙,我面試c#,為什麼要問我VB?直接被PASS。垃圾PM。
(有彩蛋)
#4 遊戲公司
公司性質:中小型外包遊戲公司
簡歷途徑:boss
職位:c#開發工程師 / 項目經理
福利待遇:五險一金(最低)+單雙休串休
面試方式:face to face
這是一家遊戲公司,主要工作是聽取甲方需求做遊戲,開發和項目經理都要。這次面試的人也是PM,但是沒有問什麼技術問題,只是問了問以前的工作經歷等等,但是我沒想到的是,他問了我一句知道 web API嗎?
我當時真的很懵,web API是什麼東西?我說沒聽過,他說沒事,就是現在的一種新的技術形式,然後又胡扯一堆。
PM最後的結論是:要價太高了,最低價都已經超出了他們的預期,我就問:你們的能給的最高價是多少?他說了一個低於我預期30%的價格。
總結:我當時沒有意識到問題,招聘市場的條件已經不在是5年前的那個樣子了,已經完全變樣了,我所掌握的技術已經落伍了?我給這句話畫了一個大大的問號。現在市場到底是什麼樣的。
#5 中場休息
通過遊戲公司,我查了一下,web API,.Net Core ,微服務,MVC,在通過查出來的關鍵字在招聘網站上查詢,發現比我單純用c#查詢的職位多了很多。這時候我才算意識到,目前c#的市場主要應用場景是
微服務,web API等,不在是原來的ado.net,而前端不再是熟練使用 JavaScript,JQuery,而是加上了:bootstrap,vue,AngularJS,H5,CSS3 等
總結:目前市場的前後端分離已經成為常態,需要的人才已經從以前啥都會啥都不精通變為,全棧工程師、前端工程師、後端工程師,開發行業被細化。混沌時代已經過去了。
#6 另一家外包
公司性質:某汽車大型外企
簡歷途徑:boss
職位:c# 開發工程師
福利待遇:五險一金(最低) + 雙休 +法定假日+福利假+額外醫療保險
面試方式:兩輪電話面試,面試通過就可以直接上班
這個和第一家外包公司一樣,只不過是另一個供應商,有了第一次的經驗,我就和HR問清楚是不是面C#,得到肯定的答覆,然後等待一面。然後電話就來了(因為過去了一段時間,有一些記不清了,我就按印象回憶一下當時的對話)
PM:你好,請問是小胖李吧,我這裡是XXX公司我是PM,接下來我來負責你的技術面試,你現在說話方便吧
小胖李:你好,我現在說話方便。
PM:請簡單介紹一下自己。
小胖李:我是小胖李,今年30,巴拉巴拉。
PM:好的,你剛才說你會 WCF,我問你一下WCF工作原理是什麼?
小胖李:…….我……只是……會用,沒有研究他的具體原理,我一般用它是給他當成一種升級的web service使用
PM:好的,你剛才還說你之前用過AngularJS,現在還在自學vue,那如果讓你帶領團隊開發項目,你的團隊成員兩個前端框架都不會使用,你會決定用哪個框架呢?
小胖李:是做APP項目嗎?
PM:是的。
小胖李:………我會用AngularJS,因為我會一點,算是從0變成1,我可以帶團隊的人學習,然後在共同學習掌握這個框架,最後達到項目的預期結果。
PM:嗯(肯定的語氣),你能說一下c#編碼特點嗎?
小胖李:……我能記得就是高內聚低耦合
PM:嗯(差一點意思的語氣),你能說一下net的特性嗎?
小胖李:…………….額,沒什麼思路
PM:你說你之前項目用過MVC,用過web API嗎
小胖李:我用MVC的時候是MVC 1.0時代到2.0時代,那時候沒有成熟的web API經驗
後面的問題記不住了
PM:如果讓你去現場面試你方便嗎?
小胖李:??????(不是說好都是電話面嗎)方便,但是要等下周,我這周要去交接工作。
PM:好的,有結果HR會告訴你
*************順利進入2面**************
2面基本沒聊什麼東西,扯東扯西,因為我通過外包的HR知道進入2面的有3個人,工作形式本身對英語要求很高,而且對技術上手速度也要很快,所以在2面開始的時候我就大概知道我是陪跑的。
結果真的是陪跑了,因為最後是三選一。。。
總結:本次電話大概有30分鐘,問的很細,都是我沒有涉及過的區域和吹牛吹大了。給自己裝到一個坑裡,還有就是不要在安檢前進行電話面試,容易趕不上飛機。。
問題總結:
問:WCF工作原理是什麼?
答:當創建一個服務時,它可以用來在內部網上實現跨進程、跨機器邊界的客戶一伺服器調用。通過這個調用,可以公開隊列調用和傳送服務保證,並且使用完整的WS協議棧來公開可互操作的Web服務。
WCF分為客戶端和服務端,服務端要寄宿在一個windows進程中或者是IIS上,可以通過WS協議通訊也可以通過TCP協議通訊
問:小白團隊使用AngularJS還是vue?
答:vue,因為vue是專門為移動端訂製的的前端框架,對各種移動端的自適應做的很好,雖然我也不會,但是可以和團隊共同學習進步,重點是vue框架比AngularJS框架好學,AngularJS龐大而且對移動端支援
不如vue,但是AngularJS對PC端的自適應還是很好的。
#7 彩蛋
在工作交接的時候,第一家外包給我打電話,問我什麼時候能入職,我說我都被pass了。。。。HR告訴我一共面試2個人,那個人不去了。你又被選上了。。。
我說我最快也要等到11月15號之後,這已經是我的極限了。她說,我在去問問協調一下。我說好。然後沒下文了。
#8 國企外包
公司性質:某國企外包
簡歷途徑:boss
職位:c# 開發工程師
福利待遇:五險一金(最低) + 雙休 +法定假日+福利假
面試方式:電話面試,face to face
面試我的是一個PM(?),女生,我描述了一下我的情況,然後她描述了一下她的項目情況:
1.北京的外包公司來我們這做國企項目
2.項目已經做2年了,現在要做本地化團隊接手
3.北京的團隊撤離
我和她的談話中知道這三個資訊,哪我就對這三個資訊提出以下問題
1.項目已經做2年了,還能做多久?
2.你們要我去是什麼職位?是開發還是PM?
3.項目目前用的技術是什麼?
4.既然項目著急,是不是目前還有很多加班?
對方沒有給我正面回答,而且支支吾吾的,雙休都沒有,周六周日是需要值班的。節假日也是要值班的。直接給pass了
總結:PM對自己項目使用的技術不清楚,對項目流程不清楚,那麼可以認為是做了一個無法收尾或者無法驗收的項目,並且後續維護成本很大,甚至被拋棄。
我一直認為PM的職責是,區分風險,劃分職責,全流程跟蹤,和客戶保持高頻率的溝通,而不是做一個類似於某門子的項目經理,對項目用什麼語言都不清楚,每天想要做的工作就是收集日報。
#9 落魄的網路公司
公司性質:網路公司專門做ZF項目
簡歷途徑:boss
職位:c#開發工程師
待遇:五險一金(最低)+雙休
去這個地方面試,我開車開了一個小時。。到了一棟破大樓裡面,找到了一個類似於網吧的公司,整體環境髒亂差。
小會議室裡面的桌子都已經有土了,大會議室還有鼻涕紙。。面試我的人是技術負責人,相當於公司的大佬,看到我的簡歷什麼問題也沒問,就和我胡扯一堆。
核心思想就是:別來我們單位,人際關係複雜,你要的價格已經是咱們這座城市的最頂點了,咱們這城市只有極少數公司能給的起這個價格。
我對他的回答也很誠懇,我來面試就是積攢經驗,並沒有想入職,只是看看市場目前是什麼情況,其次我已經感覺到我要的薪資已經觸碰了天花板。
總結:在面試任何一家公司的時候最好可以先對這個公司做一個背調,至少知道你要去的是一個什麼單位。
#10 NB的國企
公司性質:國企大數據以及軍事
簡歷途徑:智聯
職位:c#開發工程師
待遇:五險一金(全額)+雙休+法定假日+福利假日
上午給我打電話,下午就讓我去面試,開車1個小時,從二環跑到四環。。到了之後,是一家大國企,獨門獨院。進大門登記。到大門我就知道,我必然無法通過,
進到大廳進行觀察,這家單位主要做涉密內容,以及全省大數據,監控等。HR隨便聊一下,PM和我見面了。
PM:你這簡歷內容挺多啊
小胖李:嗯,做的內容比較多
PM:為什麼離職
小胖李:基本處於24小時高強度工作,身體受不了了
PM:問你點技術問題,對WEB API有了解嗎
小胖李:還在學net core還沒看到這一部分
PM:大數據應該怎麼提高他的查詢方式
小胖李:您說的大數據是指的大量的數據嗎?如果是大量數據看具體情況……
PM:(打斷)你接觸過最大的數據量多大?
小胖李:百萬級
PM:哦,你怎麼做
小胖李:做索引(怕給自己挖坑,轉話風),例如我們接觸的數據都是PLC傳輸過來的實時數據,這些數據是有時效性的,要麼當時看,要麼存儲到資料庫空,做定時計劃將數據查詢出報表,
如果數據量再大一些,那麼用資料庫快照。
PM:知道什麼是游標嗎?
小胖李:知道。。但是沒用過
PM:游標就是查詢一個結果集
小胖李: 哦。。。。
PM:我看你簡歷上寫會JAVA,小X你問問吧
小X:哪我就問你一些基礎的吧,設計模式了解過嗎?
小胖李:(不敢給自己挖坑)嗯稍微了解的少一些
小X:嗯。。介面和抽象類的區別是什麼?
小胖李:………………介面可以繼承,抽象類不能。
小X:…..我沒問題了
PM:wcf想用http通訊怎麼做
小胖李:……把服務寄宿在IIS上發布出來就行了
PM:怎麼寫呢
小胖李:……直接放到IIS上給他當web service用就行了啊。
PM:………….你寫後端用什麼技術?
小胖李:………您說的是使用什麼框架嗎?
PM:不是,是用什麼寫,怎麼寫
小胖李:……..用傳統的c#寫,一般情況三層,MVC這些
PM:……行,回去等通知吧
總結:我出來之後就給自己總結是,面試0分,關鍵性技術問題都沒有答對,另一方面,面試我的PM的氣場很足,莫名的就有恐懼心理。所以我太慫了
問題總結
問:wcf想用http協議通訊怎麼做
答:在配置文件裡面配置,因為wcf默認的通訊協議是TCP。
問:介面和抽象類的區別
答:抽象類要被子類繼承,介面要被類實現。
介面只能做方法聲明,抽象類中可以作方法聲明,也可以做方法實現。
介面里定義的變數只能是公共的靜態的常量,抽象類中的變數是普通變數。
介面是設計的結果,抽象類是重構的結果。
抽象類和介面都是用來抽象具體對象的,但是介面的抽象級別最高。
抽象類可以有具體的方法和屬性,介面只能有抽象方法和不可變常量。
抽象類主要用來抽象類別,介面主要用來抽象功能。
#11 旅遊公司
公司性質:旅遊公司網站
職位:c#開發工程師
待遇:五險一金(最低)+雙休+法定假日
因為朋友在這個公司,我就尋思我也去面一下吧,也沒個內推流程,去了之後先來一套性格測試題,然後來了一套筆試題,我問我朋友,不是說沒有筆試嗎!!
筆試內容如下:
1.有ListA和ListB 其中A,B的元素都是可以保證沒有重複的,現在合併A B得到新的 List C,要求C中不能有重複元素
2.實現不重複的100個隨機數的方法
3.取出資料庫user表中的一個小時內創建的數據
4.列舉spring常用的註解,並且分別表示的意義
5.session和cookie的區別和練習,session的生命周期,多個伺服器部署時session管理方式
6.如果有一個特別大的訪問量,到資料庫上,怎麼做優化
口答題
1.重寫和重載的區別
2.介面和抽象類的區別
3.多態是什麼意思
4.繼承是什麼意思
(以上問題給你們答吧。)
最後他們選擇了一個會web api的只要我薪資一半的人。。
#12 總結
1.我的薪資已經達到我所在的城市的c#的天花板
2.我會的技術已經落伍
3.目前c#市場要的內容基本是 MVC,Web API,大數據,分散式,傳統的開發者不需要了
4.工作經驗多了之後面試的內容基本都是面向設計的方向,用人單位不想要一個年齡大的開發者,想要一個架構師之類的設計者
接下來找工作的方向:
1.降低薪資
2.給多少的公司都去面試,積攢大量的面試經驗
3.繼續做自己的H5+NET CORE WEB API的簡歷網站
4.大量看理論知識
希望找工作的大家都有一個好的歸屬!