【面试】2019微软SDE3轮电面

美国时间晚上6:30开始

一面:

  • 自我介绍
  • 介绍一个项目,说一下解决了哪些问题
  • Coding:
    1. 找二分搜索树中第k小的点
      递归与非递归都要求写
    2. 在数组中找最大的k个数
      说思路(因为没时间写代码了)
      说一下时间复杂度,并且说出计算过程

二面:

直接Coding

  1. 顺序链接二叉树中的每一层的节点
    LeetCode原题
  2. 一个矩阵,存在的递减路径中,差值最大的
    说思路,写伪代码

三面:

二面结束 hr小姐姐说三面的面试官要美国时间12:30才能伤上线,让我等。
是个英国人,英国口音刚开始听起来有点二难懂,不过还好。

  • 自我介绍
  • Stack,linkedList与Hash的区别。
    我用英语解释的,感觉有点儿乱。。。
  • 说一些Hash原理
  • Coding:
    类似于合法括号的题
    f() -->1
    f(g())-->2
    f(g()h()) -->2
    f(g(h(i())k())) --> 4
    函数执行,栈的最大深度

总结:

注重算法与数据结构,出的题都是LeetCode原题或者是变形,所以,
!!!刷题真的很重要!!!
!!!刷题真的很重要!!!
!!!刷题真的很重要!!!

  • 经验教训:
  1. 刷题要保证质量,每次做题,要知道为什么这么做,而不是这个题该怎么做。
  2. 每写一个算法,代码。要学习计算复杂度的过程,不能只知道结果。
  3. 数据结构的一些基础知识要扎实,并且要知道怎么用英语解释
  4. 练习写代码--> bug free!

你可能感兴趣的:(【面试】2019微软SDE3轮电面)