人們都說,這個世界上有兩種人注定單身勾笆,一種是太優(yōu)秀的敌蚜,另一種是太平凡的。我一聽窝爪,那我這豈不是就不優(yōu)秀了嗎弛车,于是毅然決然地和女朋友分了手齐媒。
人們都說,互聯(lián)網(wǎng)寒冬來了纷跛,這個時候還在大面積招人的公司喻括,必然是牛逼的公司。而這個時候勇敢跳槽的人忽舟,必然是牛逼的人双妨。
于是在2020年1月25日下午14:00,我開始了XXXX的社招面試叮阅。
為了這天刁品,我排老長的隊理了個利落的發(fā)型,胡子刮得一干二凈浩姥。穿上嶄新的新百倫999挑随,連襪子都是嶄新的NB,墨綠色工裝褲配酒紅色衛(wèi)衣勒叠,外面再搭一件精致的黑色羽絨小坎肩兜挨,準(zhǔn)時出現(xiàn)在電腦屏幕前,準(zhǔn)備開始視頻面試眯分。
去面試時拌汇,你最好有點心理準(zhǔn)備。曾面試過的好兄弟給的忠告弊决。
不過郵件對考查內(nèi)容寫的一清二楚噪舀,所以一面我并沒有做太強的心理建設(shè),事實證明我可能對通用型業(yè)務(wù)和軟性技能的理解還不夠透徹飘诗。
此時畫面里出現(xiàn)了一個面積很小的房間与倡,面試官坐在里面調(diào)節(jié)姿勢和座椅靠背。
這不是我第一次視頻面試昆稿,但我卻比第一次面試的時候還要緊張纺座。面試官跟我的一位悶騷的朋友很像:長相、氣質(zhì)溉潭、說話聲音如出一轍净响,我差點問他這些年跟鄭州的那個女孩子還有沒有聯(lián)系,孩子到底是不是你的喳瓣?
確認過眼神别惦,我們在緊張和局促中正式開始面試,前戲的部分大同小異:自我介紹夫椭、公司職能掸掸、項目簡介。
小作坊走出來的小猿,項目經(jīng)驗并不出彩扰付,沒有高并發(fā)堤撵、沒有分布式、前端后臺服務(wù)器和數(shù)據(jù)庫部署在同一臺機器上羽莺。
為了顯得不太low实昨,于是假裝不經(jīng)意地提了提自己在GitHub上的開源框架,但是他并不care盐固。我的花樣耍完了荒给,就到了他肆意揮舞小鞭的環(huán)節(jié)。
“我看你項目上都是偏獨立開發(fā)刁卜,或者你一個人在項目中承擔(dān)了很大的比重志电。那你能不能說說你們的項目在部署時用的是怎樣的架構(gòu)?”
“主要就是Django部署那一套蛔趴,nginx+uWSGI+Django+MySQL挑辆。”
“那你詳細說一下nginx在部署的時候有哪些必要的配置孝情?”
“我在nginx里配置了端口的轉(zhuǎn)發(fā)鱼蝉,對外監(jiān)聽80或443,然后轉(zhuǎn)發(fā)到內(nèi)部uWSGI的端口箫荡,由uWSGI來處理業(yè)務(wù)請求魁亦,部署Django項目「岬玻”顯然我對nginx的認知僅僅局限在配置端口反向代理吉挣,所以我偷換概念企圖蒙混過關(guān)。
“不是婉弹,我的意思是nginx當(dāng)中不是有很多參數(shù)配置嗎?那你在項目部署的時候哪些參數(shù)是必要的配置终吼,有哪些可以調(diào)優(yōu)的镀赌?”
對方識破了我的小伎倆,并不給我蒙混過關(guān)的機會际跪,無奈我只得低頭認慫商佛,表示并沒有用過其他配置,出師未捷就挨了當(dāng)頭一棒姆打。
“那你再說說uWSGI的工作原理良姆,底層是怎么工作的?”
因為緊張的緣故幔戏,原本不會的知識玛追,一下子變得還是不會。囫圇吞棗地講了它是代理一個服務(wù)端口,分配不同的線程處理客戶端瀏覽器的請求痊剖。
“那他的底層是怎么實現(xiàn)的韩玩?”
看來我不求饒,他就不打算放過我(這里省略一些不清楚陆馁、不知道找颓、忘記了之類的詞藻,保留一絲尊嚴)叮贩。
接下來是關(guān)于Redis哲學(xué)三連:是什么击狮?為什么?怎么用益老?
我把肚子里僅有的關(guān)于Redis的一滴墨水?dāng)D成了三滴彪蓬,仍然沒有給出他想要的。繼續(xù)追問Redis的數(shù)據(jù)存儲方式杨箭、操作方法寞焙、讀寫操作在底層都是如何實現(xiàn)。
好深互婿。
除了低頭委屈地說不會外捣郊,我已經(jīng)意識到了問題的嚴重性,平常面試你只要一喊不行慈参,對方就會體貼地換一個方向繼續(xù)深入呛牲,這次我都快被搞哭了,他居然換了個姿勢繼續(xù)往深懟驮配,這誰頂?shù)米“ ?/p>
到了這一步我的心理防線基本宣布告罄娘扩。往后又問了關(guān)系型數(shù)據(jù)庫表的存儲結(jié)構(gòu),我隱約記得是畢加索還是畢加樹來著壮锻,又被到索引的實現(xiàn)原理琐旁,索引為什么能加快查詢效率。
其實面試官的套路大多如此猜绣,每個技術(shù)都盡可能的深入灰殴,深到你不會為止,并不是非得要把你折磨得不能自理掰邢,而是為了考察你的技術(shù)水平到底如何牺陶。
但是事到如今我的大腦已經(jīng)無法給自己完成心理建設(shè)了,摧枯拉朽般智商情商性商逆商全線崩盤辣之。
當(dāng)然這也不能全怪我掰伸,上來就是三個大悶棍,就是李云龍來也讓旅長打成懵逼了怀估,哪里還能騰出精力開意大利炮狮鸭。
下一個節(jié)目到了數(shù)據(jù)結(jié)構(gòu)合搅,面試官穩(wěn)準(zhǔn)狠一步到位點到了我的敏感地帶:堆。
什么是最小堆怕篷?什么是最大堆历筝?在堆中怎么插入一個元素?
我居然急中生智廊谓,鬼使神差地用了四種不同的方式表達我不會梳猪,每種方式都尷尬而不委婉,并且還不重樣蒸痹。
好歹面試一波兒不能讓人家覺得我一無是處春弥,多少還算有點文筆。
如果我平時稍微多看一眼叠荠,知道堆的實現(xiàn)方式是完全二叉樹匿沛,這一連串的問題不至于答不上,面試的時候我記得看過棧和隊列榛鼎,完全不知道堆是怎么實現(xiàn)逃呼,下來才知道就是個完全二叉樹。
這個時候的我已經(jīng)被折磨得身心俱疲了者娱,面試已經(jīng)持續(xù)了將近四十分鐘抡笼,嘴開始打漂,情緒緊張思維也難以集中黄鳍,回答中開始大量出現(xiàn)“我感覺”推姻、“我猜”、“可能”框沟、應(yīng)該”是等高危詞匯藏古。
死亡轟炸還沒有結(jié)束,接著是MQ忍燥,我所使用的MQ的技術(shù)選型拧晕,為什么選它,項目中如何應(yīng)用梅垄,最后無一例外厂捞,它底層是如何實現(xiàn)?怎么保證的穩(wěn)定的消費者生產(chǎn)者隊列哎甲?
回答的中間穿插著我不自信的連接詞“嗯~啊~哼~哦~”。
每次我招架不住求饒喊著不要不要的時候饲嗽,我都能看到面試官嘴角狡黠的微笑炭玫,由內(nèi)而外的快感浮現(xiàn)在臉上憋都憋不住。心里暗暗發(fā)誓遲早有一天貌虾,我也要在上面吞加。
最后以一道算法編程題結(jié)束,如何給一個雙向鏈表排序?
我失去控制的舌頭自作主張地把話鋒導(dǎo)向了快速排序衔憨,沒想到面試官說叶圃,”那你來寫一個雙向鏈表的快速排序吧,這個視頻頁面上旁邊有一個編輯器践图,語言你隨便掺冠,用C++或Python都可以,大概10分鐘的時間码党,可以吧德崭?“
“那,我用C++試一下吧揖盘∶汲”
我隨即在編輯器里自信的def了一個QuickSort函數(shù),參數(shù)是一個int數(shù)組兽狭,還有兩個int值代表low和high兩個檔位憾股,函數(shù)末尾加上冒號,下一行開始縮進四個空格以示尊敬箕慧,當(dāng)然代碼段的區(qū)分花括號必須得有服球。
寫完這幾句,雙手這才收到了大腦已經(jīng)在十分鐘前宕機的消息销钝,于是兩手一攤表示無能為力有咨。
時間才過去一分鐘,剩下時間我開始拿紙筆低頭寫字蒸健,沉默的面試官抬頭看到還以為我在紙上排演算法座享,可實際上我是在拼盡最后一絲腦力回顧剛才他問我的問題,倒不是為了面試后好好復(fù)習(xí)似忧,主要是我一會兒要寫文章渣叛,哈哈,我可真是個小機靈鬼盯捌。
期間面試官也用自己的電腦快速地敲擊鍵盤淳衙,聽聲音猜大概是在吐槽HR,篩選簡歷的時候長點心饺著,找來面試的這都什么玩意兒箫攀。
時間差不多了,再一次厚著臉皮主動承認自己寫不出來幼衰。實際上靴跛,我哪怕正經(jīng)用C++寫一個數(shù)組的快速排序也算話,然而當(dāng)時的我滿身只剩下疲憊渡嚣,痛苦和羞辱梢睛。
面試官終于放我走人肥印,長達一個小時的激情視頻聊天終于結(jié)束,關(guān)掉視頻的一剎那绝葡,隨著渾身一陣抽搐深碱,整個人癱軟在椅子上。
我是誰藏畅?我在哪兒敷硅?剛才發(fā)生了什么?
我之前對那種事情還挺向往的墓赴,內(nèi)心對此充滿了激情和憧憬竞膳,怎么現(xiàn)在對這件事情一點興趣也沒了?
現(xiàn)在只想這么癱著什么也不想做诫硕。要不要點根煙抽抽坦辟?對了我不抽煙。原來賢者時間腦子里這么多想法……
飄飄忽忽渾渾噩噩章办,腦海里一直回蕩著周董的音樂:這感覺已經(jīng)不對我最后才了解锉走,一頁頁不忍翻閱的情節(jié)我好累,你沉默看我掉過幾次淚多憔悴藕届,而我心碎你受罪你的Offer挪蹭,我不配!
面試過程和提到的問題大致如此休偶,為了閱讀體驗有部分藝術(shù)修飾梁厉,但是內(nèi)容全部都是真實的。接下來咱們說點正經(jīng)的踏兜。
到今天總算知道他們說的是對的词顾,打嘴炮和真有能耐是不一樣的。之所以一直沒有大佬來懟碱妆,可能是因為大佬不屑一顧肉盹。
今天這輪面試算是被扒了個體無完膚,可以說是程序員面試的反面典型疹尾,當(dāng)然我也不怕說出來:菜就是菜上忍,吹水就是吹水,努力把吹過的水早日兌現(xiàn)纳本,遲早有一天能成真正的大佬窍蓝!
這次作為Loser再說說在求職前期準(zhǔn)備過程中暴露出的問題,望大家引以為戒繁成。
1吓笙、盡量早早做好準(zhǔn)備
面試不應(yīng)該是準(zhǔn)備好了才去,而是時刻都準(zhǔn)備好了朴艰。
如果非要說從什么時候開始準(zhǔn)備離職跳槽观蓄,我的建議是半年。別像我一樣祠墅,面試了才開始看算法和數(shù)據(jù)結(jié)構(gòu)侮穿。
2、先找小公司面幾次進入狀態(tài)毁嗦,再投大公司一舉拿下亲茅。
我一開始就動用了所有的人脈,投了BAT及其他二線大廠所有的內(nèi)推狗准。
算上這個已經(jīng)是我黃掉的第三個響當(dāng)當(dāng)大廠了克锣,踩著大廠當(dāng)墊腳石攢面試經(jīng),除了覺得自己蠢腔长,我還覺得自己真牛逼袭祟。
3、你的簡歷捞附,就是復(fù)習(xí)大綱
總有人拿網(wǎng)上找到的拿了BAT Offer的人提供的大綱復(fù)習(xí)巾乳,結(jié)果發(fā)現(xiàn)并沒啥卵用。
我這次的面試鸟召,他提出的所有問題全部是基于我簡歷中的技能清單胆绊。
我認為很多人但凡能做到簡歷中技能清單描述的樣子,就已經(jīng)算了不起了欧募。如果簡歷中感覺無料可寫压状?我推薦一個好辦法:
聽說過名字,就寫了解跟继;
跟著帖子寫過Demo种冬,就寫熟悉;
項目當(dāng)中用過还栓,就寫熟練掌握碌廓;
項目當(dāng)中經(jīng)常用,就寫精通剩盒;
我就是這么寫的谷婆,結(jié)果很顯然:出來混,總是要還的辽聊,敢裝逼纪挎,就活該被人凌辱。
4跟匆、警惕舒適區(qū)
不得不承認我在現(xiàn)公司真的非常舒服异袄,領(lǐng)導(dǎo)非常器重,項目和授課兩不耽誤玛臂,去大學(xué)實訓(xùn)總是受到學(xué)生的追捧烤蜕,手里時不時還能接到價格公道的私活兒封孙。
之所以想走,一方面是因為心中對大廠和技術(shù)的執(zhí)念讽营,另一方面是因為現(xiàn)在已經(jīng)到了給自己規(guī)劃的時間虎忌,碰巧趕上互聯(lián)網(wǎng)寒冬是沒有辦法的事,但是我仍然堅信真正牛逼的人是不會被寒冬所阻攔橱鹏。
最近的幾波面試直接把我打到懷疑人生了膜蠢,面試完后雙目無神地望著天花板不知道該如何評價自己。
授課到現(xiàn)在帶過的學(xué)生雖然不多莉兰,但是送進一二線大廠的沒有二十個也有十幾個了挑围,怎么我這個老師找工作這么費勁?是道德的淪喪還是人性人扭曲糖荒?是大廠真的飄了還是我確實拿不動刀了杉辙?
“如果程序員對職場感到迷茫,對眼下的舒適感到不安捶朵,我建議他出去面試奏瞬,不見得要走,但是你要出去泉孩,聽聽市場對自己的評價硼端。”
我覺得不光程序員寓搬,任何職場人都該深以為然珍昨。
我對職場雖不迷茫,但是面試一波就發(fā)現(xiàn)句喷,我在毫無意識的情況下镣典,在工作三年這個節(jié)點成長上已經(jīng)被人甩下一大截,更要命的是對基礎(chǔ)知識的掌握程度完全比不上應(yīng)屆畢業(yè)的實習(xí)生唾琼。
往后日子里趕緊老老實實看書兄春,踏踏實實做事兒,早日兌現(xiàn)自己曾經(jīng)吹過的牛逼锡溯。
你想成為一名優(yōu)秀的C/C++程序員嗎赶舆?如果你感興趣或者有需求的話,筆者推薦一個編程技術(shù)學(xué)習(xí)交流聚集地→C語言/C++進階之路 - 專題 - 簡書祭饭!小白芜茵、萌新和大神們正在等著你一起探討編程,氛圍超好倡蝙!