一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 554|回复: 13
收起左侧

狗实习加面

[复制链接] |试试Instant~ |关注本帖
ElaineAng 发表于 2017-12-7 12:55:52 | 显示全部楼层 |阅读模式

2018(7-9月) 码农类 硕士 实习@Google - 网上海投 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
今天下午的加面,刷题太少不知道是不是原题,但是题本身挺简单.... more info on 1point3acres.com
面试官小哥人很好,上来自我介绍,然后开始出题

C*R的2-D array,里面有R,G,B,Y四种类型的element,如果横竖没有三个element是同一类型的话,这个2-D array就是valid的
先让写个function判断一个2-D array是否valid.
follow up问了array太大怎么办,以及能不能parallel处理,不同的parallel处理的方式有哪些优劣

第二题问如何generate一个这样valid的2-D array, 分析不同generate方式的优劣
这个只说了思路没写代码
最后留了点时间问小哥问题
.鐣欏璁哄潧-涓浜-涓夊垎鍦
狗家战线长的让人心累...今天面到一半还火警警报器测试响了十多分钟...就跟小哥在巨大的噪音下努力交流.... 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
当时想着绝对 不能 再 reschedule了!【瘫

前几天拿到了Visa的intern offer,Foster City的 digital&mobile product组...秋招实习的第一个offer...【心累
不知道这个offer ddl之前能不能等到狗家的结果...另求知道这个组的大神说说情况?

求人品和大米...
祝大家一切顺利


补充内容 (2017-12-7 13:07):
*横竖没有三个相连的element是同一类型的话

评分

1

查看全部评分

get_bits 发表于 2017-12-7 13:36:49 来自手机 | 显示全部楼层
马克一下 谢谢楼主!
回复 支持 反对

使用道具 举报

YUANSHAO 发表于 2017-12-7 14:36:10 | 显示全部楼层
请问followup parallel怎么做的
回复 支持 反对

使用道具 举报

啊lch 发表于 7 天前 | 显示全部楼层
判断valid的话是直接都扫一遍就可以了吧,用dp吗,感觉复杂度好像没有差别。 parallel的话是先分判断不同子块儿的matrix,然后再判断子块儿相交的边界吗?求解答。
回复 支持 反对

使用道具 举报

 楼主| ElaineAng 发表于 7 天前 | 显示全部楼层
啊lch 发表于 2017-12-8 01:50. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
判断valid的话是直接都扫一遍就可以了吧,用dp吗,感觉复杂度好像没有差别。 parallel的话是先分判断不同子 ...

对的扫一遍就行,不用dp,时间复杂度没差别用dp还多空间...
parallel我刚开始给的是replicate original array,然后每个thread分别处理一种类型的element,因为如果先分别处理不同子块后处理交界的话communication overhead也会比较大而且会很复杂
后来讨论小哥问那就 每个thread处理offset by 1的会overlap的sub array,这样有什么问题?. From 1point 3acres bbs
我说thread的数量不好控制,如果有大于总core数量的threads不一定是件好事,因为scheduling还有overhead
回复 支持 反对

使用道具 举报

 楼主| ElaineAng 发表于 7 天前 | 显示全部楼层
YUANSHAO 发表于 2017-12-7 14:36
请问followup parallel怎么做的

我给的答案是replicate original array, 每个thread分别处理一种类型的element 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
具体我写在上一个回复里了
其实我们后来也没讨论出来究竟怎么样最好,只是分析了各种的优劣
我个人觉得这题不好parallel,有没有performance increase需要按照实际情况测...
回复 支持 反对

使用道具 举报

YUANSHAO 发表于 7 天前 | 显示全部楼层
ElaineAng 发表于 2017-12-8 05:53
我给的答案是replicate original array, 每个thread分别处理一种类型的element
具体我写在上一个回复里 ...

谢谢 那为什么每个thread要处理一种元素呢 处理一种和一块处理有什么不同吗
回复 支持 反对

使用道具 举报

 楼主| ElaineAng 发表于 7 天前 | 显示全部楼层
YUANSHAO 发表于 2017-12-8 06:03
谢谢 那为什么每个thread要处理一种元素呢 处理一种和一块处理有什么不同吗
. visit 1point3acres.com for more.
一种的话就是四个thread,不把array做切割,每个thread都要loop一遍array,如果不是自己需要处理的element就跳过...能稍微省点时间但是我觉得不是很significant...反应在big o上等于没有
回复 支持 反对

使用道具 举报

张欣 发表于 7 天前 | 显示全部楼层
啊lch 发表于 2017-12-8 01:50
判断valid的话是直接都扫一遍就可以了吧,用dp吗,感觉复杂度好像没有差别。 parallel的话是先分判断不同子 ...

请问扫一遍是指每一行扫一遍 再每一列扫一遍吗?还是有不这么暴力的扫法?感谢
回复 支持 反对

使用道具 举报

YUANSHAO 发表于 7 天前 | 显示全部楼层
ElaineAng 发表于 2017-12-8 06:21
一种的话就是四个thread,不把array做切割,每个thread都要loop一遍array,如果不是自己需要处理的elemen ...

谢谢 那像面试官说的一样 划分成子矩阵 子矩阵之间有overlap  其实也可以最后不进行通信
回复 支持 反对

使用道具 举报

 楼主| ElaineAng 发表于 7 天前 | 显示全部楼层
张欣 发表于 2017-12-8 06:59
请问扫一遍是指每一行扫一遍 再每一列扫一遍吗?还是有不这么暴力的扫法?感谢

扫每一行就行了,对于每个元素查它的上上和左左 (其实都一样(雾
回复 支持 反对

使用道具 举报

 楼主| ElaineAng 发表于 7 天前 | 显示全部楼层
YUANSHAO 发表于 2017-12-8 07:19
谢谢 那像面试官说的一样 划分成子矩阵 子矩阵之间有overlap  其实也可以最后不进行通信
. 1point 3acres 璁哄潧
对的可以不通信 但是我跟小哥说的是那样thread数量不好控制
回复 支持 反对

使用道具 举报

jioscar 发表于 7 天前 | 显示全部楼层
想问下楼主什么时候通知加面的啊?
回复 支持 反对

使用道具 举报

 楼主| ElaineAng 发表于 7 天前 | 显示全部楼层
jioscar 发表于 2017-12-8 12:35
想问下楼主什么时候通知加面的啊?

店面完一个小时就通知了加面...然而约个时间约了两周多
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-12-15 14:39

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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