微软2013暑假实习生笔试题(有答案)

转自http://blog.csdn.net/fengbingyang/article/details/8764931

部分题目答案不确定,会持续更新……

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)

  1. class A  
  2. {  
  3. public:  
  4.     virtual void f()  
  5.     {  
  6.         cout<<"A::f()"<<endl;  
  7.     }  
  8.     void f() const  
  9.     {  
  10.         cout<<"A::f() const"<<endl;  
  11.     }  
  12. };  
  13.   
  14. class B: public A  
  15. {  
  16. public:  
  17.     void f()  
  18.     {  
  19.         cout<<"B::f()"<<endl;  
  20.     }  
  21.     void f() const  
  22.     {  
  23.         cout<<"B::f() const"<<endl;  
  24.     }  
  25. };  
  26.   
  27. void g(const A* a)  
  28. {  
  29.     a->f();  
  30. }  
  31.   
  32. int main()  
  33. {  
  34.     A* a = new B();  
  35.     a->f();  
  36.     g(a);  
  37.     delete a ;  
  38. }  
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

【此题D选项存在疑问】

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)

  1. {  
  2.   int x = 10 ;  
  3.   int y = 10 ;  
  4.   x = x++ ;  
  5.   y = ++y ;  
  6.   printf("%d, %d\n",x,y);  
  7. }  
{
  int x = 10 ;
  int y = 10 ;
  x = x++ ;
  y = ++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)

[csharp] view plain copy print ?
  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}};  
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)

  1. #include <iostream>  
  2.   
  3. class A{  
  4. public:  
  5.     long a;  
  6. };  
  7.   
  8. class B : public A  
  9. {  
  10. public:  
  11.     long b;  
  12. };  
  13.   
  14. void seta(A* data, int idx)  
  15. {  
  16.     data[idx].a = 2;  
  17. }  
  18.   
  19. int _tmain(int argc, _TCHAR *argv[])  
  20. {  
  21.     B data[4];  
  22.   
  23.     for(int i=0; i<4; ++i)  
  24.     {  
  25.         data[i].a = 1;  
  26.         data[i].b = 1;  
  27.         seta(data, i);  
  28.     }  
  29.   
  30.     for(int i=0; i<4; ++i)  
  31.     {  
  32.         std::cout<<data[i].a<<data[i].b;  
  33.     }  
  34.   
  35.     return 0;  
  36. }  
#include <iostream>

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

 【此题答案貌似应该是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

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 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!

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值