2013 年微软暑假实习生招聘笔试题
1. Which of the following calling convention(s) support(s) supportvariable-length
parameter(e.g. printf)?(3 Points)
A. cdecl
B. stdcall
C. pascal
D. fastcall
2. What's the output of the following code?(3 Points)
[cpp]
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
A
view plaincopy
class
{
public:
virtual
{
void
f()
cout<<"A::f()"<f();
main()
new
B();
a
A*
=
a->f();
g(a);
37.
38.
}
delete
a
;
A. B::f()B::f()const
B. B::f()A::f()const
C. A::f()B::f()const
D.
A::f()A::f()const
3. 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. 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. What is the output of the following code?(3 Points)
[cpp]
1.
2.
3.
4.
5.
6.
7.
view plaincopy
{
=
x
y
=
x++
++y
10
int
10
int
;
x
=
y
;
=
printf("%d,
;
;
%d\n",x,y);
}
A. 10, 10
B. 10, 11
C. 11, 10
D. 11, 11
6. For the following Java or C# code(3 Points)
int
new
[csharp]
1.
2.
3.
4.
view plaincopy
myArray3
[][]
int[3][]{
=
new
new
int[3]{5,6,2},
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
7. 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
8. Given the following code:(3 Points)
[cpp]
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
view plaincopy
#include
A{
class
public:
long
a;
};
class
{
public:
B
:
public
A
long
b;
};
void
{
}
int
{
seta(A* data,
int
idx)
data[idx].a
=
2;
_tmain(int argc,
_TCHAR
*argv[])
B
data[4];
for(int i=0;
{
i<4; ++i)
data[i].a
data[i].b
seta(data,
=
=
1;
1;
i);
}
29.
30.
31.
32.
33.
34.
35.
36.
}
for(int i=0;
{
i<4; ++i)
std::cout<
D. return "microsoft"=="microsoft"
E. None of the above
11. 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(5 Points)
A. There is a compiler error
B. X is odd
C. X is negative
D. F - G = 1
E. G - F = 1
12. How many rectangles you can find from 3*4 grid?(5 Points)
A. 18
B. 20
C. 40
D. 60
E. None of above is correct
13. 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?(5 Points)
A. 5051
B. 5053
C. 5510
D. 5511
14. Which of the following sorting algorithm(s) is(are) stable sorting?(5 Points)
A. bubble sort
B. quick sort
C. heap sort
D. merge sort
E. Selection sort
15. Model-View-Controller(MVC) is an architectural pattern that frequently used
in web applications. Which of the following statement(s) is(are) correct:(5 Points)
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(5 Points)
A. Preorder traversal and inorder traversal
B. Preorder traversal and postorder traversal
C. Inorder traversal and postorder traversal
D. Postorder traversal
17. Given a string with n characters, suppose all the characters are different from
each other, how many different substrings do we have?(5 Points)
A. n+1
B. n^2
C. n(n+1)/2
D. 2^n-1
E. n!
看对 substring 怎么理解了。如果理解成 subsequence 就是 D。不然是 C
18. Given the following database table, how many rows will the following SQL
statement update?(5 Points)
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.(13 Points)
A. 17
B. 18
C. 19
D. 20
E. 21
20. 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?(13 Points)
A. 12
B. 16
C. 20
D. 24
E. 28