2.26笔试
Codility平台三道算法题,纯英文题目,需要把握英文阅读理解的时间,不要耽误太久。
第一题 统计山顶山谷数量,两边高中间低为山谷,两边低中间高为山顶,相同高度的连续值视为同一个山谷或山顶
第二题 统计相似车辆数量 ,用n个二元标签描述汽车,若两辆汽车只有1个以内的标签不同,则它们相似,试统计m辆汽车中每辆汽车的相似汽车数量。
第三题题目不记得了,只记得是个二分查找的题
做完题当场出结果,分correctness和performance两个指标,分别是正确率运行时间的评分,三道题都拿了双百勉强过了笔试。
3.15一面
面试官很严肃,二话不说直接开始做题
n叉树的序列化和反序列化,共享屏幕本地IDE写代码,需要自己定义数据结构并且写测试用例运行 (二叉树序列化和反序列的进阶,微软高频面试题)
大概花了30分钟写完了,跑了一下随便写的测试用例和面试官提的边界条件,结果都没问题。
面试官觉得我序列化的字符串中"None"比节点数多一个,问我能不能优化一下,改了之后反序列化函数出了一点小bug,面试官觉得时间差不多了,就直接结束了
理论上3.17号是二面统一时间,一直没接到二面通知,问了HR,说是一面过了,直接准备终面就行了,3.18收到终面通知
3.19终面
面试官那边网络情况特别差,Teams一开视频就掉线,然后电话联系我能不能电话面试,我说想写代码还是Teams面,然后Teams出bug一直显示我在会议中加不进去,重启了个电脑耽误不少时间。
面试官是O365组的,上来先自我介绍,然后问项目遇到的困难以及是怎么解决的,我大概讲了一个技术问题然后用什么API解决的。
面试官觉得我说的细节太多了,建议我以后答此类问题注重于描述解决问题的过程,方便面试官考察解决问题的能力。
发了一个在线写代码的白板,因为网络问题前端资源加载不全,代码有重影,写的很难受,勉强写了一个 字符串反转的题。
先答思路,一开始说了个用栈的思路,面试官问我觉得有没有什么问题,我说空间复杂度有点高,面试官让我再想一个空间复杂度低的,说了一个先整体反转字符串,再挨个反转单词的思路,然后就是白板写出来,问了边界条件,面试官说可以不考虑,主要考察算法思路以及实现。
经典翻转单词中的句子问题
白板重影太难顶,给面试官反映,换了个白板,结果因为网络问题打不开,然后我说共享屏幕本地写吧,面试官同意了但是不能用IDE,只允许用记事本写代码。
问我想写二叉树还是二分查找,我说写二叉树吧, 二叉树 最大路径和 ,我想了五分钟没思路,面试官说还是做二分查找吧,我说行,但是前面网络问题耽误时间太久了,时间快到了,面试官给我延长了10分钟。
最后出了一个 搜索 旋转有序数组,花了10分钟勉强写出来,分了四种情况讨论,面试官看了说有些情况可以合并,我看了大概说了哪些可以合并,然后问面试官问题,结束。