小A的年前面試經歷——實錄

博客搬家啦——爲了更好地經營博客,本人已經將博客遷移至www.ijavaboy.com。這裏已經不再更新,給您帶來的不便,深感抱歉!這篇文章的新地址:點擊我微笑


題記——快過年了,我們都在等着過年放假回家,朋友小A卻意外地告訴我們,她辭職了。驚訝之餘,她也向我們傾訴了她前天的兩則面試經歷。

       聽小A的意思,本來,也沒有希望在春節之前考慮找工作,因爲畢竟春節前好像招聘的很少,但是閒着也是閒着,就隨便投了兩家。一家是創業型的公司,一家是比較成熟點的公司。幸運的是,第二天就接到了兩家公司的面試通知,興奮的同時也不免有點緊張,畢竟她剛剛畢業。

       第二天,她來到了這家創業型的公司,公司坐落在上海浦東創業園內,她一大早就去了,但是約好了是十點,她不敢提前進去,就在寒風中吹了兩個小時,等到快十點的時候,才撥通公司的電話,說她到了。她應聘的職位是java開發,作爲一個女孩子,她似乎很愛這行。進入公司之後,人事的工作人員將她領入會議室,她戰戰兢兢地坐在會議室裏,思考着這家公司,人不多,大概十幾個,在外間很寬敞的房間裏辦公。

       就在她神遊的時候,進來一個人,她站了起來,看了他一眼。一個年近40的人,衣着很樸素,令她忍俊的是,她明顯的看到他的褲子上好像還佈滿了灰塵,就好像來面試她的人是剛從工地裏下來的建築工人。她沒有了之前的侷促和緊張,反而覺得這個人像她的父親,倍感親切。他對着小A說:“請坐”。

 

接下來,面試就這樣在一個玻璃牆前開始了...

 

面試官:請在玻璃牆上用java實現一個工廠方法模式。

小A:(想:GOF的23種設計模式我看了好幾遍,小kiss)。在黑板上花了一分鐘的時間寫出來了。並說道,設計模式我還是比較熟悉的。

面試官:恩,基礎不錯。但是,我想接下來這個問題,你肯定沒有遇見過。Socket用過嗎?

小A:用過,在學校用過的

面試官:好,現在,我要你實現一個多人聊天程序,現在有幾種方案,你給判斷下,哪種方案對服務器端的壓力最小。現在一個前提是,每個人一分鐘內說一句話。各個聊天室之間互不干擾。

第一種:10個聊天室,每個聊天室1000人

第二種:100個聊天室,每個聊天室100人

第三種:1000個聊天室,每個聊天室10人

你思考下,一會告訴我原因。(說完,面試官出去了,小A一個人站在玻璃牆上思考着)

10分鐘後...面試官進來了

面試官:算出來了嗎?

小A:...(算?她根本不知道要算的,她就是在想是不是在考她多線程等之類的知識)恩...我覺得是第一種,因爲...(吞吞吐吐自己也聽不清楚,估計面試官也沒有聽清楚)

面試官:看這裏,不是說每個人一分鐘說一句話嗎?算下!

小A:(恍然大悟似的)...在玻璃牆上寫了三種方案的結果(出去把面試官喊了進來)

面試官:(看了黑板小A的結果)怎麼樣,事實和主觀是不一樣的吧?(兩人同笑...)。你接觸過多線程嗎?

小A:瞭解一點,也用過

面試官:那你認爲多線程的核心是什麼,或者說多線程是爲了處理什麼樣的問題而出現的。

小A:我覺得多線程是爲了解決併發的問題,使得一個任務可以異步的執行。

面試官:恩...但是對於單cpu的來說,真的可以用多線程做到併發執行任務嗎?

小A:恩,,,(思考...)那我請問一下,出現多線程的本質是爲了解決什麼問題?(我笑,怎麼你變成面試官了)

面試官:呵呵,其實對於單cpu來說,多線程是爲了解決等待。如果只有一個線程,那麼當某個條件得不到滿足,線程就一直在等待,cpu這個時候其實是不做事的。但是,你高價請個“牛人”來,又不能充分利用他,豈不是浪費。這個時候,多線程就出現了...

 接下來,關於多線程和其他方面的討論持續了一段時間,小A自我感覺表現還不耐。據她說,面試官讓她感覺很親切,她一絲都沒有緊張的感覺。在接下來面試官就生動地和小A說了公司現在做的產品,兩個人在十幾平米的小會議室裏不時地發出愉快的笑聲...

 這場面試從十點持續到十二點半,臨走的時候,小A才從行政人員的嘴中知道,面試她的這個人就是這個公司的老闆。


 

       下午兩點,小A去了另外一家公司,坐落於金橋OfficePark中的一家成熟型的軟件公司。從浦東軟件園,小A怕耽誤時間,午飯就沒有吃了,騎着自行車,來到了金橋OfficePark,到了這裏,輝煌的高樓和擁堵的馬路,讓小A覺得很壓抑。但是,她平靜的心情再次緊張起來...

       來到了這家公司,一進門是前臺,小A笑着說,我是來面試的,坐着的小姐面無表情地遞給了小A一張表格,說,去旁邊的會議室裏填好。小A環顧了下週圍,發現這家公司人還是比較多的,整個樓層都是辦公區域。每個人都在緊張地忙碌着。她在會議室填好了表格,表格很簡單就是填下姓名性別之類的,但是有一項,就是工作經歷,而且還要說明前面所在公司開的工資...小A不知道這個目的是什麼,難道是根據前面的公司給的工資來定現在的工資?那我多寫點。Wait!後面還要寫上“證明人”,“奶奶的,賤”,一向不罵人的小A這個時候在心裏狠狠的罵了一句...

        做了好一會,還是沒有人過來。看到人來人往在這裏倒水,小A才突然發現自己的嘴已經被風吹得乾裂而疼痛,她想倒一杯水喝,卻又怕唐突了。她多麼希望這裏的工作人員可以給她遞上一杯水...就在她心神不定的時候,來了一個人。這個人,並不大,比她大個五六歲吧,禿頂,看得出磨練的。

 

拿着小A的簡歷,第二個面試開始了...

 

面試官:我先給你講講我們公司是做神馬的吧?。。。。。。。。。。

小A:哦,哦!!!!!!!!!!!!!!

面試官:你熟悉Http嗎?

小A:用過,前面做Android開發的時候用過。

面試官:恩,我看你簡歷上面有,你前面做的這個XX項目,裏面下載的功能,肯定要用到Http協議的吧?

小A:恩,是的

面試官:那你說說,你是怎麼用的吧?

小A:就是將服務器上面一個文件,通過一個url,下載到本地,並存儲。

面試官:那你用到Http頭了嗎?

小A:用了,就是斷點下載的時候,需要從某個位置開始下載,這個是需要在Http頭中設置的。

面試官:那設置了什麼?

小A:(關於斷點下載的時候,是用過Head頭的,但是...幾個月前的事了,我哪裏記得清)....忘記了.,

面試官:你知道500是什麼嘛?

小A:啊?(小A沒有聽明白,遲鈍了下),哦,你說的是Http的代碼500是吧?

面試官:恩,你知道500是什麼嘛?

小A:....(雖然開發中遇到過500,但是卻沒有記住)..不曉得,遇見過。

面試官:500是很常見的,服務器錯誤。那你知道OK是什麼嘛?

小A:200

面試官:恩,那你知道206是什麼嘛?

小A:不曉得...(沮喪...)

面試官:其實你前面說了那個斷點下載的時候,head中設置range,告訴服務器需要下載什麼範圍的數據,這個時候服務器返回的不是200,而是206。

小A:哦(已經覺得沒戲了...)

面試官:你知道多線程嗎?知道多線程的本質是什麼嗎?

小A:知道點(心想,上午才和那個老總討論了半天多線程,現在你來問,應該沒問題吧?本來想按照自己的理解回答,但是想着上午那是技術牛人的見解哎)。多線程的本質是等待。(自信滿滿的問題...)

面試官:爲什麼,說說理由

小A:(重複了上午那位老總的一番言辭)...就比如在Android客戶端開發的時候,主線程,我們知道是不可以進行長時間的任務的,否則就出現等待的現象,這個時候就需要另開一個線程來執行這個長時間任務。

面試官:你舉得例子是對的,但是你的回答好像有點...多線程的本質是"併發",或者說是”異步“...

小A:是,是,是(小A心裏想,誰能告訴我,多線程的本質到底是神馬????)

面試官:我也畢業過,也經歷了這些,誠懇地跟你說一聲,我這一關你肯定過不了,我會把這個交給人事的。你也可以現在就走吧,免得耽誤時間。

小A:好,我還是現在走吧。


回來的路上,小A差點哭出來,她覺得很委屈,爲什麼Http的狀態就那麼重要?爲什麼Http的Head裏面的東西就那麼重要?她自認爲可以考的東西,面試官一個不問。

但是,小A還是忍住了淚水,騎着自行車,帶着疲憊的身軀和飢餓的肚子回到了住處。


昨晚,作爲我們一起來上海的同學,大家聚了下。飯桌上,小A略顯得有點沉重,我們幾個都安慰她。

小B說:前一個是很有可能的,後一個那個你也不用太在意,總不能他認爲喬布斯是很有名的,就要求每個人都知道喬布斯是誰吧?

小C說:關於Http我就知道Head,還是猜的,因爲老外嘛,肯定用的是Head,不可能用”頭“的。(大家笑...)

作爲老大的小D說:聽了小A的經歷,我深有感觸,我也做過面試官,卻從來都只是從自身的角度去面試他們,以爲我知道的我理解的,他們也要知道,也要理解。但是,卻很少關注了他們真正擅長的,真正可以體現他們能力的地方。來年了,跳槽的多,我得重新思考下該如何面試那些應聘的人!

晚11點,散...

晚12點半,小A打來電話,我已經睡着了,她很興奮地告訴我,第一家的Offer下來了,她的要求全部滿足了,還有幾千股份。聽了,我也很興奮。這下她可以好好過個好年了。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章