愛立信是全球最大的移動通訊設(shè)備商之一,筆試也是相當不簡單,來看看前輩們怎么說的!
筆試經(jīng)驗分享一:
5月11日收到短信說晚上有宣講會,之后有場筆試,急急忙忙趕去后人早已爆滿。熬到最后還是沒趕上第一輪的筆試,但是既然長途跋涉的趕去了,就耐心等吧!!
接近九點才開始第二輪的筆試,終于皇天不負苦心人啊,我一直在門口遙望,這次順利拿到期盼揣測已久的試卷,但是也應(yīng)了那句,凡事不可太強求呀(好不容易占到的位置是壞的~~),但是吃虧的不是我,有人給我換位子啦!!也算是苦中作樂拉,人嘛,什么時候都要擅于感受幸福!!嗚呼~~俺真幸福。
因為沒有什么找工作經(jīng)驗,更別說筆試啦,所以也不知道這次的筆試算不算是有難度的了,但是我個人覺得有一定的難度,知識點看似集中,實則和很多其他知識相關(guān)。這次筆試的內(nèi)容包括:c/c++、java還有一些UNIX和LINUX下的命令。題量很大,我主要做了C/C++部分的,還有兩個沒做。
總結(jié)下主要考到的內(nèi)容有:
1.OOP的構(gòu)造函數(shù)與析構(gòu)(差不多都是):主要考它們能否VIRTUAL,重載啊,以及各自的調(diào)用順序啊。都是選擇題,但是仔細看可以發(fā)現(xiàn)后面的閱讀程序中都已經(jīng)有答案了。
2.程序題,看程序?qū)懡Y(jié)果并說明理由
3.分析死循環(huán)產(chǎn)生的原因:需要打破常規(guī)思維,有更深入的思考,現(xiàn)在知道不是會寫程序會調(diào)試就OK的事情了,還要懂得它們在內(nèi)存中及編譯器中是怎么工作的才行。記得那個死循環(huán)大致是這樣的:
int index;
int avg[3];
for(index=0;index<5;index++)
{
avg[0]=10;
avg[1]=12;
avg[2]=10;
if(index/2)
avg[3]=0;
else
avg[3]=1;
}
當時一看數(shù)組定義長度不是3么,還avg[3]不越界了嗎?數(shù)組越界會導致死循環(huán)么?又想既然死在for里了,那肯定是INDEX的問題了,但當時思維僅僅局限在此,回去之后測試了下發(fā)現(xiàn)INDEX一直為0,為什么呢???
分析原因:這就設(shè)計到內(nèi)存區(qū)間開辟的問題了,程序在內(nèi)存中的形式為:代碼區(qū),全局數(shù)據(jù)區(qū),堆區(qū)和棧區(qū)。程序代碼區(qū)存放函數(shù)體的二進制代碼。全局區(qū)(靜態(tài)區(qū))(static),全局變量和靜態(tài)變量的存儲是放在一塊的,初始化的全局變量和靜態(tài)變量在一塊區(qū)域,未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域,程序結(jié)束后由系統(tǒng)釋放。堆區(qū)(heap)一般由程序員分配(new)釋放(delete),若程序員不釋放,程序結(jié)束時可能由OS回收。(注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事,分配方式倒是類似于鏈表)。棧區(qū)就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變量的存儲區(qū)。里面的變量通常是局部變量、函數(shù)參數(shù)等。
那么,上面的index和avg自然屬于棧區(qū)的了,變量聲明的時候index先聲明分配在高地址,avg在低地址,數(shù)組avg一旦越界,此時avg[3]需要再向高地址區(qū)開辟一塊存儲區(qū)域,所以它就指向了緊挨著它的index,即此時index和avg都指向同一地址了,所以當?shù)谝淮螌vg[3]賦值為0后,index也為0,滿足if條件,使得avg[3]再度為0,故index亦為0,如此反復(fù),兩者一直為0,程序陷入死循環(huán)。
解決辦法:
1.增大數(shù)組定義時的長度
2。定義時先聲明avg后聲明index
具體的需要看內(nèi)存方面的書,有空要區(qū)看啊,,好了,太晚了,今天就先說這么多!
筆試經(jīng)驗分享二:
今天上午去了愛立信做筆試。愛立信的地理位置還是不錯,在虹橋開發(fā)區(qū)附近,周圍寫字樓林立。從華師大過去一部車就到了,交通到滿方便的。約好9:00開始的,我提早了15分鐘到,發(fā)現(xiàn)已經(jīng)有一個人在那里等了。后來五分鐘內(nèi)又來了兩個。由于工作人員有點遲到,九點還沒開始,我就和旁邊幾個人聊了起來,一個人已經(jīng)工作了,問他幾句愛里不理的,還有一個交大的,一個海事的,都是應(yīng)屆,態(tài)度不錯稍微聊了一下。
筆試在一個會議室里進行,那個時候已經(jīng)滿多人了。卷子要做一個半小時,由于我是應(yīng)聘軟件開發(fā)人員,總的來說卷子當中C++的基礎(chǔ)知識比較多。首先是一些讓你寫輸出結(jié)果的題目,不是很煩,無非是指針,引用和值傳遞的區(qū)別云云,還有動態(tài)綁定等,不過有十道左右。還有就是讓你找程序中的錯誤,也是C++的程序,記得有一個是和構(gòu)造和析構(gòu)有關(guān),有一個和異常有關(guān)。
接著往下做。又碰到了寫輸出的題目,不同的是在寫輸出的同時要判斷程序是否有問題。定睛一看,都是有關(guān)內(nèi)存操作的,再仔細一看,原來都是林銳博士的《高質(zhì)量C++/C編程指南》附錄中的題目,不過很早以前做的,印象還在,隨便寫了點。考的是那本書的第四大題,有興趣的兄弟可以去看看。
做好C++基礎(chǔ),又碰到了些Java題目,不過量很少,考的是equals方法,好像還有動態(tài)綁定。接著是數(shù)據(jù)結(jié)構(gòu),題目比較少,是樹的遍歷,先序后序什么的。之后就是概念題,教你簡述什么是MVC,XML的優(yōu)點等等。還有些別的概念,比較生僻,也許也是我知識面不廣,反正沒都寫出來。
最后還有兩個大題,一道是關(guān)于類模板的C++編程,還有一道是讓你自己實現(xiàn)一個String類。類模板那道題目很長,時間不夠了,沒怎么做。說老實話我模板不太好。實現(xiàn)String類都寫了,應(yīng)該還可以。
就是這樣,HR JJ說要兩個禮拜才能出結(jié)果,等吧,再投投看別的公司。Ericsson, take me forward!