阿爾卡特筆試經(jīng)驗(yàn)分享
筆試題目(一)
1、簡(jiǎn)要說軟件開發(fā)的過程,說說自己的編程風(fēng)格,經(jīng)驗(yàn)和教訓(xùn)
2、開發(fā)RTOS需要考慮什么?描述一下?lián)屨际絉TOS的機(jī)制
3、用兩種方法分配8個(gè)INT-32類型的數(shù)據(jù),并說明其分配在內(nèi)存中的位置
4、兩個(gè)程序分別什么結(jié)果,都是memory方面的。ST筆試都考過了
5、如何防止頭文件被多次引用
6、寫一個(gè)函數(shù)指針,并在函數(shù)中使用
7、在一個(gè)值從小到大的數(shù)組中用二分法查找一個(gè)值
8、寫一個(gè)函數(shù)將字符串反過來,函數(shù)接口用兩個(gè)指針
筆試題目(二)
Part A是一些你的知識(shí)技能調(diào)查
Part B全是通信方面的東西,不會(huì)做了,題目都沒看完
Part C是Computer Sience的東西。
前3道是選擇題,很easy
1、用A[1...n]模擬棧,A[n]是棧底,當(dāng)A[T]是當(dāng)前棧頂時(shí),POP操作后,當(dāng)然棧頂是什么
答:A[T-1]
2、假設(shè)二叉樹的根是為0層,那么第i層最多有幾個(gè)節(jié)點(diǎn)?
答:2i
3、以下各項(xiàng)那項(xiàng)是結(jié)構(gòu)化編程語言不允許的a if-else b loop-while,for c goto d function
答:c 順序結(jié)構(gòu),選擇結(jié)構(gòu)(亦稱分支結(jié)構(gòu),和循環(huán)結(jié)構(gòu)
4、給出軟件生存周期圖---------
答:瀑布模型:設(shè)計(jì)階段--開發(fā)階段--維護(hù)階段
、賳栴}定義及規(guī)劃 ②需求分析 ③軟件設(shè)計(jì) ④程序編碼 ⑤軟件測(cè)試 ⑥運(yùn)行維護(hù)
5、C的Structure和C++ 的class的.什么不同之處
答:Structure的默認(rèn)訪問權(quán)限是public class的默認(rèn)訪問權(quán)限是private
6、什么是virtual函數(shù),為什么使用virtual函數(shù)
答:虛成員函數(shù)和非虛成員函數(shù)調(diào)用方式有什么不同?
非虛成員函數(shù)是靜態(tài)確定的。也就是說,該成員函數(shù)(在編譯時(shí))被靜態(tài)地選擇,該選擇基于指象對(duì)象的指針(或引用)的類型。
相比而言,虛成員函數(shù)是動(dòng)態(tài)確定的(在運(yùn)行時(shí))。也就是說,成員函數(shù)(在運(yùn)行時(shí))被動(dòng)態(tài)地選擇,該選擇基于對(duì)象的類型,而不是指向該對(duì)象的指針/引用的類型。這被稱作“動(dòng)態(tài)綁定”。大多數(shù)的編譯器使用以下的一些的技術(shù):如果對(duì)象有一個(gè)或多個(gè)虛函數(shù),編譯器將一個(gè)隱藏的指針放入對(duì)象,該指針稱為“virtual-pointor”或“v-pointer”。這個(gè)v-pointer指向一個(gè)全局表,該表稱為“虛函數(shù)表(virtural-table)”或“v-table”。
編譯器為每個(gè)含有至少一個(gè)虛函數(shù)的類創(chuàng)建一個(gè)v-table。例如,如果Cirle類有虛函數(shù)ddraw()、move() 和 resize(),那么將有且只有一個(gè)和Cricle類相關(guān)的v-table,即使有一大堆Circle對(duì)象。并且每個(gè) Circle對(duì)象的 v-poiner將指向Circle的這個(gè) v-table。該 v-table自己有指向類的各個(gè)虛函數(shù)的指針。例如,Circle 的v-table 會(huì)有三個(gè)指針:
一個(gè)指向Circle::draw(),一個(gè)指向 Circle::move(),還有一個(gè)指向Circle::resize()。
在分發(fā)一個(gè)虛函數(shù)時(shí),運(yùn)行時(shí)系統(tǒng)跟隨對(duì)象的 v-pointer找到類的 v-table,然后跟隨v-table中適當(dāng)?shù)捻?xiàng)找到方法的代碼。
以上技術(shù)的空間開銷是存在的:每個(gè)對(duì)象一個(gè)額外的指針(僅僅對(duì)于需要?jiǎng)討B(tài)綁定的對(duì)象),加上每個(gè)方法一個(gè)額外的指針(僅僅對(duì)于虛方法)。時(shí)間開銷也是有的:和普通函數(shù)調(diào)用比較,虛函數(shù)調(diào)用需要兩個(gè)額外的步驟(得到v-pointer的值,得到方法的地址)。由于編譯器在編譯時(shí)就通過指針類型解決了非虛函數(shù)的調(diào)用,所以這些開銷不會(huì)發(fā)生在非虛函數(shù)上。
虛函數(shù)用來表現(xiàn)基類和派生類的成員函數(shù)之間的一種關(guān)系.
虛函數(shù)的定義在基類中進(jìn)行,在需要定義為虛函數(shù)的成員函數(shù)的聲明前冠以關(guān)鍵字 virtual.
基類中的某個(gè)成員函數(shù)被聲明為虛函數(shù)后,此虛函數(shù)就可以在一個(gè)或多個(gè)派生類中被重新定義.
在派生類中重新定義時(shí),其函數(shù)原型,包括返回類型,函數(shù)名,參數(shù)個(gè)數(shù),參數(shù)類型及參數(shù)的先后順序,都必須與基類中的原型完全相同.
虛函數(shù)是重載的一種表現(xiàn)形式,是一種動(dòng)態(tài)的重載方式.
7、填空完成ip v4協(xié)議表頭
8、你認(rèn)為造成軟件 crash的主要原因是什么,怎么預(yù)防?
答:Crash的主要原因是因?yàn)樵L問了不該訪問的東西,比如對(duì)非法地址進(jìn)行寫操作。
9、用C自己寫一個(gè)string copy函數(shù)
答:Void strcpy(char *s, char *t)
{
While (*s++ = *t++)
;
}
10、寫一個(gè)雙向鏈表的插入函數(shù)
//在鏈表第i個(gè)位置上插入元素status listinsert(dulinklist L, int i. Elemtype e)
{
Dulinklist p,s;
If(i < 1 | i > listlength(L) + 1)
Return ERROR;
P = getelemp(L, i - 1); //在L中確定第i個(gè)節(jié)點(diǎn)前驅(qū)的位置指針p
If(!p)
Return ERROR;
S->data = e; //將e賦給新節(jié)點(diǎn)
S->prior = p; //新節(jié)點(diǎn)的前驅(qū)為第i - 1個(gè)節(jié)點(diǎn)
S->next = p-> next; //新節(jié)點(diǎn)的后繼為第i個(gè)節(jié)點(diǎn)
P->next->prior = s; //第i個(gè)節(jié)點(diǎn)的前驅(qū)指向新節(jié)點(diǎn)
P->next = s; //第i - 1個(gè)節(jié)點(diǎn)的后繼指向新節(jié)點(diǎn)
Return OK;
}
Part D (optional)給出你認(rèn)為貝爾會(huì)感興趣的topic
結(jié)合阿爾卡特朗訊是一家提供電信軟硬件設(shè)備及服務(wù)的跨國(guó)公司這個(gè)背景來講吧
阿爾卡特朗訊為全世界的服務(wù)提供商、企業(yè)和政府提供解決方案,幫助其為終端用戶提供語音、數(shù)據(jù)和視頻服務(wù)。作為一個(gè)在固定、移動(dòng)、融合寬帶市場(chǎng)、IP 技術(shù)、應(yīng)用和服務(wù)領(lǐng)域的領(lǐng)導(dǎo)者,阿爾卡特朗訊端到端的解決方案,令人們能夠在家中、工作時(shí)、移動(dòng)過程中享受到豐富的通訊服務(wù)。
【阿爾卡特筆試經(jīng)驗(yàn)分享】相關(guān)文章:
家樂福筆試經(jīng)驗(yàn)分享11-04
網(wǎng)易筆試經(jīng)驗(yàn)分享01-15
公考筆試經(jīng)驗(yàn)分享01-18
分享寶潔集團(tuán)筆試經(jīng)驗(yàn)02-08