# 微软 2021 暑期实习面试题

## 小编:管理员1436阅读2021.10.11

Selection sort 80 items, after 32 iterations, how many positions of items are determined?

Which is used in sync process//thread in operation system?
A. Mutex             B.mailbox        C.Semaphore        D.local procedure call

Size of a stack is 5, input is a sequence 1, 2, …, 7, which is possible output?
A. 1234567       B. 7654321       C.5643721       D. 1765432       E. 3217564

010111001 * 011001 + 1101110 = ?
A. 0001010000111111       B. 0101011101110011       C. 0011010000110101

What is the output of the follow code?
void main(int argc, char* argv[]) {
int i = 11;
int const *p = &i;
p++;
cout<<*p<<endl;}
A. 11        B. 12        C. Garbage value        D. Comipler error        E. None of above

Which number has difference 78633 after 180-degree rotation?
A. 60918                B.91086                C. 18609                D. 10968                E.86901

Which statement is true?
A. Inorder and preorder can determine a Binary tree
B. Postorder and preorder can determine a Binary tree
C. For almost sorted array, Insertion sort is more efficient than Quicksort
D. If T(n)=2T(n/2)+?(n), Then T(n)=?(nLogn)
E. none of above

Which statement is true?
A. Insertion and buble sort are not effient for large data sets
B. The complexity of Quick Sort is O(n2) in worst case
C. It is needed 6 swap operations to sort sequence 7,6,5,4,3,2,1(ascending) by Selection sort
D. Heap sort has two operations: Insertion and root deletion
E. None of above

The output of the following code is 0 20 1 20, what are the type of a and b?
class Test{
____ int a;
____ int b;
Test(int _a, int _b) {a = _a; b=_b;}
}
void main() {
Test t1(0, 0), t2(1,1);
t1.b = 10;
t2.b = 20;
cout<<t1.a<<” ” <<t1.b<<” ” <<t2.a<<” ” <<t2.B<<” ”<<endl;
}
A. static/const        B. const/static        C. __/static        D. const static/static        E. None of
above

A 3-order B-tree has 2047 key words, what is the maximum height?
A. 11          B. 12          C. 13          D. 14

Which can be used both to variable and function?
A. static        B. virtual                C. extern        D. inline        E. const

What is the output of the follow code?
char * f(char *str, char ch) {
char *it1 = str;
char *it2 = str;
while(*it2 != '\0') {
while(*it2 == ch)
{
it2++;
}
*it1++ = *it2++;
}
return str;
}
int main(int argc, char* argv[]) {
char *a = new char;
strcpy(a, "abcdcccd");
cout<<f(a, 'c');
return 0;
}

A. abdcccd        B. abdd        C. abcc        D. abddcccd        E. Access violation

What is the complexity of the result call of power(b, e) in the follow code?
int power(int b, int e) {
if(e==0) return 1;
if(e%2 == 0) return power(b*b, e/2);
return b*power(b*b,e/2);
}
A. logarithmic                B. linear        C. quadratic        D. exponentical

Take 2 cards from one full poker(52 cards, 26 red and 26 black) and half poker each, what is the probability of the event that two cards are both red?
A. 1/2,1/2        B. 25/102,12/50        C. 50/51, 24/25        D. 25/51,12/25        E. 25/51,1/2

How many kinds of output of stack with the input 1,2,…,n?
B. C_2n^n-C_2n^(n+1)                C. ((2n)!)/(n+1)n!n!        D. n!        E. none

What is the minimum time and space complexity to compute the Largest Increased Subsequence(LIS) of array?
A. N^2,N^2          B. N^2,N                  C. NlogN,N            D. N, N        E. N,C

What is the output of the follow code?
struct Item{
char c;
Item *next;
};
Item* f1(Item* x){
Item *prev = NULL;
Item *curr = x;
while(curr) {                Item *next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
return prev;
}
void f2(Item *x){
while(x){
cout<<x->c;
x = x->next;
}
}
int main(int argc, char* argv[]){
Item *x, d = {'d', NULL}, c = {'c', &d}, b = {'b', &c}, a = {'a', &b};
x = f1(&a);
f2(x);
return 0;
}

• 大家关注
• 热门知识