整体流程
先交待一下背景,我面试的职位是M365 data的SDE2,面试之前先有hr联系并且电话用英语沟通了一下,主要是看英语口语表达能力,但实际上最后面试的时候,全程中文。
面试用的teams,进入meeting之后,面试官先介绍了一下自己和团队的业务情况,之后是常规的自我介绍环节,以及问项目细节,和一些非常基础的技术问题(比如面向对象的多态是什么……我完全忘了)。
之后问了3道easy题目:
- 反转链表。只问了解法,没让写,只刷了一遍这个题加上原地修改有点绕,没答上来,答成了复制链表,应该是寄了;
- findStr(String source, String pattern, boolean ignoreCase)函数实现。手写代码,忘了ascii表,面试官提醒了4、5次哪里写错了,估计是寄了;
- 手写一个链表实现。用java定义内部类太麻烦了,用go实现了。实现的过程中面试官看我代码问了对象分配到栈还是堆的问题,答:逃逸分析。是对的但没说太清楚。
面试感受
只能说大厂不管能不能过,至少面试官给人的感觉有技术sense,会从项目切人技术,不会拿着八股一直问(点名批评客路旅行,tm拿着八股pdf文档问了我20多道)。
复盘
还是有一些对自己的缺点的认知上的收获:
- 技术上没啥好复盘的,问的都比较简单,但是不能一次bug free通过,说明自己也存在基础不牢的问题;
- 逃逸分析说对了,但是说的时候不够自信,问题也是一方面自己对这个东西没怎么看,另一方面心态不好,很容易怂,目前暂时的解决方法是再自己详细描述一遍这个理论,不管对不对,先说了,比怂了给人的感受好一点;
- 体力跟不上面试流程,写了3道算法题,人就晕了,一整个晕头转向。
- 说的东西还是不够引起面试官的兴趣,应该尽量往面试官的team的业务领域靠,这次没做好,只说了自己做了的事情,没有往spark、flink之类的面试官team的东西说(明明准备了但是临场就是没明白要说!kuso!)。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。