持续更新:Onsite – Yelp面经来啦

原帖地址:一亩三分地

感动于地里童鞋们的支持,楼主今天刚刚结束了在 Yelp 的 Onsite, 过不过不知道,但是回馈大家是一定要的!
— 先见了HR,一起吃饭一起听比较无聊的讲座,好吧他们貌似觉得挺有趣的,但是我是天生不能专注听课星人—
———————————————————- 然后开始面试 —————————————————————
(1)美国小哥,面善,健谈
why yelp ? 果然问了!
谈project, 谈趣点
what’s the reason a page is loading slow? How can we improve?
coding: business id那道题,之前有人po过的,给你一个字符串小写的带数字,比如 asd7d2c,在所有字母大小写组合的可能性中,返回所有是valid的 id,没啥难度,但是已经是一天里最有难度的题了T^T

(2)棕色小哥,面善,不健谈
why yelp ? 又问!
谈 project,谈难点
how will you want to improve yelp? 我说的都是用户体验
coding: given a text file, print them out line by line in a random order

(3)美国小叔,面不善不恶,健谈
why yelp ? 还问!!
谈project, 谈印象深刻
pick two languages you are comfortable with, talk about their difference. (选了 C++ and Java 因为经常与人议论)
system design : a lirabry database system that has entity Book and Reader, 要调查某个读者度过的所有书,或所有读过某本书的读者,如何设计?于是设计了新的entity Log
follow up (1) 如果一个读者反复读了很多次书呢?(要unique pair)
follow up (2) 如果要获得读者读书的时间的记录呢?(多一个属性)
follow up (3) 要查看一个读者读一本书的所有记录?(时间,读者,书 三个的组合要unique)
coding: 给一个数组,一个target, 返回所有加起来sum是target的pair,不重复。好吧这题算碾压,因为leetcode随便一个3sum, 4sum都能做了,这个只是其中的一部分

(4)美国大叔,面不善不恶,不健谈
why yelp ? 问了四遍啊!!!
谈project, 谈细节,谈优化,谈设想
问了一个蛮蠢的问题,过一个文件,打其中一行,求复杂度?我很莫名,说过一遍是O(n), 打一行是O(1)。大叔居然执着地问一句:所以总共的复杂度是?丫的看不起我个子矮呢(>_<) coding 1: 给个文件,读一遍以后把每行以 string 形式存在 array 中,随机打出所有 coding 2: 给个文件,能 O(1) 返回文件长度,以及某个位置的数据,要求随机打出一行。 这题就是用文件长度随机定点,然后移动坐标找到 ‘\n’ 也就是前一行的行末,打到本行的行末。 缺陷呢?每行长短不同会引起被选中的概率不同。 好处呢?时间空间复杂度都低 有什么问题需要补充的尽管问哟!记得的我都会详细说 😀 大家一起加油!