原文:
1. Which of following calling convension(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 following code? (3 Points)
class A { public: virtual void f() { cout << “A::f()” << endl; } void f() const { cout << “A::f() const” << endl; } }; class B:public A { public: void f() { cout <<”B::f()” << endl; } void f() const { cout << “B::f() const” << endl; } }; void g(const A* a) { a->f(); } int main() { A* a = new B(); a->f(); g(a); 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)
{ int x = 10 ; int y = 10 ; x = x++ ; y = ++y ; printf("%d, %d ",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 [][] myArray3 = new int[3][]{ new int[3]{5,6,2}, new int[5]{6,9,7,8,3}, 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)
#include class A{ public: long a; }; class B : public A { public: long b; }; void seta(A* data, int idx) { data[idx].a = 2; } int _tmain(int argc, _TCHAR *argv[]) { B data[4]; for(int i=0; i<4; ++i) { data[i].a = 1; data[i].b = 1; seta(data, i); } for(int i=0; i<4; ++i) { std::cout << data[i].a << data[i].b; } return 0; }
What is the correct result?
A. 11111111
B. 12121212
C. 11112222
D. 21212121
E 22221111
B data[4];连开64个字节空间 传进函数后强转成A*也就是加法操作每次移动的是sizeof(A)也就是8个字节 而B本身是16个字节 就相当于四次把前两个B的32个字节的值全都赋成了2 于是22221111
9. 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^r>=n+1即可
10. 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
11. If you computed 32 bit signed integers F and G from 32 bit signed integer X using F = X/2 and G = (X >> 1), and you found F != G, this implies that (5 Points)
A. There is a comlier 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
1 A
2 B
3 ABC
4 C
5 D
6 D
7 ABC
8 -//没答案,应该是22221111
9 B
10 B
11 C
12 D
13 A
14 AD
15 AC
16 AC
17 C
18 B
19 D
20 ABCD