📜  微软面试经历 |设置 106

📅  最后修改于: 2022-05-13 01:58:29.818000             🧑  作者: Mango

微软面试经历 |设置 106

1. 电话面试

  • 说说你自己
  • 内核相关问题(linux OS/kernel和windows OS/kernel的区别)
  • 进程和线程的区别
// 32 bit architecture
bool isPowerOftwo(int no)
{
    int i = 1;
    int state = 0;
    int k = 0;

    for (int j = 0; j<32; j++)
    {
        if (state == 0)
        {
            k = no & i;
            if (k != 0)
                state = 1;
        }
        else
        {
            k = no & i;
            if (k != 0)
                return false;
        }

        i = i << 1;
    }

    return true;

}

bool isPowerOfTwo(int no)
{

    if (no == 0)
        return true; //this is wrong. it should be false

    if (no < 0)
        return false; // not supported

    if (no & (no-1) == 0)
        return true;

    return false;
}

2. F2F

  • C中有多少种存储类型。
  • C中有多少种数据类型。
  • 给定一个包含许多字符串的文件。找出存在多少个独特的字谜。 (哈希表、BST 和最后的 TRIE 方法)。
  • 对于上述问题,您将如何以分布式方式处理大数据。
  • 您将如何在一个 reducer 中处理大数据。
  • 分布式系统有什么特点。

3. F2F

  • 实现与字数统计非常相似的 map reduce 程序。
  • 您将如何在一个 reducer 中处理大数据。
  • 您将如何跨集群和数据中心分布数据。
  • hadoop 的内部结构。(在映射阶段后保存中间文件)

4. F2F

    • 将字符串“aaabbcdddd”压缩为“a3b2c1d4”
    • 这个程序实际上在内部做什么
      void fun() {
      
      int a = 5;
      int * b = new int(10);
      
      }
  • 这个程序对多线程有什么影响。
  • 设计分布式文件系统。

5. 领导轮

  • 你为什么要改变?
  • 围绕天蓝色的商业模式、收入模式、工作简介等进行讨论。
  • 给定二叉树的根和一个节点,找到该节点的所有祖先。

微软的所有练习题!