傻渡娘吧 关注:48贴子:3,303

微软、谷歌、百度等公司经典面试100题[第1-60题]

只看楼主收藏回复



1楼2011-11-29 22:00回复
    则依次打印出数字1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。
    分析:包括Autodesk、EMC在内的多家公司在面试或者笔试里采用过这道题。
    39、对称子字符串的最大长度
    题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。
    比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
    分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加
    强版。
    40、用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列,
    如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
    41、微软面试题
    一个有序数列,序列中的每一个值都能够被2或者3或者5所整除,1是这个序列的第一个元素。求第1500个值是多少?
    网易五道游戏笔试题
    42、两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。
    B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长
    43、Smith夫妇召开宴会,并邀请其他4对夫妇参加宴会。在宴会上,他们彼此握手,
    并且满足没有一个人同自己握手,没有两个人握手一次以上,并且夫妻之间不握手。
    然后Mr. Smith问其它客人握手的次数,每个人的答案是不一样的。
    求Mrs Smith握手的次数
    44、有6种不同颜色的球,分别记为1,2,3,4,5,6,每种球有无数个。现在取5个球,求在一下
    的条件下:
    1、5种不同颜色,
    2、4种不同颜色的球,
    3、3种不同颜色的球,
    4、2种不同颜色的球,
    它们的概率。
    45、有一次数学比赛,共有A,B和C三道题目。所有人都至少解答出一道题目,总共有25人。
    在没有答出A的人中,答出B的人数是答出C的人数的两倍;单单答出A的人,比其他答出A的人
    总数多1;在所有只有答出一道题目的人当中,答出B和C的人数刚好是一半。
    求只答出B的人数。
    46、从尾到头输出链表
    题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:
    struct ListNode
    {
    int m_nKey;
    ListNode* m_pNext;
    };
    分析:这是一道很有意思的面试题。该题以及它的变体经常出现在各大公司的面试、笔试题中。
    47、金币概率问题(威盛笔试题)
    题目:10个房间里放着随机数量的金币。每个房间只能进入一次,并只能在一个房间中拿金币。
    一个人采取如下策略:前四个房间只看不拿。随后的房间只要看到比前四个房间都多的金币数,
    就拿。否则就拿最后一个房间的金币。?
    编程计算这种策略拿到最多金币的概率。
    48、找出数组中唯一的重复元素
    1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.
    每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,
    能否设计一个算法实现?
    49、08百度校园招聘的一道笔试题
    题目大意如下:
    一排N(最大1M)个正整数+1递增,乱序排列,第一个不是最小的,把它换成-1,
    最小数为a且未知求第一个被-1替换掉的数原来的值,并分析算法复杂度。
    50、一道SPSS笔试题求解
    题目:输入四个点的坐标,求证四个点是不是一个矩形
    关键点:
    1.相邻两边斜率之积等于-1,
    2.矩形边与坐标系平行的情况下,斜率无穷大不能用积判断。
    3.输入四点可能不按顺序,需要对四点排序。
    51、矩阵式螺旋输出

    52、求两个或N个数的最大公约数和最小公倍数。
    53、最长递增子序列
    


    4楼2011-11-29 22:01
    回复

      微软十五道面试题
      1、有一个整数数组,请求出两两之差绝对值最小的值,
      记住,只要得出最小值即可,不需要求出是哪两个数。
      2、写一个函数,检查字符是否是整数,如果是,返回其整数值。
      (或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
      3、给出一个函数来输出一个字符串的所有排列。
      4、(a)请编写实现malloc()内存分配函数功能一样的代码。
      (b)给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
      5、怎样编写一个程序,把一个有序整数数组放到二叉树中?
      6、怎样从顶部开始逐层打印二叉树结点数据?请编程。
      7、怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
      8、请编写能直接实现int atoi(const char * pstr)函数功能的代码。
      9、编程实现两个正整数的除法
      编程实现两个正整数的除法,当然不能用除法操作符。
      // return x/y.
      int div(const int x, const int y)
      {
      ....
      }
      10、在排序数组中,找出给定数字的出现次数
      比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
      11、平面上N个点,每两个点都确定一条直线,
      求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好。
      12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。
      请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
      注意:
      - 5个数值允许是乱序的。比如: 8 7 5 0 6
      - 0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4
      - 0可以多次出现。
      - 复杂度如果是O(n2)则不得分。
      13、设计一个算法,找出二叉树上任意两个结点的最近共同父结点。
      复杂度如果是O(n2)则不得分。
      14、一棵排序二叉树,令 f=(最大值+最小值)/2,
      设计一个算法,找出距离f值最近、大于f值的结点。
      复杂度如果是O(n2)则不得分。
      15、一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。
      设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
      复杂度最好是O(n),如果是O(n2)则不得分。
      谷歌八道面试题
      16、正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12
      (1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项
      (2)、设计测试数据来验证函数程序在各种输入下的正确性。
      17、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法 c语言函数原型void proc(char *str) 也可以采用你自己熟悉的语言
      18、如何随机选取1000个关键字
      给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?
      19、判断一个自然数是否是某个数的平方
      说明:当然不能使用开方运算。


      6楼2011-11-29 22:02
      回复
        好难有答案吗


        IP属地:四川8楼2011-11-30 23:27
        回复
          木有 自己goooooogle吧 我找到的话就贴上来 同时 我也不介意你往这贴的 


          9楼2011-11-30 23:34
          回复
            以下开始搜集答案咯


            10楼2011-11-30 23:39
            回复
              26、最小时间是11秒,每只蚂蚁都向较近的端点直接走,最多的蚂蚁用11秒就下去了。
              最大时间不是无限,因为最边上的蚂蚁始终要下去的,接下来第二只也会下去的,……,所有的蚂蚁都会下去的。
              最大的是24秒。
              因为当两只蚂蚁相遇时,可以认为实际上都是直接通过,只是互相换了一下衣服。这样的观点下,蚂蚁的“整体队形”和原来是一样的。并且每只蚂蚁都是直线往前走,不掉头。假设每只蚂蚁都朝离得较远的端点运动,最多的蚂蚁用了24秒。


              11楼2011-11-30 23:39
              回复
                32、位图法


                15楼2011-12-01 23:16
                回复
                  好久没写过程序 没看过书了 鸭梨甚大


                  18楼2011-12-02 15:18
                  回复
                    2L悲剧


                    20楼2012-01-10 10:17
                    回复
                      咱发现基本不会


                      21楼2012-02-19 10:50
                      回复
                        努力吧少年


                        22楼2012-02-19 20:37
                        回复