你也能拿高薪-第2部分
按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
* Implement strstr() (or some other string library function)。
* Reverse a string。 Optimize for speed。 Optimize for space。
* Count the number of set bits in a number。 Now optimize for speed。 Now optimize for size。
* How would you find a cycle in a linked list?
* Give me an algorithm to shuffle a deck of cards; given that the cards are stored in an array of ints。
* Write a function that takes in a string parameter and checks to see whether or not it is an integer; and if it is then return the integer value。
* Write a function to print all of the permutations of a string。
* Implement malloc。
* Write a function to print the Fibonacci numbers。
* Write a function to copy two strings; A and B。 The last few bytes of string A overlap the first few bytes of string B。
* How would you print out the data in a binary tree; level by level; starting at the top?
2。 Applications
* How can puter technology be integrated in an elevator system for a hundred story office building? How do you optimize for availability? How would variation of traffic over a typical work week or floor or time of day affect this?
* How would you redesign an ATM?
* Suppose we wanted to run a microwave oven from the puter。 What kind of software would you write to do this?
* How would you design a coffee…machine for an automobile。
3。 Thinkers
* How are M&Ms made?
* If you had to learn a new puter language; how would you go about doing it?
* If MS told you we were willing to invest 5 million in a start up of your choice; what business would you start? Why?
* If you could gather all of the puter manufacturers in the world together into one room and then tell them one thing that they would be pelled to do;what would it be?
* Explain a scenario for testing a salt shaker。
* If you are going to receive an award in 5 years; what is it for and who is the audience?
* How would you explain how to use Microsoft Excel to your grandma?
* Why is it that when you turn on the hot water in any hotel; for example; the hot water es pouring out almost instantaneously?
微软亚洲技术支持中心面试题目
1.进程和线程的差别。
2.Heap与stack的差别。
3.Windows下的内存是如何管理的?
4.介绍和的安全性。
5.客户端如何访问组件实现Web Service?
6.C/C++编译器中虚表是如何完成的?
7.谈谈的线程模型。然后讨论进程内/外组件的差别。
8.谈谈IA32下的分页机制。
9.给两个变量,如何找出一个带环单链表中是什么地方出现环的?
10.在IA32中一共有多少种办法从用户态跳到内核态?
11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?
12.如何截取键盘的响应,让所有的‘a’变成‘b’?
13.Apartment在中有什么用?为什么要引入?
14.存储过程是什么?有什么用?有什么优点?
15.Template有什么特点?什么时候用?
16.谈谈Windows DNA结构的特点和优点。
微创笔试题目
1.上海的苏州河由于遭受多年的工业污染,一直是条臭水沟。上海市政府下了很大决心清理苏州河,你觉得需要几年能让河水变清?你的依据是什么?
2.找出字符串A中包含的字符可以进行的所有不同组合。例如:abccd中,ab,ac,bc,cc,abd等都是可能的组合。(请用C/C++编程,不允许上机操作)
3.请估算月球的体积。
4.经常去的技术网站,请举例。
5.对软件开发过程的理解。
6.上海有多少外籍和港澳台人士?你的依据是什么?(不得引用政府和调研机构数据)
7.字符串A是由n个小写英文字母(a ~ z)构成的,定义为char A'n'。你能用更少的空间表示这个字符串吗?请写出从char A'n'到你的新的储存格式的转换函数。(请用C/C++编程,不允许上机操作)
8.哈希表和数组的定义,区别,优缺点。
9.用递归实现菲波列数列。
10.用dhtml写页面。
第1章 名企笔试真题精选3。软件业巨无霸(4)
微软研究院笔试题目
1.#include
#include
class CBuffer
{
char * m_pBuffer;
int m_size;
publc:
CBuffer()
{
m_pBuffer=NULL;
}
~CBuffer()
{
Free();
}
void Allocte(int size)
{
m_size=size;
m_pBuffer= new char'size';
}
private:
void Free()
{
if(m_pBuffer!=NULL)
{
delete m_pBuffer;
m_pBuffer=NULL;
}
}
public:
void SaveString(const char* pText) const
{
strcpy(m_pBuffer; pText);
char* GetBuffer() const
{
return m_pBuffer;
}
};
void main (int argc; char* argv'')
{
cBuffer buffer1;
buffer1。SaveString(“Microsoft”);
printf(buffer1。GetBuffer());
}
}
找出Allocate; SaveString; main的错误。
第1章 名企笔试真题精选3。软件业巨无霸(5)
2.打印“Wele MSR Asia”
#include
#include
char * GetName (void)
{
//To return “MSR Asia” String
char name''=“MSR Asia”;
return name;
}
void main(int argc; char* argv'')
{
char name'32';
//Fill in zeros into name
for(int i=0;i {
name'1'='0';
}
//copy “Wele” to name
name=“Wele”;
//Append a blank char
name'8'=”;
//Append string to name
strcat(name;GetName());
//print out
printf(name);
}
找出程序中的错误。
3.#include
class A
{
public:
void FuncA()
{
printf(“FuncA calledn”);
}
virtual void FuncB()
{
printf(“FuncB calledn”);
}
};
class B: public A
{
public:
void FuncA()
{
A::FuncA();
printf(“FuncAB calledn”);
}
virtual void FuncB()
{
printf(“FuncBB calledn”);
}
};
void main(void)
{
B b;
A *pa;
pa=&b;
A *pa2=new A;
b。FuncA();
b。FuncB();
pa…》FuncA();
pa…》FuncB();
pa2…》FuncA();
pa2…》FuncB();
delete pa2;
}
What is the output of the above program?
第1章 名企笔试真题精选3。软件业巨无霸(6)
4.#include
#include
int FindSubString(char* pch)
{
int count=0;
char* p1=pch;
while(*p1!=‘0’)
{
if(*p1p1'1'…1)
{
p1++;