Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1140430
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类:

2009-12-19 09:40:55

微软亚洲技术支持中心

1.进程(Process)和线程(Thread)的差别
2
.堆(Heap)与栈(stack)的差别
3
Windows是如何管理内存的
4
.介绍.Net.Net的安全性
5
.客户端如何访问.Net组件实现Web Service
6
C/C++编译器中虚表是如何完成的
7
.谈谈COM的线程模型然后讨论进程内/外组件的差别
8
.谈谈IA32下的分页机制
9
.给两个变量,如何找出一个带环单链表中是什么地方出现环的
10
.在IA32中一共有多少种办法从用户态跳到内核态
11
.如果只想让程序有一个实例运行,不能运行两个,winamp一样,只能开一个窗口,怎样实现 
12
.如何截取键盘的响应,让所有的‘a’变成‘b’
13
ApartmentCOM中有什么用  , 为什么要引入
14
.存储过程是什么,有什么用,有什么优点
15
Template有什么特点,什么时候用
16
.谈谈Windows DNA结构的特点和优点

微软亚洲工程院

基础题

1. regular expression不能描述的是?
a)
两个连续偶数
b)
两个连续奇数
...

2.
程序分析

int s(int v) 
{         
       int count=0;   
       int x=v;    
       while (x)   
       {      
              count++;        
              x=x&(x-1)   
       }    
       return count;
}


s(9999)=?

3,
关于堆排序的东西,插入新的元素以后的结果
4,
关于C语言中,.h文件和.c文件之间的关系
5,
如果数据扩大两倍,是向左,还是向右移动几位的问题
6,
对二叉排序数,以什么输出(前序,中序,还是后续)输出,是排列
7,
一个顺序为 123456 的栈,依次进入一个队列,然后再进栈, 顺序是什么?
8
关于数组指针的的题目
9 regular language
context language之间的关系是什么.
a)regular language more powerful than context free language
(
后面两个个选项记不清楚了,反正大意就是比较两个谁好.最后一个选项是两者不能进行这样的比较)

10
在编写代码是查找错误好还是用testing找好?
11
好像是说编译器可以修改type error的好处或不好。

逻辑推理部分


一个线性车库,55辆车,一车最多坐两人.
6
个人.Tom,Jack, Gawen, Laurie, Mark, Paul.

.Mark
独享车且紧跟空车后
.Tom
不跟GawenPaul坐一辆车.
.Laurie
跟别人共享车.
.Gawen
在第三排或第四排.

一共5道题目,显然通过4个条件不能确定车序.有的题目是问存在的可能,有的题目是附加条件后问车序.

程序设计部分.


1 Translate MIPS assembly code into a function in C/C++
* your code should be concise
* no any GOTOs/pointers

MIPS code:


func:
li v0,0
li t0,0
l1:
add t1,a0,a0
l
b t2,0(t1)
beq t2,zero,l3
bne t2,a1,l2
add v0,v0,1
l2:
add t0,t0,1
j l1
l3:
jr ra


(caller register: t0~t9,a0~a3,v0~v1; callee s0~s7,ra)
然后列出了指令表,li是赋值,lb是将字段后第一个寄存器内容个字节的内容复制到第二个寄存器,beq是等值转移ben是不等值转移,j是无条件转移,jr转移至寄存器标示的内容.

实现数组的插入,查找,删除操作.

arr
为指向数组的指针
len
为数组长度.
count
表示数组元素数目.
出错返回-1

int insert(int* arr,
size_t len,
size_t count,
int val)
返回插入的数组索引.
插入后要求对数组排序.
出错处理

int search(int* arr,
size_t len,
size_t count,
int val)
要求返回所找到的元素
出错处理

int remove(int* arr,
size_t len,
size_t count,
int val)
要求返回删除的元素值
出错处理

测试部分.

1.你被分配到Internet Explorer研发部,(从核心到界面什么都可以).你如何设计,开发和测试它?
2.
给你个DVD,你应当如何测试它,如果你的时间极其有限,你会测试什么?为什么?
3.
给你一个字符比较函数strCmp(const char* string1, const char* string2)管理员在2009年8月13日编辑了该文章文章。

-->
阅读(493) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~