一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1113|回复: 11
收起左侧

Tableau Phone Interview Round 1

[复制链接] |试试Instant~ |关注本帖
litieZhu 发表于 2015-12-31 13:25:20 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 本科 全职@Tableau - 网上海投 - 技术电面 |Passfresh grad应届毕业生

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

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

x
面试官是白人小哥 senior software engineer.

一开始他介绍了一下自己,然后问我喜欢什么方面。 第二个问题是为什么选择Tableau。. visit 1point3acres.com for more.
technical 问题是设计 minesweeper(扫雷):

并不是很难 只需要我写board class 和 click method。 player 一开始可以instantiate一个board,需要给予row,col,# of mine。click 这个method给予row 和 col,然后判断有没有踩到雷。两个情况:
1)踩到雷,游戏结束。
2)没踩到雷,两个情况:
  a)immediate adjacent (diagonals included) 有雷,需要告知有几颗雷
  b)附近没雷,把附近没雷的格子也都click

就问了一个问题 电面了一个小时,本以为让面试官hint了很多会没机会了 不过面试完几个小时后马上就收到recruiter的恭喜要进行下一轮。来回报一下地里。

几点注意:
1)如何populate gird with # mines。一开始我用rand来generate random coordinate,check是否已经有mine。面试官说worst case是forever,因为有可能会keep generating the same coordinate。就换成coordinate pool,从里面随机pop。
2)需要考虑到click过的coordinate不再被click,比如在2x2(0 mine)的grid里 如果recursively click 会导致infinity loop。. 1point3acres.com/bbs
3)recursively click附近的coordinate, excluding self,因为我用的是nested for loop,要skip被点的 self coordinate(3x3,and skip self),比如在 1x1(0 mine)的grid里,不在nested loop里skip self的话也会导致infinity loop。
4)如果点的corner,check adjacent coordinates不能越界。
5)面试官告诉我写for loop尽量避开 int i = 0这样命名variable,他说 readability很重要。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

大致就是这样啦!

评分

2

查看全部评分

eamon_felix4213 发表于 2015-12-31 13:30:25 | 显示全部楼层
请问楼主 电面以前申请的具体是哪一个 position呢. 不同position电面题一般都是考算法吗 感谢
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2015-12-31 13:36:34 | 显示全部楼层
面的position是software engineer(fresh grad 2016 spring),但刚才在官网上已经找不到了
回复 支持 反对

使用道具 举报

leixiang5 发表于 2015-12-31 13:56:06 | 显示全部楼层
目测楼主要onsite了。加油。
回复 支持 反对

使用道具 举报

JamesJi 发表于 2016-1-12 00:00:16 | 显示全部楼层
litieZhu 发表于 2015-12-31 00:36
面的position是software engineer(fresh grad 2016 spring),但刚才在官网上已经找不到了
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
楼主真幸运··我现在也没找到newGrad的title了··
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2016-1-12 00:19:14 | 显示全部楼层
JamesJi 发表于 2016-1-12 00:00
楼主真幸运··我现在也没找到newGrad的title了··

是啊。。我现在再去找 已经找不到了
回复 支持 反对

使用道具 举报

ssross 发表于 2016-2-1 09:13:54 | 显示全部楼层
“如何populate gird with # mines。一开始我用rand来generate random coordinate,check是否已经有mine。面试官说worst case是forever,因为有可能会keep generating the same coordinate。就换成coordinate pool,从里面随机pop。”

请问楼主什么叫换成coordinate pool然后从里面随机pop啊?能说detail一些吗?
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2016-2-1 09:18:24 | 显示全部楼层
ssross 发表于 2016-2-1 09:13
“如何populate gird with # mines。一开始我用rand来generate random coordinate,check是否已经有mine。 ...

简单的来说就是有一个set, 里面有全部的坐标. 当这轮需要n个地雷的时候, 就从这个set里面随机抽取n个不重复的坐标. 这些坐标就是有地雷的点了.
回复 支持 反对

使用道具 举报

ssross 发表于 2016-2-1 09:38:31 | 显示全部楼层
litieZhu 发表于 2016-2-1 09:18
简单的来说就是有一个set, 里面有全部的坐标. 当这轮需要n个地雷的时候, 就从这个set里面随机抽取n个不重 ...
. Waral 鍗氬鏈夋洿澶氭枃绔,
那请问要怎么从set里random去元素出来呢?我觉得用set不行吧?只能用Arraylist去存,然后randomly get index,然后从Arraylist里面remove掉,直到取了N个。
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2016-2-1 09:47:54 | 显示全部楼层
ssross 发表于 2016-2-1 09:38
那请问要怎么从set里random去元素出来呢?我觉得用set不行吧?只能用Arraylist去存,然后randomly get in ...

如何从这个set里rand出来就要看详细的implementation了. 的确, set不是最佳的. 我先前提及的set仅是因为这个container他必须没有重复的坐标. implementation的时候, 我同意你用arraylist这个data structure.
回复 支持 反对

使用道具 举报

ssross 发表于 2016-2-1 10:18:02 | 显示全部楼层
litieZhu 发表于 2016-2-1 09:47
如何从这个set里rand出来就要看详细的implementation了. 的确, set不是最佳的. 我先前提及的set仅是因为 ...

恩恩谢谢LZ哈!明天我也店面这家啦哈!
楼主后来又去onsite吗?
回复 支持 反对

使用道具 举报

 楼主| litieZhu 发表于 2016-2-1 10:18:57 | 显示全部楼层
ssross 发表于 2016-2-1 10:18
恩恩谢谢LZ哈!明天我也店面这家啦哈!. From 1point 3acres bbs
楼主后来又去onsite吗?

加油!我第二轮phone挂了。。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-5 06:29

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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