zoukankan      html  css  js  c++  java
  • 微软亚洲技术中心面试题

    微软亚洲技术中心面试题
    1.进程和线程的差别。

    线程是指进程内的一个执行单元,也是进程内的可调度实体.

    与进程的区别:

    (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

    (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

    (3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

    (4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

    2.测试方法

    人工测试:个人复查、抽查和会审

    机器测试:黑盒测试和白盒测试

    2.Heap与stack的差别。

    Heap是堆,stack是栈。

    Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。

    Stack空间有限,Heap是很大的自由存储区

    C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。

    程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行

    3.Windows下的内存是如何管理的?

    4.介绍.Net和.Net的安全性。

    5.客户端如何访问.Net组件实现Web Service?

    6.C/C++编译器中虚表是如何完成的?

    7.谈谈COM的线程模型。然后讨论进程内/外组件的差别。

    8.谈谈IA32下的分页机制

    小页(4K)两级分页模式,大页(4M)一级

    9.给两个变量,如何找出一个带环单链表中是什么地方出现环的?

    一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方

    10.在IA32中一共有多少种办法从用户态跳到内核态?

    通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等

    11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?

    用内存映射或全局原子(互斥变量)、查找窗口句柄..

    FindWindow,互斥,写标志到文件或注册表,共享内存。.

    12.如何截取键盘的响应,让所有的‘a’变成‘b’?

    键盘钩子SetWindowsHookEx

    13.Apartment在COM中有什么用?为什么要引入?

    14.存储过程是什么?有什么用?有什么优点?

    我的理解就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,以后再运行速度比单独执行SQL快很多

    15.Template有什么特点?什么时候用?

    16.谈谈Windows DNA结构的特点和优点。

    面试题下载

  • 相关阅读:
    es6 扩展运算符 ...
    回顾2018,展望2019
    vue 兼容IE报错解决方案
    错误的理解引起的bug async await 执行顺序
    js async await 终极异步解决方案
    javascript 之继承-15
    javascript 之原型、原型链-14
    vue入门学习篇——初识vue
    模拟实现select组件功能
    ie8绝对定位存在的坑
  • 原文地址:https://www.cnblogs.com/furenjun/p/1125679.html
Copyright © 2011-2022 走看看