大家都在說去大廠,我說說怎麼去小廠面試吧?
01 前言 & 吐槽
為什麼要起這個標題?
一般不都是說怎麼去大廠嗎?
小廠有啥好說的?
錢少、事多,技術落後,學不到東西,還加班。
誰他麼不能進?
一找工作,發現還真有點難。
因為競爭的人,好像有點多。
我靠,原來這麼多人都只能去小廠???
而我們在網上看到的面試文章畫風都是這樣的:
《大廠程式設計師面試邏輯題面面觀》
《阿里P7一定難嗎?》
《我是怎樣拿到阿里、騰訊、滴滴、京東offer的?》
《位元組跳動三面過後,HR說讓我回去等通知》
《一文告訴你,掌握XXX才能進大廠》
好吧,因為大廠大家都想進,我也想進。所以這樣的文章標題還是很有吸引力的。
阿里騰訊的高工資誰不想去呢?
但是一方面是大家也不全都是在北上深杭。
二三線城市又沒什麼知名網際網路公司。
而且對於工作三五年以內的同學來說,殘酷的真相是,這些文章沒有說一個大家心知肚明的前提:
不是985、211,你連面試的資格都沒有!
難道小廠同學就不是人嗎?
我想大部分程式設計師也都不是985、211畢業的吧?
我見過很多程式設計師,也帶過不少團隊,其中有985、211的本科生、研究生,也有大專畢業的,還有中途幹了幾年別的中間轉程式設計師的。
不可否認985、211的畢業生學習力確實比較強,但是比例差距並沒有那麼大。
至少在我帶過的團隊裡,大專、雙非本科畢業的同學跟他們的差距也就是4:6這樣。
在工作中,其實我們又回到了同一起跑線!
但是在境遇上,我們必須很現實地看到,在薪資獲取、職位提升、職業發展的路程中,差距確實很大,甚至越來越大。
為什麼會這樣?
我想很多人心裡都有自己的想法,自己的見解。
是不是很不甘?
為什麼我們付出一樣多的努力,得到的卻比別人少呢?
別人在大廠一年、兩年就能達到的成績、薪資、職位,可能你需要付出四、五年才能達到。
我不能安慰你。
我只能說是應該的。這是過去的你償的債。
讀書時的缺失只能用工作中的時間去彌補。
而在工作後,你有了重新再來一次的機會。
怎麼去把握呢?
我們可以以大廠為目標,但是得承認先天性上確實有差距。
所以可以先去小公司去歷練下。
小公司因為人少,流程也比較少。招人就是來幹活的。
對學歷的並非很看重。
我自己發出的標準就是大專就行了。
但是小廠招人也特別塊,基本沒有所謂二面。
所以第一印象很重要。
怎麼在一次面試中就get到面試官的點?
怎麼將自己的優勢發揮出來?
在面試前應該準備什麼?
在面試時遇到不會的怎麼辦?
好吧,看看接下來我怎麼裝逼,錯了,是從面試官的角度,說一些掏心窩子的話,寫寫這個《程式設計師的小廠面試寶典》吧。
02 作為面試官,我會問一些什麼問題呢?
過年後到了一家小公司,開始創業之路。
這兩天開始招人組建技術團隊。
陸陸續續面試了近二十個人。
小公司來面試的大部分都是雙非畢業生。
看到他們就想起了曾經的自己。十年前的那個我。
我中學是上的職高,大專上的業餘,畢業後還做了一年電腦維修。
可以說起點是差得不能再差了,低過90%程式設計師的學歷和起步。
然後自學C,邊工作邊學了兩個月,自學學不下去,進入一家培訓班學了java。
學完後,進入一家小公司實習,第一個月工資是1200。
好了,苦情背景話都說完了。說說正題吧。
面試的這些人大部分都是雙非背景,工作兩三年內的。
拿上簡歷一看,熟悉XXX技術,一問XXX:
不知道,
沒學過,
只瞭解一點。
三連暴擊,暴得我肝疼。
【你逗我呢?不會你也寫?臥槽,你自找麻煩嗎?】
但是我後來想了想,這好像也正常,因為你不寫這些東西,HR都不會給你面試的機會。
所以面試一看簡歷,基本的套路一看就能看出來:
寫了精通,就是工作中常常用到;
寫了熟練,就是用過一點;
寫了解,就是偶爾吹牛的時候聽過。
我在面試的時候,生怕漏了明珠,所以總會問來面試的同學:
你擅長什麼?
Java、資料庫、前端你哪方面掌握的比較好?
你常用的技術棧是什麼?
說一件讓你印象深刻的事,可以展現你解決問題的能力,或者學習的能力。
好了,以上就是我的面試套路。你掌握了這個套路,是不是就能套路我了?
所以,你到底有沒有某一方面可以打動面試官的點呢?
在面試時,我會在上面那些套路的問題時,追著去問你所掌握的技術棧能力。
譬如你說你擅長後端,我就會問些Java、中介軟體;
你說擅長資料庫,我會臨時出個題,讓你寫個SQL;
你說擅長前端,我會問下JavaScript、vue。
對於不通工作經驗年限的人,我問的問題層次也不太一樣。
一年工作經驗
後端:
Java有哪些集合類?ArrayList跟LinkedList有啥區別?
springboot用過嗎? 是怎麼使用的?
redis用過嗎?它是用來做什麼的?為什麼比較塊呢?
資料庫:
一個學生成績表,有學生、班級、成績、課程,怎麼一條語句分組展示班級的學生總分數?
前端:
怎麼獲取一個id是ss的div,去改變它的內容?
jQuery的Ajax怎麼用的?它封裝了原生js的一個什麼元件?
兩年工作經驗
後端:
ArrayList跟LinkedList有啥區別?有什麼優缺點呢?它們是執行緒安全的嗎?
springboot用過嗎? 是怎麼做到簡化配置的?為什麼能自動裝配呢?聽過factories檔案嗎?
redis用過嗎?聽過快取穿透、快取雪崩的問題呢?怎麼解決呢?
mybatis是一個什麼框架?它跟JDBC有什麼區別?它是怎麼連線資料庫執行SQL的?
資料庫:
一個學生成績表,有學生、班級、成績、課程,怎麼一條語句分組展示A、B、C班級的學生總分數?
基於上題,怎麼篩選總分數1萬分以上的班級呢?
基於上題,怎麼再篩選60分以上的同學,60分以上的成績參與統計,以下不統計呢?
做過查詢優化嗎?知道執行計劃嗎?
前端:
怎麼獲取一個id是ss的div,去改變它的內容?
JavaScript中的function a(){this.s =1};this是屬於哪個物件?
jQuery的ajax是封裝了原生js的一個什麼元件?
知道盒模型嗎?
知道閉包嗎?
小程式跟vue用過嗎?跟html有什麼區別?
三年及以上工作經驗
後端:
spring boot用過嗎? 是怎麼做到簡化配置的?為什麼能自動裝配呢?聽過factories檔案嗎?
redis用過嗎?聽過快取穿透、快取雪崩的問題呢?怎麼解決呢?
怎麼做一個分散式鎖呢?
應用怎麼做叢集?叢集、負載、分散式有什麼區別?
用過多執行緒嗎?怎麼建立一個連線池?
如果前端有個出具報表的請求,需要請求三十張表的資料,我現在在後端用多執行緒來解決,每個執行緒查詢一張表,怎麼將這三十個執行緒的資料彙總返回給前端呢?用同步還是非同步?同步怎麼做?非同步怎麼做呢?
資料庫:
做過查詢優化嗎?知道執行計劃嗎?
知道怎麼挑選索引欄位嗎?有索引一定快嗎?索引失效怎麼辦?
用過mysql?mysql怎麼做到主從複製的?怎麼解決腦裂問題?
知道分割槽嗎?用過分庫分表中介軟體嗎?
用過Oracle?Oracle是怎麼做叢集的?
前端:
jQuery的ajax是封裝了原生js的一個什麼元件?
知道盒模型嗎?
知道閉包嗎?
vue用過嗎?是怎麼做到雙向資料繫結的?
知道prototype原型鏈嗎?怎麼用prototype開發一個jQuery庫?
03 結語 & 祝福
作為一個面試官,我想招一個什麼樣的人呢?
首先,肯定是有“錢”這個前提的。
就是招聘這個崗位,這個崗位能給多少錢,可能會有一定的浮動,但是都會限制在一定範圍內。
所以在這個範圍內,我們肯定是想招到合自己心意的人選。
那麼,我作為一個面試官,我會想招一個什麼樣的人選呢?我會考察他哪方面的能力呢?
我是一個面試者,我又怎麼表現出自己的能力?表現哪方面的能力呢?
作為一個面試官,在拿到面試者的簡歷後,問上一兩個問題,有沒有實際工作的經驗,有什麼技術能力,很容易便能分辨出來。
但是有兩種能力,卻很難分辨出來。一個是解決問題的能力,一個是工作中學習的能力。
而這兩種能力,卻是我在挑選同層級候選者們時最看重的能力。
所以我喜歡問的問題是:
你擅長什麼?
Java、資料庫、前端你哪方面掌握的比較好?
你常用的技術棧是什麼?
說一件讓你印象深刻的事,可以展現你解決問題的能力,或者學習的能力。
你喜歡分享嗎?有記筆記、寫部落格的習慣嗎?有參與過開源社群的專案嗎?
如果讓你對自己的學習能力打個分,你會打多少分?
在多數候選者的心中,自己的學習能力都是毋庸置疑的,特別是我問"如果讓你對自己的學習能力打個分,你會打多少分?"
一般人的回答都是80分。
我想如果不是中國人的謙虛本能抑制住了他們的驕傲,一百二十分也是沒問題的。
但是我們往往都會高估了自己的學習能力。
我低頭看看我自己就明白了,買書如山倒,看書如抽絲。
而我最看重的是這個問題:
說一件讓你印象深刻的事,可以展現你解決問題的能力,或者學習的能力。
我希望在面試官對你說這句話的時候,你可以盡情地把你自己的學習方法、遇到過的專案難題、解決問題的步驟很清晰地展現出來。
能展示你的【自我評價】上所描述的【熱愛程式設計,有鑽研精神,能獨立解決難題】等等這些比較”虛“的內容。
如果面試官沒有對你說這句話,我也希望你能在面試官對你提問的時候,儘量去展現你的風采。
在面試前,想好自己的優缺點;面試時,突出自己的優點。
你到底擅長什麼?
你是怎麼學習新技術的?
你對什麼有比較深的研究呢?
你是怎麼解決問題的?
錯,沒有關係,要有自己的思考。 但是請不要胡說八道。
僅以此篇,獻給正在忙忙碌碌找工作的同學們吧。
找一份工作簡單。
找一份滿意的工作卻很難。
誰都羨慕去大廠。
不過對於普通人的我們,還是先在小廠摸爬滾打一下吧。
over。