坐标海外。面一家还不错的上市公司,大概属于 tier-3 的 IT 公司,算是想要一个备胎。面试 senior SWE
第一轮是做一个简单 project,花了点时间顺利秒过。
第二轮是在这个 project 基础上做一个附加项目。一不小心选了 Java 结果面试一上来就是一个印度老哥和一个东欧老哥,话都说不清楚,我内心就觉得不妙。
题目是一个很小范围的 nxn 地面( n<5),如何 Java 储存地面上的某一点是否为危险区域,极短时间限时解说+码代码。题目要一种解法,我说我有三种解决方法,也给了三个解法,且在完成一种解法的时间内完成了三种解法+一把过所有 test case+全程解说:
解法 1:int[][] ->设置障碍点为非 0,优点速度快,适合题中简单场景,能保证读 /写的 time complexity = O(1),缺点是空间 = O(n^2),还留了快速做 grid BFS/DFS 的空间。
解法 2:hashset -> x 和 hashset->y,x 和 y 都在各自 set 中则为不安全点,利用 hashset 的特性保证 average 读写能做到 O(1),最坏情况下空间占用只有 O(2n) = O(n),最坏 time complexity 可以维持在 O(2n) = O(n) ( hash 冲突情况)
解法 3:hashset -> x,y,利用 hashset 的特性保证 average 读写能做到 O(1),缺点是最坏情况空间=O(n^2)(因为组合有 n^2 可能性),且读写最坏情况存在 O(n^2)的可能性( hash 冲突情况)
印度老哥并不知道 hashset 的 time complexity 最坏会有 O(n)的情况,认为我是在胡说,说他做了这么多年只知道 O(1)的 complexity (我?????)
东欧老哥说他并不知道解法 2 的意义在哪里,直接解法 3 就好了,你没有第一时间想到解法 3,所以你是错。(我?????????)
印度老哥接着又说:你给解法 1 说明你不熟悉 OOP 和算法,因为如果你熟悉你就会考虑空间复杂度这么高的选项,所以你又错了。(我??????????????????)
最后这俩货说:我给你 offer,但是只给 SWE 的 offer (降级)不能给你 senior 的 offer 。
我????????
最后当然是没有去的,不跑大概是等着让两位什么都不懂的人剥削然后领功吧
但是我还是想知道,遇到这种什么都不懂的面试官应该怎么操作
第一轮是做一个简单 project,花了点时间顺利秒过。
第二轮是在这个 project 基础上做一个附加项目。一不小心选了 Java 结果面试一上来就是一个印度老哥和一个东欧老哥,话都说不清楚,我内心就觉得不妙。
题目是一个很小范围的 nxn 地面( n<5),如何 Java 储存地面上的某一点是否为危险区域,极短时间限时解说+码代码。题目要一种解法,我说我有三种解决方法,也给了三个解法,且在完成一种解法的时间内完成了三种解法+一把过所有 test case+全程解说:
解法 1:int[][] ->设置障碍点为非 0,优点速度快,适合题中简单场景,能保证读 /写的 time complexity = O(1),缺点是空间 = O(n^2),还留了快速做 grid BFS/DFS 的空间。
解法 2:hashset -> x 和 hashset->y,x 和 y 都在各自 set 中则为不安全点,利用 hashset 的特性保证 average 读写能做到 O(1),最坏情况下空间占用只有 O(2n) = O(n),最坏 time complexity 可以维持在 O(2n) = O(n) ( hash 冲突情况)
解法 3:hashset -> x,y,利用 hashset 的特性保证 average 读写能做到 O(1),缺点是最坏情况空间=O(n^2)(因为组合有 n^2 可能性),且读写最坏情况存在 O(n^2)的可能性( hash 冲突情况)
印度老哥并不知道 hashset 的 time complexity 最坏会有 O(n)的情况,认为我是在胡说,说他做了这么多年只知道 O(1)的 complexity (我?????)
东欧老哥说他并不知道解法 2 的意义在哪里,直接解法 3 就好了,你没有第一时间想到解法 3,所以你是错。(我?????????)
印度老哥接着又说:你给解法 1 说明你不熟悉 OOP 和算法,因为如果你熟悉你就会考虑空间复杂度这么高的选项,所以你又错了。(我??????????????????)
最后这俩货说:我给你 offer,但是只给 SWE 的 offer (降级)不能给你 senior 的 offer 。
我????????
最后当然是没有去的,不跑大概是等着让两位什么都不懂的人剥削然后领功吧
但是我还是想知道,遇到这种什么都不懂的面试官应该怎么操作