微軟暑期實習招聘筆試題目
總共20道選擇題,全部不定項,
微軟暑期實習招聘筆試題目
。總分100分,時間75分鐘。去年時間是90分鐘的。。。。1~8,做對3分,半對2分,錯誤-2分,不做0分
9~18,做對5分,半對3分,錯誤-3分,不做0分
19~20,做對13分,半對7分,錯誤-7分,不做0分
1、關于支持不定數量參數的方法(supportvariable parameters)有哪些?
(cdecl,stdcall,pascal,fastcall)
cdecl只有這一個。
2、以下代碼輸出的結果是:
[cpp] view plaincopyprint?
1. class A
2. {
3. public:
4. virtual void f()
5. {
6. cout<<"A::f"<
7. }
8. void f() const
9. {
10. cout<<"A::f const"<
11. }
12. };
13.
14. class B:public A
15. {
16. public:
17. virtual void f()
18. {
19. cout<<"B::f"<
20. }
21. void f() const
22. {
23. cout<<"B::f const"<
24. }
25. };
26.
27. void g(const A* a)
28. {
29. a->f();
30. }
31.
32. int main()
33. {
34. A *b = new B();
35. b->f();
36. g(b);
37. return 0;
38. }
答案為:
[cpp] view plaincopyprint?
1. B::f A::f const
第一個b->f()為動態綁定,輸出B::f沒問題,第二個,目前還沒弄明白,
感覺是由于函數g的參數有const,所以調用成員函數也是調用const版本,但是const版本的不是虛函數,不存在動態綁定,所以輸出A::f const。
3、linked list和array的區別,鏈表與數組的區別。
What is the difference between a linked list and an array?(3 Points)
A. Search complexity when both are sorted
B. Dynamically add/remove
C. Random access efficiency
D. Data storage type
4、線程Thread和進程Process的區別(下列關于...和...說法正確的是?)好像是指明了windows下的。
About the Thread and Process in Windows, which description(s) is(are) correct:(3 Points)
A. One application in OS must have one Process, but not a necessary to have one Thread
B. The Process could have its own Stack but the thread only could share the Stack of its parent Process
C. Thread must belongs to a Process
D. Thread could change its belonging Process
5、更奇葩的:
[cpp] view plaincopyprint?
1. int i=10,j=10;
2. i = i++;
3. j = ++j;
4. cout<
問輸出結果:
使用g++編譯,直接警告這是未定義的。。。。。
當然也給出了結果11,11.
使用vc編譯,沒有任何警告,結果也是11,11.
6、給一個二維數組,求數組的[x][y]是多少(x,y是確定的數字)?Java/C#下的
For the following Java or C# code(3 Points)
[java] view plaincopyprint?
1. int[][] myArray3 =
2. new int[3][]{
3. new int[3]{5,6,2},
4. new int[5]{6,9,7,8,3},
5. new int[2]{3,2}};
What will myArray3[2][2] returns?
A. 9
B. 2
C. 6
D. overflow
答案是D越界。
7、關于const int x和const int * x和int const x的注釋表述是否正確。
Please choose the right statement about const usage:(3 Points)
A. const int a; //const integer
B. int const a; //const integer
C. int const *a; //a pointer which point to const integer
D. const int *a; //a const pointer which point to integer
E. int const *a; // a const pointer which point to integer
AB選項忘記初始化了,但是描述正確的是ABC,自己查查資料吧。
8、以下代碼輸出的結果是:
[cpp] view plaincopyprint?
1. class C
2. {
3. public:
4. long a;
5. };
6.
7. class D:public C
8. {
9. public:
10. long b;
11. };
12.
13. void seta(C *data, int index)
14. {
15. data[index].a = 2;
16. }
17.
18. int main()
19. {
20. D data[4];
21. cout<
22. for(int i=0;i<4;++i)
23. {
24. data[i].a = 1;
25. data[i].b = 1;
26. seta(data,i);
27. }
28. for(int i=0;i<4;++i)
29. {
30. cout<
31. }
32. return 0;
33. }
答案:22221111.
這個做錯了。。。。。覺得不可能這么簡單,果然有貓膩。。
seta中,參數是基類C類型的指針,然后移動指針取對象并賦值,
但是main中往函數seta中傳遞的是派生類的對象,所以對象被截取了。。。再按照基類去取對象,只取出了一部分
自己慢慢體會吧。。。
9、1000瓶中有1瓶毒藥,喂老鼠,問至少多少只老鼠,才能識別毒藥?
1 of 1000 bottles of water is poisoned which will kill a rat in 1 week if the rat drunk any amout of the water. Given the bottles of water have no visual difference, how many rats are needed at least to find the poisoned one in 1 week?(5 Points)
A. 9
B. 10
C. 32
D. None of the above
(2^n > 1000),n=10即可,
資料共享平臺
《微軟暑期實習招聘筆試題目》(http://salifelink.com)。10.下列代碼輸出值為1的是?(其中選項有return 1&7,return "ab" == "ab")
Which of the following statement(s) equal(s) value 1 in C programming language?(5 Points)
A. the return value of main function if program ends normally
B. return (7&1)
C. char *str="microsoft"; return str=="microsoft"
D. return "microsoft"=="microsoft"
E. None of the above
1&7=1;
gcc下會對"ab" == "ab"警告:比較字面值是未定義的行為。但是結果也給出1.
還有一項是:char *s="abc";return s=="abc";
測試發現一般編譯器都會優化,但是g++會警告。。。
但。。。。。。。但是,這是微軟的筆試。。。
11、32位有符號數x,x/2不等于x>>1的情況?
If you computed 32 bit signed integers F and G from 32 bit signed X using F = X / 2 and G = (X>>1), and you found F!=G, this implies that
A. There is a compiler error
B. X is odd
C. X is negative
D. F - G = 1
E. G - F = 1
12、3*4的表格grid,可能找出多少個方框?(6 0)
How many rectangles you can find from 3*4 grid?
A. 18
B. 20
C. 40
D. 60
E. None of above is correct
13、一條直線可以將平面(surface)分2部分,2條可以分4部分,問100條可以分多少部分?
One line can split a surface to 2 part, 2 line can split a surface to 4 part. Given 100 lines, no two parallel lines, no tree lines join at same point, how many parts can 100 line split?
A. 5051
B. 5053
C. 5510
D. 5511
自己畫畫吧,我當時沒讀懂題意,空著。。。
微軟的`surface。。。split。。。被自己切n多片兒…… (感謝網友飛俠桑提供~ )
14、穩定的排序方法?(冒泡排序、快排、堆排序、希爾排序、歸并排序)
Which of the following sorting algorithm(s) is(are) stable sorting?
A. bubble sort
B. quick sort
C. heap sort
D. merge sort
E. Selection sort
15、關于MVC中M、V、C的職責描述
Model-View-Controller(MVC) is an architectural pattern that frequently used in web applications. Which of the following statement(s) is(are) correct:
A. Models often represent data and the business logics needed to manipulate the data in the application
B. A view is a (visual) representation of its model. It renders the model into a form suitable for interaction, typically a user interface element
C. A controller is the link between a user and the system. It accepts input from the user and instructs the model and a view to perform actions based on that input
D. The common practice of MVC in web applications is, the model receives GET or POST input from user and decides what to do with it, handing over to controller and which hand control to views(HTML-generating components)
E. None of the above
16、二叉樹的還原(必須要有中序,外加其他的任一一個)
we can recover the binary tree if given the output of
A. Preorder traversal and inorder traversal
B. Preorder traversal and postorder traversal
C. Inorder traversal and postorder traversal
D. Postorder traversal
17、n長度的string,求它substring子串的個數。
Given a string with n characters, suppose all the characters are different from each other, how many different substrings do we have?
A. n+1
B. n^2
C. n(n+1)/2
D. 2^n-1
E. n!
請弄清楚substring的定義。
好像我錯了。。。
18、sql執行,影響的結果條數?(涉及in、group、sum、having關鍵字)
Given the following database table, how many rows will the following SQL statement update?(5 Points)
update book set numberofcopies = numberofcopies + 1 where bookid in (select bookid from book group by bookid having sum(numberofcopies) < 8)
A. 1
B. 2
C. 3
D. 4
E. 5
19、單向圖的最短路徑?不需要算法,畫畫就出來了。放最后真浪費。。。那么高的分數。。
What is the shortest path between node S and node T, given the graph below? Note: the numbers represent the lengths of the connected nodes
A. 17
B. 18
C. 19
D. 20
E. 21
20、有N個球,只有一個的質量和其他的不同,給你一個天平,允許稱3次(當然是沒有刻度的),問下面可能的N有?
Given a set of N balls and one of which is defective (weighs less than others), you are allowed to weigh with a balance 3 times to find the defective. Which of the following are possible N?
A. 12
B. 16
C. 20
D. 24
E. 28
(<= 3 ^ 3的均可以)
【微軟暑期實習招聘筆試題目】相關文章:
1.微軟筆試題目
8.海信招聘筆試題目