旧金山的 4 线大数据公司视频面试

面试经验: 今天下午视频面试一个旧金山的 4 线大数据公司. 一道系统设计, 一道算法题目.
**
系统设计: 场景问题. 从数据仓库下载用户产品推荐信息, csv, 每天加载到本地数据库, enrich 订单确认邮件, 下单后五分钟内发送邮件.
如果一天有 五千万订单邮件, 怎么办?
如果新用户不在 用户产品推荐信息 csv, 怎么办? 都是一些开放的问题.
**
算法题目: 把数组转换成 BST. 要求用 Scala 写.  题板用的是 hackerrank.com/paper
我现场 5 分钟用 Python 完成, 有一个臭虫, 没有处理只有左子树的情况. 面试官很满意, 说是一年来最好的解答, 代码直击本质.
家庭作业, 用 Scala 完成 preorder 数组构建 BST; 外加一道正方形矩阵 90 度旋转, 也必须用 Scala 完成.
周日之前做好, 就给我 onsite 面试.

 

**

preorder array 构建 BST, 咱的 Scala 版本.

https://slack-files.com/TD4TS3ALA-FJMQR09PG-1992fee5fe

https://scastie.scala-lang.org/goodgoodwish/FfKZIvy4T6av2r1zBY9wGg/8

 

Construct BST from pre-order array

Time: O(nlogn), Space: O(logn)
https://scalafiddle.io/sf/sW49RHD/11

Time: O(nlogn), Space: O(nlogn)
https://scalafiddle.io/sf/sW49RHD/7

Rotate 2D Matrix.
https://scalafiddle.io/sf/WomxVdn/5

 

== 

Q&A.

Q: 旧金山4线是什么感念?

A: 感觉待遇和技术栈比西雅图 5 线公司强一些. 哈哈哈
咱刚刚进了西雅图 5 线公司.

 

.

posted @ 2019-05-09 07:46  木匠_Charlie  阅读(233)  评论(0编辑  收藏  举报