VMware(威睿)後端開發筆試題總結
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(威睿)後端開發筆試題總結