摩托羅拉的筆試題

2021-04-13 00:42:12 字數 1517 閱讀 7630

1.介紹一下stl,詳細說明stl如何實現vector。

答:stl 是 standard template libary 的,翻譯成中文叫做標準模版庫.

它是是容器,演算法和迭代器的集合.通過迭代器作為橋梁將容器和演算法

聯絡起來.容器是用來儲存資料的,演算法是用來運算元據的.容器是模版化

的資料集和,演算法是泛形化的資料操作.利用 stl 進行開發,可以減輕對      於動態記憶體的操作,利於程式開發和維護.

vector 是乙個動態的陣列,它的連續性其實是一種假象.vector 動態的      擴大容量的大小,是這樣來實現的.首先來申請乙個適合的儲存空間,將原      來的內容拷貝進新的儲存空間,再把舊的空間釋放掉.

2.指標和引用有什麼分別;如果傳引用比傳指標安全,為什麼?如果我使用常量指標難道不行嗎?

答: 指標和引用的區別:

(1) 引用必須初始化,指標無需.

(2) 引用經過編譯器的優化不占用儲存空間,

在 32 位機器下指標佔4個位元組.

(3) 引用和被引用的物件是同乙個物件,

指標內存放的是指向物件的位址.

(4) 指標可以改變所指的物件,

引用一經初始化就不可改變.

(5) 引用利於理解,指標容易混淆.

傳引用確實比傳指標安全,就如上面(4)所言指標可以改變指向.如果我們      為函式傳入陣列的首位址,而在函式內意外的修改了該首位址,可能會出      現意向不到的後果.

我使用常量指標難道不行.這樣是不行的,因為常量指標的指標的意識是

指標不可以改變指向,但是可以更改指標所指的內容.這樣也可能帶來意      想不到的後果.

如果非要指標的話,你可以這樣的定義 const int*const p = &a;

但是這樣的可讀性沒有引用好,因此建議使用引用.

3.引數傳遞有幾種方式;實現多型引數傳遞採用什麼方式,如果沒有使用某種方式原因是什麼;

4.建構函式可否是虛函式,為什麼?析構函式呢,可否是純虛的呢?

答:建構函式不可是虛函式,因為在構造裡面是需要明確的知道要構造什。

虛函式是不確定的,因此可能會帶來意想不到的後果。

析構函式可以是純虛的。雖然在語法上正確,但是在實際開發過程不應       該這樣宣告,因為基類的純虛函式不可以定義。因此如果類中有動態申       請的空間,這樣可能會造成記憶體洩漏。

5. 拷貝建構函式相關問題,深拷貝,淺拷貝,臨時物件等。

答: 深拷貝是將資源和指標全都拷貝,而淺拷貝僅僅拷貝指標。

如果拷貝拷貝建構函式是淺拷貝,程式可能造成對同一塊記憶體刪除兩          次的情況,這樣程式會崩潰。還有一種情況如果,指標改變了

指向將造成記憶體洩漏。

臨時物件的開銷比區域性物件要小,臨時物件不可以做左值。

6. 基類的有1個虛函式,子類還需要申明為virtual嗎?為什麼。

答: 不需要。因為編譯器會把它當作虛函式處理。

7. c++和c定義結構的分別是什麼。

答: c 中只有資料,而且都是公有的。

c++ 中有資料也有函式,預設的是私有的。

google收購摩托羅拉是摩托羅拉的噩夢的開始

看到了moto被裁員,程式設計師是重災區。被收購不但沒有給員工帶來福利,反而是噩夢的開始。這個事件告訴我們,不要準備在乙個公司準備幹一輩子,下乙個被裁員的就是你。摩托羅拉移動的裁員事件步入尾聲,中國區不少員工都開始在網路上抒寫 摩托羅拉畢業季 留下這最後的紀念。他們中的許多人將青春獻給了摩托羅拉,為...

摩托羅拉C 面試題

摩托羅拉c 面試題 最近經常在上 csdn看看,關注裡面各位程式設計師的blog,主要是c 方面的,畢竟可以了解一些有用的東西。找到的一二摩托羅拉的c 面試題,學習下。1.介紹一下stl,詳細說明stl如何實現vector。answer stl 標準模版庫,standard template lib...

摩托羅拉價值幾何

目 前摩托羅拉公司 motorola inc.正遊走在razr的刀尖之上 可是要想把它劈成幾瓣卻也 並非易事。有越來越多的跡象表明 隨著前期頗受歡迎的razr系列手機銷量銳減 這家電信裝置生產商可能正考慮進行分拆。這樣的舉措正合 行動型 股東卡爾 伊坎 carl icahn 的意 伊坎今年曾發起一場...