一共有三次面试,每次45min,一面和二面为平行面试,根据两次结果来决定是否进行终面,终面通过即上岸
面试是网络面试,使用的平台是微软的Teams
自我介绍中文即可
算法题题目都是英文
一面
自我介绍
- 简短而全面,把自己过去经历、现状、个人品质、选择微软的理由讲一讲
项目经历
- 讲讲过去的项目
- 从项目中学到了什么
八股文
- Java的反射
算法题
- LeetCode283 移动0
https://leetcode-cn.com/problems/move-zeroes/
这道题其实很容易做,但是面试官要求我用On时间复杂度,不借助额外空间来做。
我虽然记得这道题的最优解法确实符合要求,但是是很久之前做的,怎么做就是想不起来。在这题上磨了半个小时才做出来,我感觉考官也不是很满意的样子
提问环节
- 问问面试官想问的问题
二面
自我介绍
项目经历
- 讲讲过去的项目
八股文
- Java的特点
- Java的运行时多态与编译时多态
- Java的类加载过程
- 什么是双亲委派机制
- 计算机网络中的七层结构是什么
- 每一层负责的功能
- HTTPS是基于什么协议的
算法题
- LeetCode163 Excel表列名称
https://leetcode-cn.com/problems/excel-sheet-column-title/ - LeetCode171 Excel 表列序号
https://leetcode-cn.com/problems/excel-sheet-column-number/ - 画一下上面的流程图,我用visio靠共享屏幕分享给考官
提问环节
- 问问面试官想问的问题
终面
自我介绍
项目经历
问得很细,不仅会问常见的问题,还会根据你的介绍,来反问你要为什么这么做,考官看我大学期间做个一个很久的项目,就问了不少,这部分因人而异。最后还让我用英语介绍了项目,这个没准备,答得并不好
应用题
做一个射点球的小游戏
电脑每次会随机出0、1、2,玩家输入三个中的一个,比较两个数字来确定输赢;
这个功能实现之后,以此为基础,射门方向即数字,进行适当的编写来实现计分;
最后把游戏封装好,进行多局游戏,判定输赢。
这道题不要求实现有多细节,只要把思路写出来即可
网友评论