- (2019年7-9月)四轮,每一轮的内容随机选择。
- 第一轮系统设计,设计一个Service,展示每个 restaurant 的 health score。health score 的 data 是从 government那里fetch,要设计出 client 和 yelp, yelp 和 government 之间数据传输通信的结构。
- 第二轮tech lead bq,
- 人生的 passion 和爱好。
- challenging project,
- failure in your project,要说得比较具体。
- 第三轮bq。
- eam work example?
- how do you deal with conflict?
- do you have any mentorship experience?
- What is the most important thing you have learned from your mentor / professor?
- 第四轮coding。
- Given String[][] clicks, String startPoint
- Return String destination
- 根据一些random 用户访问路径,返回用户最终停在那个页面。比如 { {homePage, homeCleaning}, {restaurant, pizza}, {homeCleaning, restaurant} }, startPoint 是 homePage, 就应该return pizza.
- follow up: 如果有环怎么办?先检测到是否有环存在,之后应该输出什么(跟面试官讨论)?
- (2017年7-9月)
-
第一轮:忘记了。。。
-
第二轮:
- bq介绍一次conflict
- 实现一个load balancer,轻量级,load balancer没法知道server load,只会提供一些server的性能信息,比如某台机器同时能处理的任务是另一台机器的几倍之类的。然后在最后要求写一个unit test来测试功能。
-
第三轮:
- ood。要求实现yelp上的一个功能:给出一个餐馆的地址,得到离餐馆最近的地铁站,并且列出经过这个地铁站的地铁线路有哪些。给的数据像是从 google map 上抓到的trip信息,某个人坐了哪条地铁线,他的终点站是哪一站。要求以这些数据为输入,实现这个功能,并且能以类似 jira 上 task 的形式列出你的实现计划。在这个过程中还问到了如何存储你的数据,mysql 的 spatial index 是什么原理(解释 R-tree ),然后在白班上把 class 的 signature 都写出来,最后在电脑上实现处理原始数据的过程。
-
第四轮:
- python写mapReduce。首先问我了不了解,我举了个word count的例子。然后要求用python来实现这个例子。题目要求写 mapReduce 来实现广告曝光量和点击量的比例统计,首先是要得到每个广告的结果,follow up 是要同时得到所有广告的结果。
- 每轮面试的开头都会选简历上的一个项目来聊,不过没有人再问 why yelp之类的问题了。
- (2018年4-6月)iOS昂赛
- 第一轮:问了很多BQ,why yelp,项目等
- 蠡口一
- 蠡口伞思姨变形,对象是他们项目的review,secion等。
- 第二轮:
- 问了很多iOS的基础问题,protocol,extension,class,struct等
- 题目考了一道基础的dictionary变形
- follow up 是蠡口巴士
- 第三轮:
- 问了很多iOS高阶问题,一开始问了些swift语法
- 然后GCD,发送network请求的细节,delegate,observer,closure,image caching,mvvm等
- 题目一开始是基础题,follow up 蠡口而散吧,明确要求O(n)
- 第四轮:
-
经理BQ:
- why yelp
- 项目最难的地方,扣了很多细节,怎么一步一步解决的,有没有借助别人的帮忙,也问了为什么要别人帮忙
- 简历别的项目
- 个人经历等等
- 为什么要跳槽
- 是否因为公司或工作上发生了什么你要跳槽
- 如何评价现在的经理和lead
- 如何评价同事
- 同事和经历如何评价你
- 你做过什么贡献让同事很自豪
- 有什么同事做的贡献你很自豪
- 如果你离开公司你会miss什么
-
coding: 蠡口伞思姨变形,用了generics,给你input是两个迭代器 follow up问了若干个迭代器。
-
另附上一个复习总结贴:https://docs.google.com/document/d/1aAjhF0DNYz1TOBI8Fopg0E12FBLKZx2UK9mnq_jw4Ec/edit
4.(2017年7-9月)
-
第一轮 一个四十多岁的Manager,挺和蔼的,带了个三哥旁听。先介绍了一下自己,说他在yelp了三年多balabala,问了why yelp,然后 把我project问了很多,问的比较详细。 还问了我毕业到现在在干什么(我今年五月毕业的)。
-
Coding:(白板) 1.关于fibonacci, 让我写一个没有input的method, 每次call返回下一个fibo的值。和他讨论了一些corner case,和一些细节问 题。写完了他又让写个test case,就写了个main函数,又和他讨论了一下一些细节性的东西。
-
之后还有一些时间,他问了我都学了什么课程(我是非cs的相关专业,其中有算法课),他就问我学没学dp,我给他说最近我一直在 自己学算法,他出了个题说讨论一下:
-
2.题目是Largest SubArray Sum,给他讲清楚了自己的思路和算法细节。之后给他说了下可以优化空间到O1,他也没让写代码。 最后几分钟问了几个问题。
-
第二轮: 一个亚洲小哥哥,伯克利的,工作了一年多。介绍完他自己,先开始Coding。 Coding:(白板) 给一个array, 遍历后返回除自己以外的其他数的乘积的array。(e.g. 1,2,3,4,5 —> 120, 60, 40, 30, 24) 和他确认了input中没有0且不会integer overflow,答曰可以先算出整个的乘积,再遍历每次除自己得到最终结果。写好代码,他 问如果含有0会怎么样,探讨细节后把之前的代码继续完善。之后又问,还有其他方法吗,想了一会,他给了个小hint,想出dp方 法,和他探讨细节后没写具体代码。 之后聊了一些后端的东西,就不说太详细了,最后问他问题。
-
第三轮: 一个manager,介绍了自己,又问projects,聊了不少。 Coding:(白板) 不停给数字,找中位数,但是是返回中间k个。用min max heap + list 实现,先说明白了具体的过程,每次添加数字后发生的情况 的几种可能性(这里,其实之前做过,都比较清楚,但是他不让我一个人说,一定要带着我走一遍这个过程。。。 心好累)。之后 写代码,代码比较多,有个hyper function时间不够写不完了他就问了我具体这个是干什么的,讲清楚了后,问了他问题结束。
-
第四轮: Dave,之后看到几个电面都是他面的,题也一样。 问了我一些后端的问题,结合了简历上写的东西综合提问,还问了我mapreduce(简历上有hadoop)。
-
这一轮的Coding是我最莫名其妙的,不知道这个小哥到底想了解我什么。 在他的电脑上用codingpad,载入了一个yelp题库里的题。用map存了一些reviews,让我找特定餐馆含有特定字段的review。几 行代码写完了跑了让我优化一下,说了一个方法,也写出来了,也就几行代码。他让我比较两个方法,说了一些实现上的区别,他 又让结合具体yelp网页的一个实例,让我说说用户体验上的区别,这一块真的很混乱,不知道他具体想考我的是什么方面,聊了半 天不知道说没说到点子上。
-
最后问问题,再见。
-
结束后hr来问了一些例行问题就回家了。 ------------------------------------------------------------------------ [size=3]8月21面的,过了14天发的拒信。整个面试的题都很简单,看别人的onsite面经都比我的难,搞不太懂。
-
之前用这个doc准备了一下题目,但都没用到。自己随便写了一些思路想法,可以酌情参考。希望能帮到其他人。 链接: https://pan.baidu.com/s/1mi2z6xM 密码: q4we
- 2019 3月
- label SCC; 只不过这个题比较简化,每个node只能连一个其他node,类似单链表;之前还问了一些BQ
- 问了一些BQ,然后问你GC的原理; 我写cpp的,说实话,都是自己擦屁股…然后问了一道算法,设计一个data structure来 做rate limiter
- 问了一些BQ,然后谈项目,问设计一个搜索引擎;最后问了个level order traversal的题,忘了怎么包装的了
- 问了一些BQ,然后谈项目,最后问的题忘了,是个dp,中等难度,常规;小哥非常的友善
- 2018年 1月-3月
- 白人小哥 longest substring without repeating char
- 白胖子 system design 给一个location求附近一公里内的餐馆地址
- 亚裔冷漠脸 system design 给一个餐馆location求附近的公交站以及routes
- 和善三哥 2sum 3sum with duplicates
- 2015年 7-9月
-
第一轮. 美国小哥,先自我介绍一下,然后要我选择一个project,假定给一个非CS的朋友讲一下,还问了word count怎么用 mapreduce实现,接下来就是coding了, 给一个map, 里面包含了{“Monday” : 200 - 300, 500 - 700, 300 - 500, “Tuesday”, 300 - 500, 700 - 900 …}, 把value 里面重叠的部分合并,仍然输出一个map
-
第二轮. 亚裔小哥, 先自我介绍,简单聊了一下project,然后就是coding,给一个任意的binary tree, encode成string,再 decode成tree
-
第三轮. Manager, 先说一下enter yelp.com会发生什么,说了整个过程以后他会挑了一些具体的细节继续问,例如get 之后返回什 么之类的。 然后coding部分是toplogical 排序
-
第四轮. 美国小哥,先聊了一下project,然后就是coding,leetcode原题,Longest Substring Without Repeating Characters, follow up是如果一台机器的memory不够呢,再follow up就是如果用assii码表示呢
- 2015年4-6月
- onsite 面的是infrastructure team
- coding题: leetcode anagram
- leetcode sort version number的一个变种
- 用随机方法(monte carlo) 求Pi 怎么用mapreduce实现 (hadoop自带的example有)
- 给n个unique整数 实现一个iterator 每次next()返回从中随机抽取的k个不同的整数 不要求实现hasNext
- 系统设计和基础知识 设计一个load balancer 解释一个页面请求的全过程 解释java的垃圾回收机制 其他记不得了。。。
- 他家真心挺好的 挺想去的 比较geek那种 给的包裹也不差的 base比FLG高 后来出于其他因素 选了别家 但是真心推荐大家去面 bar略低于flg 性价比不错