亚麻有毒电面。热腾腾,剧毒

准备了好几天bq,一句没问。上来一道lca.
过程精彩的一B

10分钟前刚刚结束,智利面试官。
准备了几天bq,一句没问,上来一道lca, 我心想。。尼玛你这拿来考我。结果最后才知道自己太天真了。

上来让我定义啥是lca。。我说,最低最近的共同父节点。
他说 那如果 这种

                         1
                           \
                            2
                             \
                             3

2跟3 的lca是啥,我说国际惯例。。。应该是2.。他说我们改改,说是1怎么样。。。(内心nmb)。
我说行吧,你说啥就是啥吧。
然后给他讲解法,找到了返回,左右儿子返回不是null的,都不是null返回自己。
说一句问一句。,怎么都听不懂。我qnmd。。说的口干舌燥,他说没听懂,但是你写吧。
我写完说,因为你创新定义lca,我们要再进去看一眼,找链式结构的lca。
他说那不是要2 pass。我说是啊。。你不创新吗。。他说1 pass 得不得啊,我说行。。每层返回个treenode array,后面可以当flag。想怎么着都行。
他说返回啥array啊。就一个treenode,你给我整出来。。
我就想啊想,当前层多看几眼,应该是可以。。讲完了要写。
大哥来句算了不写了。。问你点其他的。。
我说好。。你问。。
你看你这个treenode root。 怎么能直接 root.val???你写东西不写gette() 跟setter()??我内心tm…老子做coding test,你还要我写getter setter?are you ok。。
哥们儿来句,你这写code 不注意encapsulation可不行啊。。我tm刀呢,我草。
又问找不到lca咋办。。我说返回null呗。。他说其他方法呢。。。
我琢磨了半天说了句,抛异常?他说对的,就是想听这句。。我tm。。。
最后又问tree太大了怎么办。,我说那就加内存嘛,存硬盘嘛,不行就上分布式嘛。
然后让我问问题。。结束。。

真的面的想哭。lca改祖先定义还行,听不懂还行,强行one pass还行,one pass不让传数组还行,coding test 没写getter setter还行。
真的有毒,剧毒啊

补充内容 (2018-11-18 01:48):
我有班要上,还有其他面试要准备。亚麻也并没说挂了。我发帖就是贴个面经图个乐。这贴除了问面经时间线之类的东西,我不会回了。免得被人扣些莫名其妙的帽子。这个账号也是多人在用,别发些有的没的往我头上套了

兄弟,抱怨这个真没用。首先,不太明白写TreeNode为啥不能封装,无论是用Java写还是CPP写,都应该封装吧。深入问一句,你面试题写doc和unit test吗? 刷个题写个算法没啥了不起的。题目都泄漏(大家都知道)的情况下,如果同样两个人,一个人代码干净规范,一个只求算法正确,你面试别人你怎么选?而且就算进了公司,你刷的那些题目真正用到项目上的会有多少?据我所知,leetcode里面的几百道题能用到10个就顶天了。大公司招的不是改变世界的英雄,只是一个能和teammates协作的螺丝钉。认清这点很容易就知道面试面的是什么,算法正确固然重要,但并非唯一的指标,只是诸多指标中的一个而已。

多问一句,封装难道不是基础知识吗,这个也需要抱怨?面试出算法题永远不是只追求解法正确。

你写树的题你去封装TreeNode class?你逗我?

这是个误导,没有人说面试是只面试算法,如果是这样,不如出个试卷,然后机器评分不是更好?面试也不是找那个技术最强的人。技术能力固然很重要,但是工作更多是协作,尤其是大公司。如果不是很明白,请参考王垠。Team招人永远是找最合适的。我之前有招过一个人(当然不是在亚麻),技术能力超强,一年写的代码是其他人的总和还多,但真的除了会写代码就啥都不做。最后他写的项目没人愿意接,只好烂尾了。项目99%的时间是在维护,特别是大公司。

我在不在亚麻工作并不重要,面试对于你来说只是暂时失去一个机会而已。我看你在论坛抱怨这个才换个思维方式帮你在以后的面试有所提高。首先,set expectation,你是在找工作,如果你自己开公司,当然不会抱怨面试的问题了(不过可能会抱怨招人的问题,笑)。其次,明白哪些地方需要改进,能够在下一次面试中发挥得更好。抱怨面试官其实很容易,而且有更好的方法,例如你回答的很好,拿到了offer,但是觉得面试过程中因为封装了domain,写了doc被面试官鄙视,所以撕掉offer。最后,设定好自己的角色。

我不认为楼主面试是fail在getter和setter上,只是因为面试官提了一句被他放大了而已。最主要的原因很有可能是面试官重新定义了LCA导致楼主第一时间慌了神。毕竟平常刷题也没想到面试的时候把定义给改了,就像平常做多了十进制或者二进制的加减乘除,突然被问到要做三进制或者十一进制加减乘除一样。如果楼主写了getter/setter其实是加分项,当然也可以解释说平常是写的,只是面试的时间有限来搪塞过去。但并不代表因为面试官问了就觉得面试官是傻逼。

哈哈哈哈哈哈 笑死我了 真的剧毒

心疼楼主。就让他过游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0。 查看如何攒积分 Click here for more info.累人品了

第一你根本不了解我,第二面试真实情况,你也根本不知道,基本是我说一句,他queation一句,我敲一行代码,不是他想要的,就停手。
第三,setter getter我原帖就提了两句三行,我怎么就放大了?还是你只看得见这两行?第四,我哪句骂面试官傻逼了?给我高亮一下?

补充内容 (2018-11-18 01:57):
还有,你看东西别加自己臆想,我并没说我挂了。。谢谢你

你真别给我扣帽子了…别给我套假设了…
我说1,你说2,别人说2,你说3.
你字里行间都是亚麻 leadership 14 principle。真别说教了。
他听不懂解法是因为我慌了神吗?hello?我必须交出他要的解是吗?不是说算法不是唯一吗

我还有其他面试,move on了。你也take it easy吧。看看自己这一天吃了多少个踩。

来让帮我hide一下。。

额。。。。。 有毒,所以只问了一道 lca 的题目吗?

是的,车轱辘话说了50分钟,就是听不懂,听不懂跟莫名其妙的关注点,

想问下楼主怎么拿到的面试,target school还是内推?

朋友的朋友内推

额 真的是 玄学公司嘛。。。。

亚麻的社招真是血毒。。。。。还是2 oa靠谱

我同事面别人的时候,面试者用了和你一样的解法:找到了返回,左右儿子返回不是null的,都不是null返回自己。

然后同事说:“虽然working了,但是super weird.”