【生活质量系列】评测几款用过的咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

坐标湾区
DreamCraft创始团队
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
前Google华人高管创立
面试offer一键直通
Leap.ai助你进入热门独角兽
查看: 1484|回复: 28
收起左侧

狗家虾图昂赛

[复制链接] |试试Instant~
我的人缘0
ydyfeatherlet 发表于 2018-7-2 05:29:14 | 显示全部楼层 |阅读模式
本楼: 【顶】   100% (3)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩

2018(4-6月) 码农类General 硕士 全职@Google - 猎头 - Onsite  | Other | fresh grad应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
四轮都不是我见过的面筋或者原题,但是讲真的面试体验真的挺好的,每个人都很友好,然后每道题都是会先给你一个场景,然后到题目,让你感觉每道题都有意义的感觉。

. 围观我们@1point 3 acres第一轮:给你一个棋盘,上面每格可以放几种颜色。现在已知棋盘填满了,让你判断是不是同一种颜色一定是挨着彼此的(其实就是一定在一个连通分量里面),输入棋盘,输出true or false。由于你只有一个棋盘,所以首先要判断下有多少种颜色。
第二轮:我是面的Java,给你一个定义好的callable 借口,让你使用他,给你data,去尝试try这个data,如果成功就抛出成功的callable,如果失败就throw 异常,并且继续try直到try的次数达到上线。(其实主要是就是try except的基本结构,我当时完全不知道callable是什么,在他的解释下硬着头皮写,最后居然跟我说我写的reasonable)。这个写完以后又给我出了几道BST的基本操作题。
第三轮:给一个骆驼拼写法的string,比如AppleBanana,模式匹配的话,可以匹配AB,ApBana,AppBa。。。。总之就是matching pattern必须是每个开头大写的单词的前缀组成的,给这样的s以及p看看他们是否match。follow up是如果有很多多很多的string,然后要多次判断新的p是否match,你想怎么存储那些string比较好
第四轮:压缩字符串:给你比如abcabeabfabc,连续的两个字母是一对,把ab—》X,那么可以写成XcXeXfXc,接下来最多的对是Xc,那么Xc--》Y,那么就成了YXeXfY,接下来没有重复的对了,就结束。要求实现这种变化,同时要记录变化过程,以后还可以变回去。
follow up是,怎么优化,尽量减少重复处理的地方。

本人每轮都答的差强人意,基本都是直观写法,所以欢迎地里大神来一起讨论解法。第四题,我就是直观写一个大loop里keep一个hashmap记录每个pair的数量,然后每次替换最多的,直到每格pair都出现一次的时候break。然后优化完全不知道怎么做,想了各种方法感觉都达不到效果。但是当时能意识到,如果上面的例子,我在处理ab的时候,剩下的部分没有必要重复被遍历。面试官各种提醒,但是场面还是一度非常尴尬,面试结果他告诉我,把ab替换成X的时候,把X放在a的位置上,b就换成特殊字符,同时,每个pair分别用list记录自己的起始位置,替换一个pair的时候同时更新它左右的pair的情况……反正这轮是肯定跪了。
面完试就是感觉,自己还是很有差距的,所以只能继续努力, 也期望跟其他还在奋斗中的小伙伴一起加油……

评分

参与人数 9大米 +39 收起 理由
liweiheng + 5 给你点个赞!
chiaki + 3 很有用的信息!
davidxk23 + 3 给你点个赞!
konve123 + 5 很有用的信息!
chillin1017 + 3 很有用的信息!
reliveinfire + 5 很有用的信息!
oceanator + 5 很有用的信息!
idatascience + 5 给你点个赞!
rocketdive + 5 很有用的信息!

查看全部评分


上一篇:脸昂赛
下一篇:哑痲 OA

本帖被以下淘专辑推荐:

我的人缘0
kyislee 发表于 2018-7-2 05:49:27 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (1)
 
 
0% (0)  踩
码 祝楼主好运
回复

使用道具 举报

我的人缘1
idatascience 发表于 2018-7-2 06:04:03 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  85% (320)
 
 
14% (54)  踩
多谢楼主分享~第四题想clarify一下,每两个连续的字母是一对,是一定要求第一个和第二个, 第三个和第四个还是说第二个和第三个也能被认为是一对?比如你例子里的可以consider bc作为一个pair么?
回复

使用道具 举报

我的人缘0
 楼主| ydyfeatherlet 发表于 2018-7-2 06:13:51 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩
idatascience 发表于 2018-7-2 06:04 来源一亩.三分地论坛.
多谢楼主分享~第四题想clarify一下,每两个连续的字母是一对,是一定要求第一个和第二个, 第三个和第四个 ...

第一个和第二个,第二个和第三个都算一对,比如abcde,pair就有ab bc cd de

评分

参与人数 1大米 +5 收起 理由
idatascience + 5 给你点个赞!

查看全部评分

21.000+ students read the Road to learn React. The course weaves all the opinionated roadmaps into one roadmap to master React. It gives you all the fundamentals in React. You will build a Hacker News App along the way.

回复

使用道具 举报

我的人缘1
idatascience 发表于 2018-7-2 06:35:57 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  85% (320)
 
 
14% (54)  踩
ydyfeatherlet 发表于 2018-7-2 06:13
第一个和第二个,第二个和第三个都算一对,比如abcde,pair就有ab bc cd de

pair guaranteed一定是两个不同的字母么?我在想一个例子,比如aaaaa,如果挨个看过去pairs分别是aa,aa,aa,aa,好像有4个aa的pairs,但是其实如果真的要替换的话,只能替换两个pairs,即XaX或者aXX或者XXa

补充内容 (2018-7-2 08:06):
如果是不同的字母,那么计算pair的数量只要for i in range(0, len(s)-1) 然后count每个s[i:i+2]就可以了,如果还可以是相同的字母的话,那就不能这样count了。
回复

使用道具 举报

我的人缘0
一条会飞的鱼 发表于 2018-7-2 06:36:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  88% (16)
 
 
11% (2)  踩
多谢楼主分享,请问面试地点是可以选择的么?还是必须要申请西雅图岗位才可以去西雅图面试?
回复

使用道具 举报

我的人缘0
xiaoling99 发表于 2018-7-2 06:58:15 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (2)
 
 
0% (0)  踩
谢谢楼主分享!祝楼主拿到offer!
回复

使用道具 举报

我的人缘0
 楼主| ydyfeatherlet 发表于 2018-7-2 08:58:59 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩
idatascience 发表于 2018-7-2 06:35 来源一亩.三分地论坛.
pair guaranteed一定是两个不同的字母么?我在想一个例子,比如aaaaa,如果挨个看过去pairs分别是aa,aa ...

没有这么复杂,就是按着顺序来compress,比如aaaaa,那么就会是XXa。

评分

参与人数 1大米 +5 收起 理由
idatascience + 5 很有用的信息!

查看全部评分

回复

使用道具 举报

我的人缘0
 楼主| ydyfeatherlet 发表于 2018-7-2 08:59:23 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (26)
 
 
0% (0)  踩
一条会飞的鱼 发表于 2018-7-2 06:36
多谢楼主分享,请问面试地点是可以选择的么?还是必须要申请西雅图岗位才可以去西雅图面试?

我是申请去虾图的岗位,所以给我安排的虾图
回复

使用道具 举报

我的人缘1
idatascience 发表于 2018-7-2 21:56:31 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  85% (320)
 
 
14% (54)  踩
ydyfeatherlet 发表于 2018-7-2 08:58
没有这么复杂,就是按着顺序来compress,比如aaaaa,那么就会是XXa。

多谢楼主,还想请教楼主一个很弱的问题。
你在count相同的pairs,下面这种做法可以么?. 围观我们@1point 3 acres
pair_cnt = {}

. From 1point 3acres bbsfor i in range(len(s) - 1):
    if i == 0 or (i > 0 and s[i:i+2] != s[i-1:i+1]):   
    #   这里的不等于主要是用来排除像aaaaa这样的例子中,第一个和第二个a所组成的aa 与 第二个和第三个a所组成的aa不用都被count。
        if s[i:i+2] not in pair_cnt:
            pair_cnt[s[i:i+2]] = 1
        else:
            pair_cnt[s[i:i+2]] += 1

Learn React.js, Redux & Immutable.js while building a weather app

回复

使用道具 举报

我的人缘0
chillin1017 发表于 2018-7-2 22:13:04 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  82% (19)
 
 
17% (4)  踩
第三题我面奇优普的时候好像做过一个相似的 分享一个思路 当时面试官引导我的方向是把Apple写成一个Node 里面存initial和lower case letters和compare method 然后我用的linked list存nodes做dfs-google 1point3acres
. 一亩-三分-地,独家发布
补充内容 (2018-7-2 22:15):.留学论坛-一亩-三分地
第一题并查集?
回复

使用道具 举报

我的人缘0
gouxiyuan 发表于 2018-7-2 23:47:21 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (35)
 
 
0% (0)  踩
说说我的想法
1.dfs,用一个hashset记录已经访问获得颜色。或者union-find.
3.follow-up 把所有的string分隔开然后保存到多个Trie里,比如AppleBanana和CatDog,Apple和Cat进一个Trie, Banana和Dog进第二个Trie。让后让p挨个匹配每个trie。
4.如面试官所说,可以维持一个PriorityQueue,(另有一个Hashmap表示各组合数量),每次取数量最多的,更新数量HashMap。

评分

参与人数 3大米 +15 收起 理由
570468837 + 5 很有用的信息!
oceanator + 5 很有用的信息!
idatascience + 5 很有用的信息!

查看全部评分

回复

使用道具 举报

我的人缘1
idatascience 发表于 2018-7-3 00:31:08 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  85% (320)
 
 
14% (54)  踩
gouxiyuan 发表于 2018-7-2 23:47. visit 1point3acres for more.
说说我的想法
1.dfs,用一个hashset记录已经访问获得颜色。或者union-find.
3.follow-up 把所有的string ...
. more info on 1point3acres
多谢分享~想问一下,第四题,因为第一步压缩之后会影响后面的压缩选择,比如楼主例子里的abcabeabfabc,第一次遍历count pairs得到的PQ是:‘ab': 4, 'bc':2, 'ca':1, 'be':1, 'ea':1, 'bf':1, 'fa':1。选择ab做替换之后,seq变成XcXeXfXc,影响到了其他的pairs,这一步楼主考虑如何做可以用到第一遍遍历的结果,即不用再次遍历更新后的seq,就可以直接判断第二个frequent的pair是哪个呢?
回复

使用道具 举报

我的人缘0
penggeqiang 发表于 2018-7-3 00:45:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  89% (79)
 
 
10% (9)  踩
第三题可以用Trie吧,每个节点加一个字段,指向下一个大写字母。
回复

使用道具 举报

我的人缘0
penggeqiang 发表于 2018-7-3 00:48:05 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  89% (79)
 
 
10% (9)  踩
第一题用一个set存放已访问的颜色,一个set存相邻但不同的颜色,dfs到没有颜色相同的后,回到头bfs。
回复

使用道具 举报

我的人缘0
limengtz 发表于 2018-7-3 00:57:12 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  94% (36)
 
 
5% (2)  踩
gouxiyuan 发表于 2018-7-2 23:47
说说我的想法
1.dfs,用一个hashset记录已经访问获得颜色。或者union-find.
3.follow-up 把所有的string ...

第四题思路应该是这样,但写起来很麻烦吧,priorityqueue没错,但怎么做到在更新pair的时候同时更新priorityqueue
回复

使用道具 举报

我的人缘0
gouxiyuan 发表于 2018-7-3 08:20:18 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (35)
 
 
0% (0)  踩
idatascience 发表于 2018-7-3 00:31. 留学申请论坛-一亩三分地
多谢分享~想问一下,第四题,因为第一步压缩之后会影响后面的压缩选择,比如楼主例子里的abcabeabfabc, ...

每次替换,被替换的单词的左右邻居同样也会改变。可以再遍历一次,挑出左右邻居(比重新数所有的词快)。也可以不用数量HashMap,用一个HashMap<String, Set<Integer>> list记录每个组合出现的坐标,其Set的size自然是数量。每次替换时,遍历其set用这些坐标处理左右邻居,从他们的set中删除。删除O(1)
回复

使用道具 举报

我的人缘0
gouxiyuan 发表于 2018-7-3 08:21:04 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (35)
 
 
0% (0)  踩
limengtz 发表于 2018-7-3 00:57
第四题思路应该是这样,但写起来很麻烦吧,priorityqueue没错,但怎么做到在更新pair的时候同时更新prior ...

不用更新PQ,只需更新记录数量的map
回复

使用道具 举报

我的人缘0
gouxiyuan 发表于 2018-7-3 08:22:29 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (35)
 
 
0% (0)  踩
我也可以尝试po一下第四题代码给大家分享

评分

参与人数 1大米 +5 收起 理由
idatascience + 5 给你点个赞!

查看全部评分

回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

GMT+8, 2018-9-24 06:08

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表