面试经验: 今天下午视频面试一个旧金山的 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 线公司.
.