26道選擇題,說是多選,可就沒有發現一個多選。基本上沒有智力題,全是邏輯和c語言的題目。
1道編程題,判斷一個單鏈表中是否存在環。
1個英文問答題,飢餓與死鎖的異同,要求用英文回答
選擇題有一個typedef的題目以前沒有碰到過:
using namespace std;
typedef char * constchar;
void main(int argc, char *argv[])
{
char s[] = "asdf";
const constchar a = s;
*a = 'b';
cout << s;
}
說明const constchar與constchar const 是一樣的,都是一個指向char的常指針
還有一個sizeof的
union u{
int a[4];
char b;
double c;
};
struct s{
int a;
u b;
};
void main(int argc, char *argv[])
{
cout << sizeof(s) << endl;
}
在vc上結果是24,在gcc上是20
EMC的題目分三部分,第一部分是32道單項選擇題,這一點就比CISCO厚道多了,主要是智力題和讀程序判斷輸出的題目,以及一些計算機的基礎知識,如二進制的換算什麼的。第二部分是5道Information題,問申請Software Engineer 還是 Technical Solution Associate,將來希望在什麼地方工作,等等。第三部分是兩道大答題,第一題是編程題,我沒做,第二題問 5 年職業規劃是什麼。下面詳細講。
先說智力題。EMC的智力題不是特別難得那種,也不是特別簡單,牛人也不可能一眼看出答案來,除非做過,一般人做10分鐘,也肯定不會算不出來。
記得比較清楚的大概有這樣幾道(當然原題都是英文的,我就自己的理解在這裏拿中文寫出來,可能會跟原題有偏差,所以僅供參考,有誰知道的話幫忙補充):
1. 有一個村莊,村莊裏各戶人家直到生出女孩來就不再生小孩了,而生男孩女孩的概率各是1/2。請問這個村莊男孩女孩的比例是多少
a. 2:3
b. 3:2
c. 1:1
d. 2:1
e. 1:2
c這個題目迷惑性很大,可以從這個思路解答:第一胎男女比例爲1:1,同理第2到n胎比例都爲1:1,所以總的比例是1:1
2. 有一家人,老公、老婆、兒子還有老公的媽媽,其中有一個是律師,一個是醫生
如果醫生比律師年輕,則醫生與律師沒有血緣關係
如果醫生的女的,那麼醫生和律師有血緣關係
如果律師是男的,醫生也是男的
請問我們能確定這家人裏的那一個人
a. 老公是醫生
b. 老婆是醫生
c. 兒子是醫生
d. 老公的媽媽是醫生
e. 以上都不對
3. 實驗室裏有1000個一模一樣的瓶子,但是其中的一瓶有毒。可以用實驗室的小白鼠來測試哪一瓶是毒藥。如果小白鼠喝掉毒藥的話,會在一個星期的時候死去,其他瓶子裏的藥水沒有任何副作用。請問最少用多少隻小白鼠可以在一個星期以內查出哪瓶是毒藥
a. 9
b. 10
c. 32
d. 999
e. 以上都不對
b每個瓶子用10位的二進制表示,白鼠編號爲0-9,瓶子的某位爲1表示給這個編號的白鼠喝這個瓶子的藥
4. 有ABCDEF六個城市,每一個城市都和其他所有城市直接相連,問從A——B有多少種連接方式。路徑不允許在兩個城市之間往返。(這題的選項可能有的數記錯了)
a. 78
b. 84
c. 65
d. 43
e. 以上都不對
c 1+P(1,4) +P(2,4) +P(3,4) +P(4,4)=65
然後說一下讀程序題。就程序本身來說都是很簡單的程序,基本學過C語言的話,讀懂語句應該沒有問題的。有好幾道都是算數列的,還有幾道是 char 型數組,還有算循環次數的題目。只有兩道題記得比較清楚,題目都是以程序形式給出的,我就把程序的大概意思按照我的理解寫出來,可能有錯,所以僅供參考。
1. 菲波那契數列 1,1,2,3,5,8,13……的第40位除以第39位得多少?即,N40/N39=?
a. 1.666666
b. 1.618xxx(後面幾位記不清了)
c. 1.600000
d. 以上都不對
b. Fabonacci數列連續兩項之餘好像是黃金分割點
2. 數列 0,1,3,6,10,15,21……從a0加到a10000得多少?
a. 50005000
b. 50000000
c. 49995000
d. 50000
e. 以上都不對
計算機基礎知識的題目也不少,主要考點有B-tree,冒泡排序,堆棧,dual-link和單向link,小數點後的數十進制到二進制的轉化,ox進制,按位異或,C 和C++ 的 struct有什麼區別,什麼樣的排序算法效率高,什麼樣的排序算法節省空間,還有一些網絡存儲磁盤陣列的很基礎的題目。都不難,只可惜沒學過什麼,或者說學了都忘了,所以就憑感覺了,看那個選項順眼就選那個。
第二部分的編程題是要把N5 ->N4 ->N3 ->N2 ->N1的序列用一種自己熟悉的編程語言轉化成N1 ->N2 ->N3 ->N4 ->N5。看起來是要用到指針的,由於我都忘乾淨了,所以啥也沒寫。
差不多客觀題就這些了,不是特別難,也不簡單。希望對大家有幫助^_^