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