PillPack Onsite 5 个小时

现在找 OnSite 面试时间都这么长了吗?

经历几次都是 5 – 6 个小时的。不多废话,PillPack 的面谈内容吧。

本人主要是 Java ,他们招聘的岗位说是 Sr Developer and Manager。在面试进行到 3 个小时的时候,他们突然提出了使用的技术栈不是 Java,他们使用的 Ruby and Rails。当时就蒙圈了,折腾了 4 个多小时讨论的完全不是一个技术栈的东西,虽然本人并不拒绝学习,但是这个差得还是有点远。

他们希望构建新的 API 系统和相关平台。本人只有 Jersey 的经验,只能拿 Java 掰了。

下面是完全的面试过程:

第一轮:介绍公司概况,这个也没啥说的,就是公司的大致架构,产品线。因为是新成立的公司,公司的面试说是 Amazon 组织负责的,但是感觉和 Amazon 关系不大。可能 Amazon 从面试中要获得一些反馈吧。至于面试结果,他们只会告诉你给你 Offer 或者不给。不会给你面试的评价和问题。这个在这里就明确表达清楚了。

第二轮:算法和介绍。这里不要求你写出实际的代码,题目是俄罗斯方块,你怎么用数据模型表示。
在这里,我采取的方法是先定义可能出现的各种可能性,使用的是 二维数组。
在这里需要定义一个功能就是翻转,有些下落的方块可能会出现翻转成不同的形状,那么你定义列表就变了。
所有可能的情况,我会存储到一个 HashMap 中,Key 使用的是 [email protected],Value 存储的是二维数组。如果 [email protected] 翻转后还有其他图形的话,你可以在存储一个 key [email protected] ,这个表示翻转以后的情况。当然这个可能不是最优的情况。
后面,我需要一个List,这个 List 中存储了 10 列的 List。在这里你需要根据 Map 中存储的二维数组,下落后插入到 List 中。
在插入完成后,遍历上层 List 确定所有的子 List 中有值 1 ,以便于消除。

第三轮:让你设计一个 POST 和 评论 点赞的平台,并且根据你的设计,设计一个 API
这个应该来说还是不是很复杂的,主要是你数据库中表格怎么设计,在评论载入的时候,会有评论嵌套评论的方式,你可能在设计表的时候要设计一个主重键。
基本上来说,这个就是数据库的设计,API 很多时候还是根据你数据结构进行数据调用的,基本上数据库设计好了,API 和 UI 怎么设计都没有什么太多问题。
这里我就基本上按照通用的设计方式设计表就 OK 了。

第四轮:职场行为交谈
一个小姑娘,主要询问下你在职场中人和人怎么相处。你有什么值得介绍的。如果和同事冲突了怎么办,你是否和同事冲突过,这些问题。并且希望你能够具体举例说明下你遇到的问题。这个只要是正常的都应该不会有太多问题的。

第五轮:雇用经理
在这里的问题比较多。同时他也问了一个算法题,就是数组中嵌套数组,考察一个数组[1,2,[3],[[4]],5,6]。 你怎么能够输出 1,2,3,4,5,6(并不要求按照顺序输出)。
不清楚其他语言中这个数据结构怎么存储,我假设的是在 Java 中存储的对象。
可以采用队列的方式来实现,例如,在 Java 中存储了整数,1, 2, 对象,[3] 为一个数组对象。
你可以先遍历一次 List,将所有的 List 的对象都压入队列中,然后进行出队。
在出队时候,判断对象是否为整数对象,如果是整数对象,就输出,如果不是整数对象,然后将数组对象继续进行遍历,然后压入队列,然后再出队。
在这里讨论的问题比较多,还有 [[[2]5]] 这种多层嵌套的问题。

我不认为我的解答是最好的方案,但是至少能够提供一个解题思路吧。

您可以在保留原文链接的情况下转载:HoneyMoose » PillPack Onsite 5 个小时

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏