背景:妹纸一枚。产自湾区某著名码工生产基地。小本毕业一年。在一个小公司愉快地
做着一个小码工。LEETCODE才刷100来题。
Apple:内推。电面一轮,onsite一轮。挂。
面apple家的时候还没开始刷题。稀里糊涂就去面了。
电面是一个白人小哥,codepad写题。准备了三题,写了两题,讨论一题
1.给一个int,判断里面有米有重复digit。
先用hashmap写了,然后优化char array。讨论优缺点。问大概需要哪些test case, 会
不会写unit test
小哥准备了test case。当场跑,一次全过。
2.leetcode原题。判断链表里面有木有环。
讨论了下while里面放两个条件语句和放一个条件语句,然后再加个if的区别(好吧他
写C的,很注意细节)test case 一次全过。
他说写得挺好的,时间来到了第20分钟好尴尬好无聊。他就开始把他们组的四只程序猿
逐一介绍了下,干啥的吖,写神马啊。填充空白15分钟。才35分怎么办啊。介绍了下我
的工作,假装很有兴趣地问了他几题。。。还不到四十五分。于是又把他准备的最后一
题拿出来讨论了下:
3.给一个乱string和一个pattern,比如s: appiooos, p:isopa,输出isoooppa。
就是类似bucket sort嘛。。然后讨论了下java 的string是unicode的之类的问题。
面完好海森,但是估计被备胎了,过了整整一个多月才被邀请onsite
onsite 五轮
1.HR闲聊
2.三哥带个三姐shadow,问给一array的strings和它们的权重,给一个rand函数。要求
按权重随机输出string。解法是给每个string算一个累计权重,然后rand(sum),最后写
了个二分法搜索变体。
3.白人小哥带一三哥shadow,给一串点,假设每两个点之间有直线,让每隔100米打出直
线上的坐标。没写完。死翘翘。
4.白人小哥带一国人shadow。国际象棋题。给了无数提示后终于写完。估计死翘翘。
5.三姐HM聊人生聊理想。然后她没问最快神马时候可以来上班啊。。。之类的问题。。
估计是不爱我。。几天后收到HR发的拒信。
FB:HR主动勾搭,电面改成一对一onsite,plus一轮onsite,扼腕挂掉。
第一轮onsite就一个人,一道题。面试官是个欢乐的三哥。给了巨水的一题。不用除号
做除法。二分法解出。
上周终轮onsite:
1.一上来是个跑得气喘嘘嘘的白大叔,疑似是某组的HM,非常热情(上气不接下气)地
介绍了他们组。他们组和我现在在做的东西非常接近,所以很好聊。在此要默默感谢那
个上心的HR美眉,虽然听说FB是general hire,但她给安排的面试官都是从这个组来的
,共同话题很多。
2.一上来就是设计题。白人小哥问如何设计一个FB news feed的API。然后就打开侃大
山模式。。画图,聊。。他再针对性地问一些follow up, 我提供一些解决方案。后来
HR的feedback说这是相对面得比较好的一轮,但是如果可以主动提出一些细节的解决方
案就更好了。(比如他问了如果用XML的话怎么处理content中有 > &等,我说转成
unicode。。)总之设计题还是得系统准备一下,套路神马的要熟悉,不能老是靠侃。
。。
3.长得巨帅的苏格兰口音小哥。第一问是把一个array当中所有0都替换掉,不用保留原
有相对顺序。返回新的size。第二问是leetcode原题。下雨后的水槽。没写完。
4.东南亚大叔。第一问是类似树的level order遍历。第二问leetcode原题。Search in
Rotated Sorted Array。居然没写完。。好吧,挂得死得其所。。
5.Nice的国人GG,是来问behavior的。就常规的那些最有挑战的项目啦,和头儿有冲突
咋办啦。问完写了一题Best Time to Buy and Sell Stock II,好愉快。
昨天接到HR电话说中间两轮弱了些(让你不好好刷题!),可能年底再找我。。。哭倒
。。
===================
中间插播:好像还挂了SAP?上周三SAP一三哥HM打过来。问了一堆java基础题。详情请
参见google search "top 100 java interview questions"。只答出来七八成。挂。
===================
Google: HR主动勾搭,给免了电面。直接一轮onsite,爽快挂掉。
1.好像没睡醒的三哥,问了两题。第一题是假设你有个屏幕上的软键盘和一个cursor(
类似早年IBM上那个红点儿),只能上下左右一次走一个。然后给你一个string比如“
suzhenshu zui ke'ai”,让打印出RRRRDDDDDLLLUU的序列表示怎么走到那。第二问是
原题Generate Parentheses。
2.圆润的国人小哥。问说给一个string比如"su",再给一pattern“suzhenshu”,问s和p
可以match几次(或者说几种不同的match?)(比如s可以match pattern里的第一个或倒
数第三。u同理)。 2D DP嘛。。。然后他好像比较期待我写recursion的解法。。可是
姐跟recursion不熟嘛。。在他N次提示后终于写了个recursion的伪代码,顺便把DP改
了改。此时面试官已经无比地无奈,如果他头上有弹幕的话必定会显示“suzhenshu你
个大傻×浪费我时间提醒你半天还不懂脑子有坑啊你巴拉巴拉巴拉。。。”
3.把无奈的国人小哥送走后,迎来一个热情三姐。问说虚拟城市里有若干家店,要在城
里建个房子需要去每一家店买材料,问把房子建在哪儿才能最省运输。转化成图,广度
优先遍历解之,不知道对不对。
4.国人大哥带一国人妹纸shadow。问说有一长串数,外加一个长度为k的window。
window沿着数组从左往右扫,每次都打出window中最大的数。。用堆解了。。结果那个
堆不知道怎么优化,删掉那个不在window里的数。。就写了个每次建新堆的解法。。傻
×了。。最后握手出去的时候那shadow妹纸的手好冷,犹如我的心。。。%>_<%
5.着急下班的三哥,一边面试一边玩手机。问的题是有一个string,如果substring中
只能最多出现K种字母,问最长substring。比如k=2, baasddddsssaaa 最长是sddddsss。
刚接到HR电话说挂了。。为神马不写个信就好了嘛。。。要这样在姐的伤口疯狂地撒盐
。。%>_<%
==============================================================
总结:leetcode每一题都要非常非常熟,不要心存侥幸说大概不会问啊,然后一问就悔
不当初。设计题要练一个系统的讲述方法。。。我每次都非常意识流。。。想到哪说到
哪容易遗漏要点。
最后,走过路过的各位童鞋,HR,HM,CTO,有木有神马职位空着,快快联系我吖。。
我给你发我的简历,demo, online portfolio,startup project。。。
No comments:
Post a Comment