【 5/17 HE,题都做出来了,却挂了,为何呢?】
第一轮, 三哥 Senior Engineer ,BQ 了一会,然后一道coding, 两个数组,返回差值最接近0的pair,最后反bq了一会
第二轮,国人 EM, 直接做题,之字形遍历树,药灵散,秒了后,过八股文,过程/线程,stack/heap之类,最后反bq了一会
第三轮,好像是中东人,EM, 比较凶,上来BQ 了一会,出了道题,二叉树从左右看, 要救救,秒了后,
//todo1 又出了道设计题,设计分布式数据库,这个有点大,对方也很凶,很冷,互动不是很好,被对方叫停,草草结束,最后反bq了一会
第四轮,非洲姐姐,EM, 上来BQ了20分钟,居然出了一样的题,之字形遍历树,秒了,然后聊天反bq, 感觉还挺愉快。
【连续面巨硬4次VO,挂经,太惨了。求大米,接着面】
第二次VO经历
第一轮: 国人大妈马工,结果问了100% BQ,人准备了一个list, 一个个问,问得我头皮发麻,反正能答的上,都扯了几句。很惊讶找一个国人工程师来面纯BQ。
第二轮: 美国大爷马工,又是纯BQ,聊得还算愉快。
//todo2 第三轮: 两个马内基一起面,时长一个半小时,先是面了OOD,用n-tier arch 写一个bookstore,可以添加书,查找书。
//todo3 然后面了一个系统设计,不是常规的,让我讲自己的项目,然后画架构图,讨论瓶颈,scale, tradeoff之类,感觉比现场设计一个系统要简单点。两道题感觉答得还凑合吧。
第四轮:高级经理,面了30分钟BQ大概就结束了。这是约在第二天面的。
第三次VO经历
第一轮:小美经理,聊了BQ,之前项目,对方语气一般,我讲得不是太顺畅。然后出了一道原题,加油站,药散四,贪心在我看来最tricky, 很难想,现场没解出来。
第二轮: 三哥经理,先聊BQ,态度不好,一直怀疑的。然后来了个设计,设计饭店订位系统,我设计了DB, 写了API, 花了图,讨论一下基本flow,结束了。
//todo4第三轮: 某拉美经理,简短的聊了BQ,然后SD, 设计一个Notification System。基于前两场感觉已经挂了,这一场放开面了,思路还活跃些了,好几个点,对方说很好,是他要的。
//todo5第四轮:老美高级经理,BQ 了一会,出了道OOD,给一个图片,上面几种颜色的模块,然后要把其中一种挪出来,类似华容道的游戏。这题不好做,要建模,还得设计算法,我没能写完。
第四次VO经历
第一轮:美国白妞经理,迟到了很久,然后匆匆出了道链表的题,让删除值为空的节点
//todo6 第二轮:老中上来中文,全程中文,第一次用中文面试。中文BQ+一道环形数组让找最短的包含全部颜色的子数组,滑动窗口可解
第三轮:三哥经理,先BQ,然后出了道coding题,让处理stream,买卖股票的order request,需求挺绕的,要buy,之前得有比现在价格低的SELL,反之亦然,还要处理部分order。没有写完,对方提示了可以用heap,priority queue
//重点1 todo7 第四轮: 三哥经理,让设计一个浏览器插件,非常规设计题,可以下载网页中出现的文件,对方很傲气,我写了几个eventhandler, 谈了谈思路。
【微软 6/16 HE】
5 月初 recruiter reach out,之后做了 OA 就约到了今天的 HE,一共四轮,大概流程都是自我介绍 + 问简历/简单BQ + coding/SD + QnA
//todo8 1. Principal architect SD 轮,问的是 cloud file design,纯聊没有用 coderpad,简单说了 requirements 之后主要问怎么 handle consistency 和文件加密。加密的部分我也不太清楚他要问什么,我也不是很了解,答得不是太好。
2. Senior manager coding 轮,一道没有具体描述信息的题,就叫 remove duplicates from unsorted binary tree,clarify 问题的所有回答都是自己看着办,code 写出来了但有点懵。
//todo9 3. Manager coding 轮,看到我简历上有 Java,就先问了什么是 polymorphism,什么是 interface, coding 是冗长的一道题,看明白之后就是 binary search 返回第一个 >= target 的值,写完 test 了好多种 case,都过了。
4. IC coding 轮,第一个问题是给一组 01 sequence,判断相邻的两个 seq 是否最多只有一位 digit 不同,比如 [01, 11, 10] 就是 True,[01, 10, 11] 就是 False。感觉面试的人很着急,总是在打断我说话 push 我赶紧写 code,说接下来还有 follow up,这个写最简单的 code 就行。写完之后第二个问题,类似 LC 89,说清楚思路就行,最后剩了十几分钟也没有写代码。
求加米看面经!!谢谢!
【微软6/7 HE】
微软6/7 Hiring Event Azure Data Service组
第一轮Meeting room 2
第二轮Path sum 3
第三轮Valid Parentheses
//todo10 第四轮System Design 给Data Warehouse和Cache 设计如何尽量最小化Data Warehouse的查询
感觉面的很好,但是收到拒信
根据HR的描述 6/14还有一场同样组的Hiring Event造福大家 求米
【巨婴HE面经】
round1: 好像是mgr自己出的题,很简单就是两个linkedlist,找共同存在的点,然后bq了很久,感觉很注重bq,45min结束了又继续问了好几个bq
round2: 蠡口 遥遥乌乌dp跟换硬币很像
round3: 翻转链表2
//todo11 round4:sd + ood类似设计一个权限管理系统,有user role和permission,有一个映射关系,设计assign, revoke和get permission的接口,然后要mock db testing类似
【巨硬 VO Failed 】
网上海投,一轮电话screening,四轮on-site interview,最后failed。
1. 电话screening:设计memory cache
on-site。
1. 给一组坐标点,找到一个中间点在任意两个点,这两个点是整数。
2. 给一系列objects,返回平均值在最后给定的时间段。
3. 蠡口 三无林变种
4. 给一个树计算子树个数是复数。
【巨硬HE 5/23】
4轮都是azure大组下的面试官,每轮开场15分钟BQ
第一轮印度小哥,力扣舞儿巴,followup要求get方法O1
第二轮印度大姐,简化版力扣散舞无,followup如果post重复tweet怎么处理
第三轮白人小哥,没找到原题应该是他自己出的,输入一个list of transactions,每个transaction包含付款人和若干平摊人,输出每个人与其他所有人的欠款关系,输入输出全部自定义,面试官比较注重数据结构设计
第四轮白人HM,力扣妖戚,followup如果给一个字典,只能输出字典里有的单词
【巨硬老年过经】
//todo12 巨硬azure老年岗,组招,第一轮HM电话面,聊聊背景,问了一题类似于系统设计的题(关于如何解决hot partition的),然后问了一题很简单的算法(2sum),由于LZ不知道这一轮要考题,以为是瞎聊,用手机接的,code写不了,描述了一下,很庆幸给过了。一周后开始vo,一共四轮,可惜现在只记得三轮。。。每一轮面试都是相似的套路,即先问算法题,然后follow up逐渐变成系统设计题
1. 似似无,算法考完后问如果input是stream怎么办,stream很多内存放不下怎么办;如果input很大,只能放在文件里怎么办;设计一个系统,尽可能保证分布处理时中间结果不丢失(发生故障等情况,只说duplication还不满足)
2.路三路,follow up多线程怎么办
3.起灵路,follow up如果你是黑客想攻击这个系统,怎么去获取mapping?作为系统设计者怎么保护mapping不被轻易获取?
【巨硬HE 5/17】
第一位是个热情的白人小哥,问题是给一个代表高度的2d array,从给定的一个点出发,采用最速上升法,返回最后停留的点。follow up是如何让compare options的次数更少。
第二位是和白人小哥一个组的白人大叔,问题是字符串最长回文子序列(刷题网 五)。
第三位是另一个组的三哥,印象不太好,不仅迟到了而且问bq也问了二十多分钟。写题目的时候也经常打断我然后反复问。一些很明显的点也会问很久才能get我的意思,结果最后没写完。题目是经典的LRU。
第四位是三姐组长,让实现sToi()和iTos()。这一轮比较简单,十五分钟写完之后就愉快聊天。
【微软 05-12 Hiring Event】
//todo13 类似ODD,但又不完全一样, design a file system that can distribute millions of files to different nodes, 问题给的非常模糊,然后一直问我要加什么feature来提高用户体验, 问的太宽泛,所以就一直和他交流, narrow down他想要的feature, 比如说查重, monitor file change之类的
【巨婴 HE】
//todo14 第三轮: 自己出的题目.一个API可以用来把String 保存到cache,一个API用来读出cache的String,并且返回。 要求优化时间和空间。比如说刚开始input的 string很多。 说实话我没明白他要我干什么。 他描述完,我当SD做的。 他又说没有DB和Queue之类的。只有内存。 那我就说,把所有string都存到list里面,从list再取。 他说需要优化空间。 我直接讲,可以用Trie,不要存储重复的string。 最后还说让我实现这两个API。 我胡乱写了。自始至终没弄明白他想要什么。。 这轮应该是跪了。
String saved to cache 那个是不是可以LRU那样解,链表+dict/hashmap
不是一样的题。 就是实现最优时间空间的存取字符串。 两个API
一看就是天竺人自己瞎jb编的题目,这轮被坑了。
【微硬/巨软虚拟现场】
1 一个grid,0为空,1表示生芒果,2熟芒果。每一分钟,每个熟芒果4方向相邻的生芒果都会变熟。问所有芒果都是熟了的最少时间。无法做到就return -1
2 给一个BST 的preorder 遍历数组,要求构建出BST,返回root。要求O(n)
3 写一个你认为的最快的排序算法。问了平均和最坏复杂度
4 设计一个queue service,基本操作类似数据结构queue,但应该要尽量可扩展。
【巨硬四月昂赛】
Round1:
BQ: 怎么应对Ambiguity
//todo15 漆傘变种,矩阵上下左右相邻的格子置零
Round2:
BQ:
Identified an improvement
Step up to take on something you were not asked to
Design: 短网址
//重点2 todo16 OOD 设计Locker, 可以分配离用户最近, Size合适的Locker
Round3:
BQ: Project didn’t finish
Coding:
灸
吾钯
依漆迩
Round4:
纯BQ:
WFH的挑战
Proactively identified an issue before it went live
【巨硬劝退HE】
第一轮:15min 介绍聊了聊项目 + 刷题网 迩舞伞 变种
Follow up:不允许sort + input stream large问如何优化
————————————
第二轮:面试官叫Ved Ratn Dixit,我先喷为敬
没有寒暄没有介绍,直接进codility
//重点3 todo17一上来给了个巨简略的问题,搞一个cache的interface里面有get,set和delete,加起来就五行
我问有什么要求,他说没有,或者给两个例子,他也说没有。我大概讲了下思路和可能的edge case,没理我。得了那就先写一版
写完就开始被疯狂挑刺,比如有key不存在怎么办,有duplicate key怎么办
我说那我们处理一下,他说你应该在实现之前就问问题,我说我问了你没回答。
他就一口咬定我没问,我说我肯定问了。然后他又跟我扯现实里你这么做肯定不行,直接实现然后返工没有效率,我说大哥你现实里没有design doc和review吗?
拉扯了30min全程压着火对他的否定逐一反驳,最后我说那现在这样我们把这个弄完,回到duplicate key上
之前用hashmap存的所以duplicate key会被直接覆盖掉,如果想存储duplicate key的话我可以另加一个queue来存
没反应,我又重复了一遍还是没理我,就直接写了
写完了之后他来了一句我让你存了么,我TM当时直接?????
我说那你想怎么办,他说之前覆盖掉就行。当时差点就直接贴脸开骂了,存心找茬么。
————————————
第三轮:人很好上来给我讲了一堆组的情况,项目和目标用户群体什么的 ,平复了下我上一轮炸裂的心态
聊了15min + 刷题网 衣灵伞
Follow up:如何用一个queue解决,说了下思路就结束了
————————————
//todo18 第四轮:HM轮,解决一个区域状态更新的问题,偏设计,连续的Follow up包括如何存储如何保证一致性
最后大概写了个差不多的实现代码就结束了
【巨婴HE新鲜挂经】
昨天巨婴hiring event. 还没睡醒就起来答题。。 第一轮结束我就知道挂了。
第一轮前半段BQ,我说太多,大约说了15分钟,最后就25分钟左右做题,看到题的时候还比较放松,感觉靠谱了。。。 就是一个topological sort的问题, 题目是游戏里一些skill必须在其他skill都获得之后才能被开启。 刷题网二姨玲。 唯一区别是不要求全部打印出来,而是打印第一个走到底的skill。 我写完之后运行出来结果不对,直接懵逼。脑袋懵懵的就结束了。 followup问你有哪些test case没有被想到, 其实就是看有没有loop。
第二轮开始心不在焉,要做的是一个tinyURL的encode和decode 刷题网雾散舞。 我用刷题网的第五种方法做的。 followup 解决colliision问题(需要手写base64, 我没时间写了)
//重点4 todo19第三轮, 外部排序, 很小的memory的情况下排序一个大的文件。 不要求运行。
//todo20 第四轮,三姐自己都说不明白, 她给的题很短: “你是一个聚会planner, 有N个group, 每个group有10个人。 让你写出来一个takeEvent和listEvents”
我问了一些问题,
1. group还有每组的人数和event什么关系,她嘟囔了半天最后才说10个人这个条件一点用没有,一个group只能负责一个event就行
2. 每个event有没有开始结束时间,三姐自己都懵了,她说那就有吧。
3. 她开始也跟我说listEvents是把当天的event都打印出来。
所以我用了line sweep(经典上下车问题)去查看当时是不是已经有超过N个event了去决定是不是去take这个event。
写到listEvent的时候,她来了一句,listEvent要打印出来每个group被分配到的events。 不是每天了。。 所以每个group是有区别的。。*(^*&%*&…
前三轮状态不在线,脑袋懵懵的,我认了,第四轮真不怨我。。。 另外小弟论坛新人正在刷题面试中,过路的大哥大姐能施舍的点大米,我就可以看到面经了。
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/268330.html