1. 程式人生 > >VMware(威睿)後端開發筆試題總結

VMware(威睿)後端開發筆試題總結

自定義 滿足 記錄 linux中 比較 ase blog 語言 個數字

1. Linux中查看系統的發行版本信息 的命令?

cat/etc/issue 和 lsb_release

2. linux 掛載一個共享文件夾:

mount -t cifc "windows共享文件夾" "linux /mnt 路徑"

3. 內存的分頁機制: 頁的大小由什麽決定?

4. 解析表達式 可以用什麽數據結構來適當的表達? 棧?

5. 主引導記錄(MBR, Main Boot Record)

6. buffer適合哪種鏈表結構實現

7. 哪些排序算法不穩定

8. 二叉樹的最大深度

9. 5升水的瓶、3升水的瓶,有9.5升水, 倒出來4升水的問題

10. 25匹馬賽跑,每次跑5匹,最快幾次找出最快的3匹馬。7次(ofo面試題)

11. 將自然數的平方數從小到大排列成一串有序數列149625364964.那麽第11個位置上的數字是9,第88個位置上的數字是? 8

12. A先生帶著太太參加聚會,到場的另外還有3對夫婦,彼此之間有若幹次握手,沒有人與自己握手,夫妻之間不會握手,且沒有2人之間握手超過一次,當其他人告訴A先生,他或她握了幾次手,然後A先生發現答案都不一樣。A先生和他的太太分別握了幾次手? 都是3次

13. 將1000個正方體組成一個大的正方體,將組合後的大正方體表面塗上顏色,問有多少個小正方體沒有塗上顏色?

3面都塗色的有8個,2面塗色的有12*(10-2)= 96 個, 1面塗色的有 (10-2)* (10-2)* 6 = 384 個,一點都沒塗顏色的有 1000 - 8 - 96 - 384 = 512 個。

14. i++ 和++i 的效率問題

i++ 返回原來的值,++i 返回加1後的值

i++ 不能作為左值,而++i 可以

(左值是對應內存中有確定存儲地址的對象的表達式的值,而右值是所有不是左值的表達式的值)

比如:

int i = 0

int *p1 = &(++i);   // 正確
int *p2 = &(i++);   // 錯誤


++i = 1;  // 正確
i ++ = 5;   // 錯誤

i++返回的是一個臨時變量,而臨時變量是右值。++i是直接在原地操作

兩者的效率比較:

若是內置的數值類型,兩者一樣

若是一些自定義的類,如Iterater, ++i的效率 >= i++的效率

15. 第一道編程題

2的次冪
時間限制:C/C++語言 1000MS;其他語言 3000MS
內存限制:C/C++語言 65536KB;其他語言 589824KB題目描述:
給出一個數字a(1≤a≤9)和一個數字b(0≤b≤9),你需要判斷是否存在一個非負整數n使得2^n在十進制表示下的最高位數字是a,最低位數字是b。若存在,輸出滿足條件的最小的n。
輸入
第一行包含兩個整數a,b。1≤a≤9,0≤b≤9
輸出
輸出對應的答案,若不存在滿足條件的n,輸出-1。

樣例輸入
2 2
樣例輸出
1

Hint
輸入樣例2
5 5
輸出樣例2
-1

VMware(威睿)後端開發筆試題總結