《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

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

脸家昂赛特

[复制链接] |试试Instant~ |关注本帖
laiptony 发表于 2017-8-2 19:17:56 | 显示全部楼层 |阅读模式

2017(4-6月) 码农类 博士 全职@Facebook - 内推 - 技术电面 Onsite |Pass在职跳槽

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

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

x
面完才发现有很多其实都是LC(变形)题

店面
hamming distance problems (LC461, LC477)
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
昂賽特 (~:变形)
a) parse HTML and build a DOM tree
b) ~LC283 ~LC29 还有一题没时间写完只讲了思路
c) memcache + hashtable (system design). more info on 1point3acres.com
d) behavior + ~LC78
.鐣欏璁哄潧-涓浜-涓夊垎鍦
coding都要求写测试

本帖被以下淘专辑推荐:

flgt2014 发表于 2017-8-2 19:37:58 | 显示全部楼层
楼主 ‘分析HTML建DOM树‘这题 能否展开说说?具体有什么要求?
回复 支持 反对

使用道具 举报

bearicc 发表于 2017-8-2 23:50:25 | 显示全部楼层
楼主方便透露下system design准备了多久吗?给自己点信心。。
回复 支持 反对

使用道具 举报

bearicc 发表于 2017-8-3 00:59:15 | 显示全部楼层
自己试着做了一下第一题:
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  4. #include <stack>
  5. #include <tuple>

  6. using namespace std;
  7. 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  8. struct TreeNode {
  9.     string tag;
  10.     string content;
  11.     string tail;
  12.     vector<TreeNode*> next;
  13.     TreeNode(string tag):tag(tag) {}
  14. };

  15. pair<string, string> read(const string& html, int& i) {
  16.     const int N = html.size();
  17.     string text, tag; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  18.     while (i < N && html[i] != '<') {.1point3acres缃
  19.         text += html[i++];. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  20.     }
  21.     ++i;. 鍥磋鎴戜滑@1point 3 acres
  22.     while (i < N && html[i] != '>') {
  23.         tag += html[i++];
  24.     }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  25.     ++i; // skip '>'-google 1point3acres
  26.     return {text, tag};
  27. }

  28. TreeNode* parse(string html) {
  29.     const int N = html.size();
  30.     int i = 0;
  31.     string text, tag;
  32.     stack<TreeNode*> mystack;

  33.     tie(text, tag) = read(html, i);
  34.     if (tag.empty()) {
  35.         return NULL;.鏈枃鍘熷垱鑷1point3acres璁哄潧
  36.     }
  37.     TreeNode* root = new TreeNode(tag);
  38.     mystack.push(root);
  39.     while (i < N) {
  40.         tie(text, tag) = read(html, i);
  41.         if (tag[0] != '/') {
  42.             mystack.top()->content = text;
  43.             TreeNode* p = new TreeNode(tag);
  44.             mystack.top()->next.push_back(p);
  45.             mystack.push(p);.鏈枃鍘熷垱鑷1point3acres璁哄潧
  46.         } else {
  47.             if (mystack.top()->next.empty()) {
  48.                 mystack.top()->content = text;
  49.             } else {
  50.                 mystack.top()->tail = text;
  51.             }.鐣欏璁哄潧-涓浜-涓夊垎鍦
  52.             mystack.pop();.1point3acres缃
  53.         }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  54.     }
  55.     return root;
  56. }

  57. void test(TreeNode* root) {
  58.     if (!root) {
  59.         return;
  60.     }
  61.     cout << "(" << root->tag << ") (" << root->content << ") (" << root->tail << ")" << endl;
  62.     for (TreeNode* p: root->next) {
  63.         test(p);
  64.     }
  65. }. from: 1point3acres.com/bbs

  66. int main() {
  67.     string html = "<html><head><title>Test</title></head><body>It works!</body></html>";
  68.     cout << html << endl;
  69.     TreeNode* root = parse(html);
  70.     test(root);
  71.     return 0;
  72. }
复制代码
回复 支持 反对

使用道具 举报

say543 发表于 2017-8-3 14:58:23 | 显示全部楼层
memcache + hashtable (system design) 是不是就是设计一个key value store 有什么考察点吗?
回复 支持 反对

使用道具 举报

csytracy 发表于 2017-8-4 03:09:42 | 显示全部楼层
谢谢lz分享!我最关心的是:系统设计怎么复习?有没有推荐的书?九章系统设计课已经上过了。大牛对fresh phd有什么建议吗?
回复 支持 反对

使用道具 举报

 楼主| laiptony 发表于 2017-8-5 21:00:24 | 显示全部楼层
say543 发表于 2017-8-3 14:58
memcache + hashtable (system design) 是不是就是设计一个key value store 有什么考察点吗?

I think communication is the most important key. Discuss with the interviewer and make sure we design a system that satisfy the given constraints.
回复 支持 反对

使用道具 举报

 楼主| laiptony 发表于 2017-8-5 21:10:28 | 显示全部楼层
bearicc 发表于 2017-8-2 23:50
楼主方便透露下system design准备了多久吗?给自己点信心。。

Hard to estimate how long I prepared because a lot of system design concepts I learned from work.
Most of the system design problems are open-ended, so communication is very important.
I treat system design interviews as "checking if we can design a system together if we are teammates" (and "figure out what the interviewer wants to hear").
回复 支持 反对

使用道具 举报

king_lm 发表于 2017-10-17 21:53:11 | 显示全部楼层
请问楼主a) parse HTML and build a DOM tree这题能给下example或者corner case么?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-25 10:07

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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