一亩三分地论坛

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

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

Yelp 技术电面

[复制链接] |试试Instant~ |关注本帖
chw 发表于 2016-7-18 04:45:38 | 显示全部楼层 |阅读模式

2016(4-6月) 分析|数据科学类 博士 全职@Yelp - 网上海投 - 技术电面 |Failfresh grad应届毕业生

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

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

x
Data Engineer position. 1point3acres.com/bbs
. 1point 3acres 璁哄潧
电面45分钟 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

Input 2D平面四个点  第一问判断是不是一个square
. Waral 鍗氬鏈夋洿澶氭枃绔,
不一定要跟x轴 y轴平行 (Square 可以旋转)

代码大致上像是:. From 1point 3acres bbs

struct Point {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  double x, y;
  Point(double x_, double y_) : x(x_), y(y_) {}
};

bool isSquare(const vector<Point>& points) {
...
}
.鏈枃鍘熷垱鑷1point3acres璁哄潧
- - - - - -

第二问 是 return 四个点围成的形状:
"rectangle", "square", "diamond", “parallelogram",. ...

一开始閒聊花太长时间了 最后没有写完
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
隔天被HR发信拒了
. Waral 鍗氬鏈夋洿澶氭枃绔,
求blessed! 求大米

. Waral 鍗氬鏈夋洿澶氭枃绔,

评分

2

查看全部评分

readman 发表于 2016-7-18 07:26:56 | 显示全部楼层
额...计算几何.. 楼主节哀..
回复 支持 反对

使用道具 举报

Fustang 发表于 2016-7-18 21:30:01 | 显示全部楼层
把四个点(A, B, C, D)连起来组成凸图(每个点的degree为2) 好像一共有3种可能?. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
1: A-B-C-D-A
. Waral 鍗氬鏈夋洿澶氭枃绔,2: A-B-D-C-A
3: A-C-B-D-A. Waral 鍗氬鏈夋洿澶氭枃绔,
(都是双向图; A-D- 类型的可以被1和3反过来实现)
然后对每种情况做测试.鏈枃鍘熷垱鑷1point3acres璁哄潧
平行用斜率;垂直用点乘;然后边长测试

不过感觉挺麻烦...有更数学的办法吗?
回复 支持 反对

使用道具 举报

Fustang 发表于 2016-7-18 21:32:05 | 显示全部楼层
另外请问yelp有data engineer的职位吗?好像只看到过data scientist和software engineer有opening。。。
回复 支持 反对

使用道具 举报

 楼主| chw 发表于 2016-7-18 23:00:06 | 显示全部楼层
Sorry for the typo. Software Engineer position.
回复 支持 反对

使用道具 举报

readman 发表于 2016-7-18 23:04:30 | 显示全部楼层
Fustang 发表于 2016-7-18 21:30
把四个点(A, B, C, D)连起来组成凸图(每个点的degree为2) 好像一共有3种可能?
1: A-B-C-D-A
2: A-B-D- ...

问题是, 你怎么知道他们一定能凸嘚...
回复 支持 反对

使用道具 举报

Fustang 发表于 2016-7-18 23:46:07 | 显示全部楼层
readman 发表于 2016-7-18 23:04
问题是, 你怎么知道他们一定能凸嘚...

确切说只是图的构成(每个vertex有两个degree)看着有三种排列方式。后面check平行和垂直就知道是不是凸的了
回复 支持 反对

使用道具 举报

caoyi 发表于 2016-7-18 23:55:28 | 显示全部楼层
第二问, 楼主可以在说清楚点么? 第二问四个点还可以旋转么, 如果不一定和x, y平行,那么怎么区分四条边相等的 diamond和square的区别
回复 支持 反对

使用道具 举报

handsomecool 发表于 2016-7-19 02:56:22 | 显示全部楼层
好像不用那么复杂,四个点我们可以得到C(4,2) = 6 条边。然后只要看看他们的长度关系就好,要是算角度就麻烦了。-google 1point3acres
先把6条边sort一下后面代码好写很多:

正方形:四个短边相等,两个长边彼此相等,并且长边刚好等于sqrt(2)*短边
菱形: 同正方形,但是不用符合根号二那个要求
长方形:边的长度两两相等,最长边的平方等于最短边和次短边的平方和
平行四边形: 同长方形,但不用符合平方和那个要求

几何忘的差不多了,大家看看有反例么?

. 1point 3acres 璁哄潧

回复 支持 反对

使用道具 举报

qiu_cqupt 发表于 2016-10-18 09:16:27 | 显示全部楼层
patpat面到这道题 我也坨坨挂。感觉楼主被黑了!
回复 支持 反对

使用道具 举报

janicewang 发表于 2016-11-8 02:34:05 | 显示全部楼层
http://softwareengineering.stackexchange.com/questions/176938/how-to-check-if-4-points-form-a-square. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

没见过的非常规题在正式面试的时候真的蛮难一下子想出来的...
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-9 17:56

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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