有趣的微软笔试题目(精选12篇)

有趣的微软笔试题目

       有趣的微软笔试题目

       1. 你让工人为你工作7天,回报是一根金条,这个金条平分成相连的7段,你必须在每天结束的时候给他们一段金条,如果只允许你两次把金条弄断,你如何给你的工人付费?

       2. 有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京。如果有一只鸟,以30公里每小时的速度和两辆火车同时启动,从北京出发,碰到另一辆车后就向相反的方向返回去飞,就这样依次在两辆火车之间来回地飞,直到两辆火车相遇。请问,这只鸟共飞行了多长的距离?

       3. 你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的药丸的'重量 1。只称量一次,如何判断哪个罐子的药被污染了?

       4. 门外三个开关分别对应室内三盏灯,线路良好,在门外控制开关时候不能看到室内灯的情况,现在只允许进门一次,确定开关和灯的对应关系?

       5. 人民币为什么只有1、2、5、10的面值?

       6. 你有两个罐子以及50个红色弹球和50个蓝色弹球,随机选出一个罐子, 随机选出一个弹球放入罐子,怎么给出红色弹球最大的选中机会?在你的计划里,得到红球的几率是多少? 四.超难题(说明:如果你是2:微软笔试题目

       微软笔试题目

       微软笔试题:写程序找出二叉树的深度

       一个树的深度等于max(左子树深度,右子树深度) 1。可以使用递归实现。

       假设节点为定义为

       struct Node {

       Node* left; Node* right;

       };

       int GetDepth(Node* root) {

       if (NULL == root) {

       return 0;

       }

       int left_depth = GetDepth(root->left);

       int right_depth = GetDepth(root->right);

       return left_depth > right_depth ? left_depth 1 :right_depth 1;

       }

       微软笔试题:利用天平砝码,三次将140克的盐 分成50、90克两份?

       有一个天平,2克和7克砝码各一个。如何利用天平砝码在三次内将140克盐分成50,90克两份。

       3:微软笔试题目一

       基本题型:

       1.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个,抓取多少个就可以确定你肯定有两个同一颜色的果冻?(5秒-1分钟)

       2.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?(最短时间)

       3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟)

       4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟)

       5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)

       6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)

       7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?(5分钟-15分钟)

       一、智力测试:

       1.为什么下水道的盖子是圆的?( 因为口是圆的)

       2.美国有多少辆汽车?

       3.你让工人为你工作七天,回报是一根金条,

       这个金一平分成相连的7段,你必须在每天结束的时候给他们一段金条如果只许你两次把金条弄断,你如何给你的 工人付费?( 1,2,4)

       4.有一辆火车以每小时15公里的速度离开洛杉矶直奔纽约,另一辆火车以4:微软技术基础笔试题目

       题目: 算法,C/C

       一个树的深度等于max(左子树深度,右子树深度) 1。可以使用递归实现。

       问答

       题目: 算术

       有一个天平,2克和7克砝码各一个。如何利用天平砝码在三次内将140克盐分成50,90克两份。

       问答

       题目: 逻辑推理

       站在地球上的某一点,向南走一公里,然后向东走一公里,最后向北走一公里,回到了原点。地球上有多少个满足这样条件的点?

       问答

       题目: 逻辑推理

       有三个水果篮。其中一个里面只有苹果,一个里面只有橘子,另外一个既有苹果又有橘子。每个水果篮上都有题目,但题目都是错的。如何检查某个水果篮中的一个水果,然后正确标注每个水果篮?

       问答

       题目: 算术

       不利用浮点运算,在屏幕上画一个圆 (x**2 y**2 = r**2,其中 r 为正整数)。

       问答

       题目: 算法

       将一个句子按单词反序。比如 “hi baidu com mianshiti”,反序后变为 “mianshiti com baidu hi”。

       问答

       题目: 算法

       计算n bit的整数中有多少bit 为

       问答

       题目: 算法

       :快速求取一个整数的7倍

       问答

       题目: 算法,算术

       判断一个数是不是2的n次幂

       问答

       题目: 逻辑推理,概率

       在三角形的三个顶点上各有一只蚂蚁,它们向另一个顶点运动,目标随机(可能为另外两个顶点的任意一个)。问三只蚂蚁不相撞的概率是多少?

       问答

       题目: 算法,C/C ,Java,PHP,Android,IOS

       给定一个长度为N的数组,其中每个元素的取值范围都是1到N。判断数组中是否有重复的数字。(原数组不必保留)

       问答

       题目: 逻辑推理,智力题

       一块长方形的蛋糕,其中有一个小长方形的空洞(角度任意)。使用一把直刀,如何一刀将蛋糕切成相等的两份?

       问答

       题目: 算法

       一个没有排序的链表,比如list={a,l,x,b,e,f,f,e,a,g,h,b,m},请去掉重复项,并保留原顺序,以上链表去掉重复项后为newlist={a,l,x,b,e,f,g,h,m},请写出一个高效算法(时间比空间更重要)。

       问答

       题目: 智力题

       小明一家过一座桥,过桥时是黑夜,所以必须有灯。现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒。每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而且灯在点燃后30秒就会熄灭。问:小明一家如何过桥?

       问答

       题目: 算法

       编一个程序求质数的和,例如F(7) = 2 3 5 7 11 13 17=58。

篇5:微软暑期实习招聘笔试题目

       微软暑期实习招聘笔试题目

       总共20道选择题,全部不定项,总分100分,时间75分钟。去年时间是90分钟的。。。。

       1~8,做对3分,半对2分,错误-2分,不做0分

       9~18,做对5分,半对3分,错误-3分,不做0分

       19~20,做对13分,半对7分,错误-7分,不做0分

       1、关于支持不定数量参数的方法(supportvariable parameters)有哪些?

       (cdecl,stdcall,pascal,fastcall)

       cdecl只有这一个。

       2、以下代码输出的结果是:

       [cpp] view plaincopyprint?

       1. class A

       2. {

       3. public:

       4. virtual void f

       5. {

       6. cout<<“A::f”<

       7. }

       8. void f() const

       9. {

       10. cout<<“A::f const”<

       11. }

       12. };

       13.

       14. class B:public A

       15. {

       16. public:

       17. virtual void f()

       18. {

       19. cout<<“B::f”<

       20. }

       21. void f() const

       22. {

       23. cout<<“B::f const”<

       24. }

       25. };

       26.

       27. void g(const A* a)

       28. {

       29. a->f();

       30. }

       31.

       32. int main()

       33. {

       34. A *b = new B();

       35. b->f();

       36. g(b);

       37. return 0;

       38. }

       答案为:

       [cpp] view plaincopyprint?

       1. B::f A::f const

       6:微软招聘面试笔试题目及答案

       目录

       微软招聘测试题

       微软公司招聘笔试题目及答案

       微软亚洲技术支持中心面试题目

微软招聘测试题

       只有5分钟,超过5分钟就放弃,因为你绝对不会被微软录用.

       test

       烧一根不均匀的绳需用一个小时,如何用它来判断半个小时?

       test 2

       。。。

       。。。

       。。。

       请仅用一笔画四根直线,将上图9各点全部连接。

       test 3

       对一批编号为1~100全部开关朝上(开)的灯进行以下操作:

       凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关。

       问:最后为关熄状态的灯的编号。

       

微软公司招聘笔试题目及答案

       智力题

       1.烧一根不均匀的绳子,从头烧到尾总共需要1个小时,问如何用烧绳子的方法来确定半小时的时间呢?

       2.10个海盗抢到了100颗宝石,每一颗都一样大小且价值连城。他们决定这么分:

       (1)抽签决定自己的号码(1~10);

       (2)首先,由1号提出分配方案,然后大家表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔进大海喂鲨鱼;

       (3)如果1号死后,再由2号提出分配方案,然后剩下的4个人进行表决,当且仅当超过半数的人同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼;

       (4)依此类推……

       条件:每个海盗都是很聪明的人,都能很理智地做出判断,从而做出选择。

       问题:

       1.1000!有几位数,为什么?

       2.F(n) 1 n>8 n<12

       F(n) 2 n<2

       F(n) 3 n 6

       F(n)4 n other

       使用 _ /和sign(n)函数组合出F(n)函数

       sign(n) 0 n 0

       sign(n)1 n<0

       sign(n) 1 n>0

       3.编一个程序求质数的和,例如F(7) 1 3 5 7 11 13 17 57。

       逻辑推理题

       1.此题源于1981年柏林的德国逻辑思考学院,98%的测验者无法解答此题。

       有五间房屋排成一列;所有房屋的外表颜色都不一样;所有的屋主来自不同的国家;所有的屋主都养不同的宠物;喝不同的饮料;抽不同的香烟。

       (1)英国人住在红色房屋里;(2)瑞典人养了一只狗;(3)丹麦人喝茶;(4)绿色的房子在白色的房子的左边;(5)绿色房屋的屋主喝咖啡;(6)吸Pall Mall香烟的屋主养鸟;(7)黄色屋主吸Dunhill香烟;(8)位于最中间的屋主喝牛奶;(9)挪威人住在7:微软实习生笔试题目最后一题

       微软实习生笔试题目最后一题

       虽然咱被微软给鄙视了,但是回来还是写了写最后一题的程序,当时只有半个小时,可我回来晃晃悠悠地写也写了起码多于1个小时……看来咱跟微软的'要求差距还是蛮大的啊……哎……怨念……

       

       // 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 << “Invalid input filename!” << endl;

        return ;

       }

       

       ifstream infileA ( filenameA.c_str() );

       ifstream infileB ( filenameB.c_str() );

       if ( infileA.fail() || infileB.fail() )

       {

        cout << “Cannot open input files!” << endl;

        return ;

       }

       while ( getline(infileB, tempB) )

       {

        memcpy ( chB, tempB.c_str(), tempB.length() 1 );

        cnt = 0;

        infileA.seekg (0, ios::beg);

        while ( !infileA.eof() )

        {

         infileA >> tempA;

         

         if (tempA == tempB)

          cnt ;

         else

         {

          memcpy (chA, tempA.c_str(), tempA.length() 1);

          match = 1;

          

          for (int i=0, j=0; ; i , j )

          {

           if (!chB[i] && !chA[j])

            break;

           else if ( !( chB[i] && chA[j] ))

           {

            match = 0;

            break;

           }

       

           if (chB[i] == '?')

            continue;

           else if (chB[i] == '*')

            for (;chA[j 1]!=chB[i 1];j )

            {

             if (chA[j 1] == '')

              break;

            }

           else if (chA[j] != chB[i])

           {

            match = 0;

            break;

           }

       

          }

          if (match)

           cnt ;

         }

        }

        cout << tempB << ' ' << cnt << endl;

       }

       infileA.close();

       infileB.close();

       }

       int _tmain(int argc, _TCHAR* argv[])

       {

       string filenameA, filenameB;

       

       cout << “Please input two files' name:” << endl;

       cin >> filenameA >> filenameB;

       Find (filenameA, filenameB);

       

       return 0;

篇8:microsoft intern微软实习生笔试题目

       选择题 10题 答对一题4分 没答0分 打错扣1分

       1. 求有权树任两节点间最长路径的时间复杂度(编程之美3.8,但是树的边是有权的)

       2. 选一组度符合无向、连通、有环的点集(图论)

       A.{1,1,1,1,1,1} B.{1,2,2,2,1,2} C.{1,2,3,3,1,4} D.{1,1,1,1,1,6}

       3. 斐波那契数列模5的规律

       F(0)=0 F(1)=1 F(n)=(F(n-1) F(n-2))mod5 求F()

       4. 快速排序最好的时间复杂度 最坏情况的时间复杂度平均时间复杂度

       5. 求数组最大子数组和的时间复杂度(编程之美2.14)

       6. sizeof

       1.        struct A

       2.        {

       3.        A();

       4.        ~A();

       5.

       int m1;

       6.

       int m2;

       7.        }a;

       8.

       struct B

       9.        {

       10.        B();

       11.        ~B();

       12.

       int m

       13.

       char m2;

       14.

       static

       char m3;

       15.        }b;

       16.

       struct C

       17.        {

       18.        C();

       19.

       virtual ~C();

       20.

       int m1;

       21.

       int m2;

       22.        }c;

       struct A{ A(); ~A(); int m1; int m2;}a;struct B{ B(); ~B(); int m1 char m2; static char m3;}b;struct C{ C(); virtual ~C(); int m1; int m2;}c;

       求sizeof(a) sizeof(b) sizeof(c)

       7. 二分查找使用什么数据结构

       A.栈 B.队列 C.二叉树 D.链表 E.哈希表

       8. 读程序求结果

       9. 求两个20x20的方阵放在100x100方阵中重合的概率

       10. 给出后序遍历 求可能的先序遍历

       编程题 1题 两个问

       给出一个一维的点集,求能够包含[n/2]个点的9:微软笔试智力题

       ,

       不过,我记得李开复在央视的节目里说过,他们的考察内容是应聘者的可塑性。

       石先生(某大型国企职工):我认为这一部分的问题有很大的随意性,主要是考察应聘者的智商,但是因为问题的不同又有不同的考察方向,比如公认一个最简单的题目是那个阅读理解,6辆不同款的车,排车位。条件是:(6个车就简写为ABCDEF,车位1~6) Either A not or B is in slot 1. Either B not or C is in slot 6. D, E 不分次序挨着 F, B 不分次序挨着

       具体每个问题给个条件,排序,不难。就是不知道偶理解那个Either not or是不是“不是……就是……”的意思。

       2。给一个“MS Office Outlook 2023”的图,让写一个你想要有哪些feature to improve or add. 给你3月时间搞定这个你要如何做。

       3。写代码。把一个单链表,按照指定位置逆序。并在code中体现基本错误异常处理之类。

       不能再多malloc内存了,可以用temp pointers。还有一个不允许的什么条件没看懂,无碍大雅吧。

       eg,

       N1->N2->N3->N4->N5->NULL pHEAD = N1;pSTART = N3;返回这个N3->N2->N1->N5-> N4->NULL

       eg。N1->N2->N3->N4->N5->NULL pHEAD = N1;pSTART = N5;返回这个N5->N4->N3->N2-> N1->NULL

       eg。N1->N2->N3->N4->N5->NULL pHEAD = N1;pSTART = N1;返回这个N1->N5->N4->N3-> N2->NULL

       void Wasp(//可以自己加声明变量和局部变量

       4。一个矩形函数及其应用的找bug和写Test cases

       5。char * strcpy(char* str1, char* str2)//string copy

       写Test cases

       又饿又累,不记得太多了,其他都太模糊了,等偶想起来再写出来。哪位仁兄记住的更多,欢迎补充2023年9月2日 (日) 10:49 (CST)2023年9月2日 (日) 10:49 (CST)2023年9月2日 (日) 10:49 (CST)~ 希望更多同学去体验一把MS笔试,题目挺爽。