Interview 2019 年 5 月 29 日

Microsoft, Amazon, Google, EMC面试小记

过去的一个月面了 Microsoft, Amazon, Golang, EMC 几家公司,简单的记录了一下.

Microsoft (上海的 SDE, Dynamics 365 团队)

这个产品研发团队在上海开分部的时间不长,主要的工作语言是 C# 和 C++,面试的时候可以选择C, C++, C#, 很可惜,这几个语言都不是那么熟悉,所以面试的时候我都用 Golang,问题也不大,当然如果用 C/C++ 就更好了.
  • 一面 丹麦小哥,hiring manager, 简单的聊简历,聊做过的项目, 然后一道 Easy 级别的算法题 (Array) ,不是很难,但是需要自己设计好测试用例.
  • 二面 丹麦小哥,Senior engineer, 一道 Medium 级别的算法题目 (CSP),不过要写好测试,然后讲解测试过程。
  • 三面 丹麦小哥,Senior Engineer, 一道 System Design,和并发相关,分析复杂度,设计好测试用例和测试方法。
  • 终面 丹麦小哥,Group Manager, 一个15年的微软老兵,一道 Medium 级别的题吧 (LinkedList),他口音有点严重,沟通有点吃力。

Amazon (上海的 SDE 职位)

  • 一面,算法面试,两道 Medium 的题,45 分钟,一道 backtrace,一道 dp,都是 LeetCode 的原题,不过当时只刷了一百道题,没有见过,花了不少时间,勉强作出了一道,第二道有大致方向,但是没有时间了。
  • 二面,System Design 和 OO Design,很典型的面试题,不过自己没有掌握好技巧,面的不够好。

Google

  • HR 面, 会简单的过一下自己的简历,然后是基本的 screen, 算法复杂度,基本的数据结构和算法.
  • 一面, 听 HR 说是上海这边没有 Golang 的面试官,所以找了一个悉尼的一个资深大佬面的,一道 medium 的题目,字符串相关,做出来了,不过有些细节的代码问题,思考的速度也不够快。

EMC (Cloud Infrastructure)

这个 Team 很有意思,是纯远程的团队,虽然在西雅图,上海五角场的 EMC 园区也有工位,但是大家都是 Remote 在各个地方,偶尔聚聚。
  • 一面, 一道 Easy 级别的题 (Array), 一道 Medium 的题 (Heap) ,都比较常规,所以都快速的搞定了,然后聊简历,聊项目,然后聊团队和企业文化。感觉挺好的,最后留了一个 Project, 不是很难,几个小时可以搞定,不过有不少的小坑。(中间很尴尬的是,我送完女儿去幼儿园,然后找了一个麦当劳就开始面试,后来中间电脑没有电了,麦当劳还没有电源,赶紧和面试官说稍等,找了一个咖啡店继续面试)
  • 二面, 深入的聊做完的 Project, Golang的一些细节,系统的设计,特别是 Cache 的部分,然后是如何 scale 去支持高并发,然后拓展到加密算法等等。最后是一道 LRU 和 一道 LinkedList,都是 medium 吧,不过也是常规的题目,所以还好。
  • 三面, 主要是behavior,所以自由发挥好了。

总结

算法是外企面试的必须步骤,所以数据结构和算法都好好准备好是必须的。系统设计一般是 Senior 一些的职位会特别重视,所以也要做好准备吧,面试是双方选择的过程,所以过了是缘分和实力,不过也没有什么关系,我的理念是做好准备,结果随缘吧.