-
2023-11-28
-
2023-11-21
-
2023-04-13
更新时间:2023-11-21 来源:微软 点击:
2023-11-28
2023-11-21
2023-04-13
【www.scabjd.com--微软】
以下是小编收集整理的关于微软实习生笔试题【二篇】,仅供参考,希望能够帮助到大家。
1、数据库
基于某个条件选出一个订单列表,考的是最基本的数据库语言select * from * where *
2、不能用于进程间通信的是
A、Named event
B、Named pipe
C、Critical section
D、Shared memory
3、shallow copying (浅拷贝)的特征
英文太烂不知道shallow copying怎么翻译不敢选
4、Functional programming(函数式编程)的特点
完全不了解functional programing
考了”没有副作用”,“不修改状态”,“引用透明”引用透明的概念类似于可重入
5、以下算法用到贪婪算法的是
A、Dijkstra
B、Prim
C、Kruskal
D、Floyd- Warshall
E、KMP string match
6、1,2,3,…1000 一共出现了多少个0
A、189
B、191
C、193
D、195
算出来是192个可是没有这个答案估计题目出错了,
7、T(x)=1 (x
微软实习生笔试题
// test.cpp : 定义控制台应用程序的入口点,
//
#include “stdafx.h”
#define BUFMAX 100
//Find frequency of words of file-B.txt in file-A.txt
void Find (string &filenameA, string &filenameB)
{
string tempA, tempB;
char chA[BUFMAX], chB[BUFMAX];
int cnt = 0, match = 0;
if ( (filenameA.length==0) || (filenameB.length()==0) )
{
cout 1; so T(n) is O(nlgn)
E、None of above
9、Which of the following statements are true?
A、Insertion sort and bubble sort are not efficient for large data sets.
B、Qucik sort makes O(n^2) comparisons in the worst case.
C、There is an array :7,6,5,4,3,2,1. If using selection sort (ascending),the number of swap operations is 6
D、Heap sort uses two heap operations:insertion and root deletion (插入、堆调整)
E、None of above
10、Assume both x and y are integers,which one of the followings returns the minimum of the two integers?
A、y^((x^y) & -(x
B、y^(x^y)
C、x^(x^y)
D、(x^y)^(y^x)
E、None of above
x
11、The Orchid Pavilion(兰亭集序) is well known as the top of “行书”in history of Chinese literature. The most fascinating sentence is “Well I know it is a lie to say that life and death is the same thing, and that longevity and early death make no difference Alas!”(固知一死生为虚诞,齐彭殇为妄作).By counting the characters of the whole content (in Chinese version),the result should be 391(including punctuation). For these characters written to a text file,please select the possible file size without any data corrupt.
A、782 bytes in UTF-16 encoding
B、784 bytes in UTF-16 encoding
C、1173 bytes in UTF-8 encoding
D、1176 bytes in UTF-8 encoding
E、None of above
12、Fill the blanks inside class definition
[cpp] view plaincopyprint?class Test
{
public:
____ int a;
____ int b;
public:
Test::Test(int _a , int _b) : a( _a )
{
b = _b;
}
};
int Test::b;
int main(void)
{
Test t1(0 , 0) , t2(1 , 1);
t1.b = 10;
t2.b = 20;
printf(“%u %u %u %u”,t1.a , t1.b , t2.a , t2.b);
return 0;
}
class Test
{
public:
____ int a;
____ int b;
public:
Test::Test(int _a , int _b) : a( _a )
{
b = _b;
}
};
int Test::b;
int main(void)
{
Test t1(0 , 0) , t2(1 , 1);
t1.b = 10;
t2.b = 20;
printf(“%u %u %u %u”,t1.a , t1.b , t2.a , t2.b);
return 0;
} Running result : 0 20 1 20
A、static/const
B、const/static
C、--/static
D、conststatic/static
E、None of above
13、A 3-order B-tree has 2047 key words,what is the maximum height of the tree?
A、11 B、12 C、13 D、14
解析:m阶B-树的根节点至少有两棵子树,其他除根之外的所有非终端节点至少含有m/2(向上取整)棵子树,即至少含有m/2-1个关键字。根据题意,3阶的B-树若想要达到最大的高度,那么每个节点含有一个关键字,即每个节点含有2棵子树,也就是所谓的完全二叉树了,这样达到的高度是最大的。即含有2047个关键字的完全二叉树的高度是多少,这也是为什么这种题只出3阶的原因吧,就是为了转化成求完全二叉树的深度。很明显求得高度是11,但是由于B-树还有一层所谓的`叶子节点,可以看作是外部结点或查找失败的结点,实际上这些结点不存在的,指向这些结点的指针为空。所以不考虑叶子节点信息的时候,最大高度是11,考虑叶子节点信息的时候,最大高度就是12了。
14、In C++,which of the following keyword(s)can be used on both a variable and a function?
A、static B、virtual C、extern D、inline E、const
15、What is the result of the following program?
[cpp] view plaincopyprint?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(void)
{
char *a = new char[10];
strcpy(a , “abcdcccd”);
cout
next = prev;prev = curr;
curr = next;
}
return prev;
}
void Routine2(Item *x)
{
Item *curr = x;
while(curr)
{
cout
next;}
}
int main(void)
{
Item *x,
d = {"d" , NULL},
c = {"c" , &d},
b = {"b" , &c},
a = {"a" , &b};
x = Routine1( &a );
Routine2( x );
return 0;
}
#include
using namespace std;
struct Item
{
char c;
Item *next;
};
Item *Routine1(Item *x)
{
Item *prev = NULL,
*curr = x;
while(curr)
{
Item *next = curr->next;
curr->next = prev;
prev = curr;
curr = next;
}
return prev;
}
void Routine2(Item *x)
{
Item *curr = x;
while(curr)
{
cout
next;}
}
int main(void)
{
Item *x,
d = {"d" , NULL},
c = {"c" , &d},
b = {"b" , &c},
a = {"a" , &b};
x = Routine1( &a );
Routine2( x );
return 0;
}
A、c b a d
B、b a d c
C、d b c a
D、a b c d
E、d c b a