Airbnb onsite面经 + 长长的面试经历鸡汤文

今天又接到了recruiter的电脑,于是已经打算从了A家。想和大家聊聊面经,以及这么长时间来找工作的经验和技巧。电面:地里面经,一道关于floor和ceil的题目,很好找。

第二天一大早,7点多就收到了拒信。当时真的是特别伤心,因为airbnb很可能是我最后一个面试,最后一个机会了,OPT也要过期了,真的只能灰溜溜的,卷着铺盖卷回国了。在这里也想鼓励大家,还没到最后别放弃,总有峰回路转时。

当时自认为表现不错,不明白为什么会被拒,于是问recruiter,两天后得到回信,原来是他们的系统坏掉了,给我发了自动拒信。
recruiter带来的是好消息,让我去onsite,接下来就是漫长的等待+[刷题]的过程。
airbnb家的高频题,低频题,每一道都写了好几遍,其中text justification这个题都快刷吐了。。。最后也没考。

由于LZ自身原因,无法像地里很多朋友们一样,进行大规模,长时间的刷题,否则就要开始极其严重的偏头痛。面试前一天偏头痛+嗓子哑,面试当天头晕脑胀晕车,当时就不想去了,想放弃。

但我还是坚持下来了。面试的时候,其实过程并不理想,面试官很好,是我自己的水平问题,不过我还是拿到了offer,我会和大家聊一下,这是为什么
第一题:地里超级高频的一道题

第二题:一道电面时候常常出现的高频题目。小哥很满意,还赞美了我几句,说我很有business mind面试结束。

第三题:这个比较有意思,小哥很年轻,进来就说,咱们这一轮,不coding。我们来聊聊设计database
我一听就懵了!!!!!好不容易抓住airbnb这最后一个机会,可不能栽在你手里!
小哥笑嘻嘻的问我,会不会SQL,有没有设计database的经验。
我心想,我一个front end engineer,你让我设计数据库???不太靠谱啊!!!!
我说,小哥,咱们这一轮,还是要coding,因为我的recruiter告诉我了,我一共有3轮coding,现在还差一轮啊,而且database不是我的学习方向。

小哥飞快的拿出手机,查查自己是不是走错门了??!!!然后并没有。
小哥看着手机说,嗯,那咱们就coding吧。。。。。

然后我飞快的写完了bug free,给小哥讲了一下,小哥感觉全称都在玩儿手机!后来就airbnb的发展问题聊了聊,小哥非常开心,尤其是知道我经常用airbnb,于是聊得很愉快,面试结束。

中午他们家有麻辣小龙虾!!我一个人能吃一盆,但是我的嗓子坏了,而且当时还是有点偏头疼,只能看不能吃,痛苦。
culture fits1 : 美国姐姐,和我聊天,很开心

culture fits2: 小哥顶着一头蓬松的头发,穿着睡裤,踩着轮滑鞋进来了!我当时就懵了。后来交流的时候,发现小哥喜欢旅游,去过中国,会说中文,还秀了一把。
后来聊着聊着,我偶尔也蹦出中文了,因为我们开始聊中国的美食了。于是聊天结束,和艺术范儿的小哥合了个影,走人。

Airbnb家的装潢非常漂亮,有艺术感,所以我很喜欢。
第二天要了reference,第三天谈salary,第五天给offer,move fast

---------------------鸡汤开始----------------
来硅谷已经有一年的时间了,一直没找到fulltime,一直在做没有钱的intern,长时间没有经济来源,不想管家里要钱,也不敢跟家里说自己的情况。
期间有一些面试,但是基本上都是被拒绝,或者package差的不得了,有一段时间每天早晨醒来都能看到拒信,不得不说,这颗心已经被打击的快没知觉了。

每天醒来就刷题的日子,真心难过,白天刷题,晚上也刷题,还要应对偏头痛,每天陪伴我的,就是一集又一集的武林外传。
这段日子虽然痛苦,但是很值得纪念,都是自己上学的时候不好好用功做的孽。

现在想想,被之前那些公司拒绝,不一定是坏事。
因为最好的可能就在后面。当时面P家游戏公司被拒绝,非常伤心,几个月后等到了tableau的面试,于是感慨幸亏没有去P家。被tableau拒了,更伤心,因为我还是很喜欢去这一家的。
又等了四个月,等到了airbnb的面试,终于看到一家从里到外,我都喜欢,我都熟悉的公司。
所以面试被拒绝不一定是好事儿,因为只要我们肯努力,最好的说不定就是下一个呢。

也希望大家不要放弃,当时我都一气之下,想买机票回国了,盯着机票好久,最后又把页面关上,重整旗鼓,告诉自己不能放弃,这不是我在米国最困难的时候。
最困难的时候都过来了,现在又算什么呢?总之一路都是坎坷,一路都是经验,一切总有峰回路转。

补充内容 (2016-9-1 11:13):
如果决定去了airbnb,一个月后会在地里帮大家内推,并且帮助大家面试

补充内容 (2016-9-2 13:04):
好吧。。。。我今天拿到了Facebook的offer,开心又纠结。。。。。不过感觉今年和FB真的没缘分了

补充内容 (2016-9-2 14:20):
聊聊FB的面经吧。。。。已经决定不去了。。。没缘分,真可惜
店面,给一个数组,找所有的pair符合a+b=c+d
onsite: move zeros, fibonacci, heap sort, binary tree vertical order printout, add expression

之前拿uber offer的不是我,是我husband,我们俩用同一个账号哦

关于culture fit,因为我用过airbnb太多次了,可能是所有的面试选手中,用的最多的一个,所以我有很多airbnb住宿经历的回忆,聊天的时候我基本上就在和面试官讲一些有趣的故事。

针对airbnb的发展其实我也想过很多,也有疑问,我就把这些想法都说出来了,给面试官的感觉就是,我用过A家的产品,并且喜欢A家,对他们家的business idea也有过研究,很用心的去对待,这样面试官就很高兴

全称要微笑,大笑,各种笑,面试官也就开心了。

嗯嗯!都会更好的~干杯

就是呀!彼此彼此,共勉

补充1个door dash的面经,非常神奇

电面:unique path
sqrt(x) with precision
我写的不太顺利,小哥说我给你写一个吧!然后他信心满满的,写了一个死循环!剩下的时间就一直在调试,到最后他都没调出来。感觉像是我在面试他。。。。然后小哥说compiler坏了!我说好吧哥哥。
写完了,4点了,小哥说虽然我们没有按时开始,但是我们按时结束啦!
然后就结束了,也不知道会不会有onsite

鸡汤干了,恭喜楼主

#include <iostream>
#include <vector>
using namespace std;
class solution{
public:
        vector<int>gethouse(vector<int>arr){
                int f, s;
                vector<int>first;
                vector<int>second;

                f=arr[0];//2
                first.push_back(0);//0

                if(arr[0] > arr[1]){
                        s=arr[0];//2
                        second.push_back(0);//0
                }
                else{
                        s=arr[1];
                        second.push_back(1);
                }

                for(int i=2; i < arr.size(); i++){
                        if(i % 2 ==0){
                                if(f + arr > s){
                                        f+=arr;
                                        first.push_back(i);
                                }
                                else{
                                        f=s;
                                        first=second;
                                }
                        }
                        else{
                                if(s + arr > f){
                                        s+=arr;
                                        second.push_back(i);
                                }
                                else{
                                        s=f;
                                        second=first;
                                }
                        }
                }
                return f > s ? first : second;

        }
};
int main(){
        solution ss;
        vector<int>house={2,1,3,13,17};
        vector<int>res=ss.gethouse(house);
        for(auto r : res)cout << r << " ";

}