药铺昂赛面筋总结(持续更新)

  1. (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: 如果有环怎么办?先检测到是否有环存在,之后应该输出什么(跟面试官讨论)?
  1. (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之类的问题了。
  1. (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

  1. 2019 3月
  • label SCC; 只不过这个题比较简化,每个node只能连一个其他node,类似单链表;之前还问了一些BQ
  • 问了一些BQ,然后问你GC的原理; 我写cpp的,说实话,都是自己擦屁股…然后问了一道算法,设计一个data structure来 做rate limiter
  • 问了一些BQ,然后谈项目,问设计一个搜索引擎;最后问了个level order traversal的题,忘了怎么包装的了
  • 问了一些BQ,然后谈项目,最后问的题忘了,是个dp,中等难度,常规;小哥非常的友善
  1. 2018年 1月-3月
  • 白人小哥 longest substring without repeating char
  • 白胖子 system design 给一个location求附近一公里内的餐馆地址
  • 亚裔冷漠脸 system design 给一个餐馆location求附近的公交站以及routes
  • 和善三哥 2sum 3sum with duplicates
  1. 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码表示呢

  1. 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 性价比不错
1 Like

感谢楼主,辛苦辛苦

报个onsite过经

两轮电面都不难,具体记不清了,会CS基础和刷过LC medium相信不会有问题。
现场4轮。两轮半算法,一轮设计,半轮problem solving.
第一轮:一上来就没头没脑问我怎么提高数据库查询效率。我不大用数据库的,瞬间被问蒙了。定了定神,想无非不就是索引和cache这些万金油吗。接下来问知道index怎么实现的?答B-tree,hash table。。。还好没继续问下去。开始做题:LRU cache。
第二轮:一些conference里talk会有重复。给你一张个talk的时间表,怎么安排既没有冲突,又能听到尽量长时间的talk。我用的DFS。follow-up: 假如有些talk特别重要必须参加呢?
第三轮:设计一个系统,用户在搜比如“饭店”时,返回附近的饭店列表。按搜索热度降序排列。支持用户多关键词搜索,比如:“饭店”,“意大利”。
第四轮:why 药铺?分析可能导致网页慢的问题。coding是normalize Linux路径。

恭喜!请问你面的是什么组呀?