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


一亩三分地论坛

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

2月2日fb电面面经

[复制链接] |试试Instant~ |关注本帖
NR21 发表于 2016-2-4 01:35:35 | 显示全部楼层 |阅读模式

2016(7-9月) 码农类 硕士 全职@Facebook - 内推 - 技术电面 |Passfresh grad应届毕业生

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

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

x
昨天进行的电面,今天收到邮件说可以进onsite。非常感谢地里同学的帮助,这里回馈地里,顺带求onsite得人品爆发。
面试其实只有一道题,三次follow up
. from: 1point3acres.com/bbs
写一个计算器,可以进行加减运算
follow up1:可以进行加减和乘除运算。. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
follow up2: constant space
follow up3: 还可以进乘方运算

评分

4

查看全部评分

tltzhsajsdr 发表于 2016-2-4 01:41:52 | 显示全部楼层
fresh grad全职又开始招啦?
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-4 01:53:07 | 显示全部楼层
tltzhsajsdr 发表于 2016-2-4 01:41. 1point3acres.com/bbs
fresh grad全职又开始招啦?

我不知道呀。前几天收到hr邮件通知面试。我是10月中旬推得
回复 支持 反对

使用道具 举报

tltzhsajsdr 发表于 2016-2-4 02:05:35 | 显示全部楼层
NR21 发表于 2016-2-4 01:53
我不知道呀。前几天收到hr邮件通知面试。我是10月中旬推得

过了这么这么久才面试。。。。不过是个好信号,说明又开始有headcount了呢
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-4 02:10:15 | 显示全部楼层
tltzhsajsdr 发表于 2016-2-4 02:05
过了这么这么久才面试。。。。不过是个好信号,说明又开始有headcount了呢
-google 1point3acres
是啊。我本来都已经放弃了。。。直接认为没希望了呢
回复 支持 反对

使用道具 举报

jemi 发表于 2016-2-4 02:28:08 | 显示全部楼层
请问投得什么岗位啊?
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-4 02:53:01 | 显示全部楼层
jemi 发表于 2016-2-4 02:28
请问投得什么岗位啊?

SDE字数字数
回复 支持 反对

使用道具 举报

raccoon 发表于 2016-2-4 02:59:23 | 显示全部楼层
求问楼主是类似下面careercup这样的吗,输入是一个string自己parse?
http://www.careercup.com/question?id=5666882212331520
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-4 03:07:32 | 显示全部楼层
raccoon 发表于 2016-2-4 02:59
求问楼主是类似下面careercup这样的吗,输入是一个string自己parse?
http://www.careercup.com/question?i ...

不是,输入是一个string,比如"1-2+3*4^2"
回复 支持 反对

使用道具 举报

kungfucop 发表于 2016-2-15 13:36:30 | 显示全部楼层
constant space这个怎么做?
回复 支持 反对

使用道具 举报

kinggarden2001 发表于 2016-2-15 14:14:12 | 显示全部楼层
我觉得用stack就行 因为没有括号 stack存的东西是常数的
回复 支持 反对

使用道具 举报

Jester_Z 发表于 2016-2-18 07:41:12 | 显示全部楼层
楼主请问这道题会出现括号吗
回复 支持 反对

使用道具 举报

liuminby 发表于 2016-2-18 07:45:02 | 显示全部楼层
楼主 请问10月份被推后 是一直没有消息还是收到过facebook的据信?多谢
回复 支持 反对

使用道具 举报

Aprilyn 发表于 2016-2-18 09:32:52 | 显示全部楼层
额,同10月推得,没消息,学长帮忙重推了下,秒拒
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-19 00:32:38 | 显示全部楼层
kungfucop 发表于 2016-2-15 13:36
constant space这个怎么做?

我是用两个integer,一个是至今的总和,一个是上一个数进行的计算
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-19 00:32:49 | 显示全部楼层
Jester_Z 发表于 2016-2-18 07:41
楼主请问这道题会出现括号吗

没有括号的
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-19 00:33:02 | 显示全部楼层
liuminby 发表于 2016-2-18 07:45
楼主 请问10月份被推后 是一直没有消息还是收到过facebook的据信?多谢

是一直没有消息
回复 支持 反对

使用道具 举报

 楼主| NR21 发表于 2016-2-19 00:33:34 | 显示全部楼层
Aprilyn 发表于 2016-2-18 09:32. more info on 1point3acres.com
额,同10月推得,没消息,学长帮忙重推了下,秒拒

没关系,肯定还有更好的机会的。
回复 支持 反对

使用道具 举报

xiaohui5319 发表于 2016-3-26 00:41:53 | 显示全部楼层
我觉得这个题就是个字符串处理:. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

bool isOperator(char c) {
  return c == '+' || c == '-' || c == '*' || c == '/';
}

double calculator(string str) {
  //separate string by elements + - * /
  double curValue = 0.0;
  double preValue = 0.0;
  int pstart = 0, pend = 0;
  while (pstart < str.length()) {
    pend = pstart + 1;
    while ( pend < str.length() && ! isOperator(str[pend]) ) pend++;
    if (pstart < str.length()) {
      double tmpValue = 0.0; string tmp = "";
      if (isOperator(str[pstart])) {
        tmp = str.substr(pstart + 1, pend - pstart - 1);
      } else {
        tmp = str.substr(pstart, pend - pstart);
      }
      .鐣欏璁哄潧-涓浜-涓夊垎鍦
      tmpValue = stod(tmp);. 鍥磋鎴戜滑@1point 3 acres
      
      if (!isOperator(str[pstart]) || str[pstart] == '+') {
        curValue += tmpValue;. 1point3acres.com/bbs
        preValue = tmpValue;
      } else if (str[pstart] == '-') {
        curValue += -tmpValue;. more info on 1point3acres.com
        preValue = -tmpValue;
      } else if (str[pstart] == '*') {
        curValue = curValue - preValue + preValue * tmpValue;
        preValue = preValue * tmpValue;
      } else if (str[pstart] == '/') {
        curValue = curValue - preValue + preValue / tmpValue;
        preValue = preValue / tmpValue;
      }
      
      pstart = pend;. visit 1point3acres.com for more.
    }
  }
  return curValue;. From 1point 3acres bbs
}
回复 支持 反对

使用道具 举报

sealove999 发表于 2016-4-12 13:57:53 | 显示全部楼层
写一点
  1. public class Solution {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  2.   public int calc(String s) {
  3.     s = s.trim().replaceAll("\\s+", "");
  4.     s = s.replaceAll("\\+", " \\+");
  5.     s = s.replaceAll("\\-", " \\-");
  6.     String[] str = s.split(" ");
  7.     int ret = 0;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  8.     for (String ss : str) {
  9.       ret += Integer.parseInt(ss);
  10.     }
  11.     return ret;
  12.   }
  13. . 1point 3acres 璁哄潧
  14.   public int followup1(String s) {
  15.     s = s.trim().replaceAll("\\s+", "");
  16.     s = s.replaceAll("\\+", " \\+ ");. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  17.     s = s.replaceAll("\\-", " \\- ");
  18.     s = s.replaceAll("\\*", " \\* ");
  19.     s = s.replaceAll("\\/", " \\/ ");
  20.     String[] str = s.split(" ");
  21. .1point3acres缃
  22.     Deque<String> stack = new ArrayDeque<>();
  23.     for (int i = 0; i < str.length; i++) {
  24.       if (str[i].equals("*")) {
  25.         stack.offerLast(
  26.             String.valueOf(Integer.parseInt(stack.pollLast()) * Integer.parseInt(str[++i])));. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  27.       } else if (str[i].equals("/")) {
  28.         stack.offerLast(
  29.             String.valueOf(Integer.parseInt(stack.pollLast()) / Integer.parseInt(str[++i])));
  30.       } else {. 1point3acres.com/bbs
  31.         stack.offerLast(str[i]);
  32.       }
  33.     }

  34.     int ret = Integer.parseInt(stack.pollFirst());
  35.     while (!stack.isEmpty()) {
  36.       String op = stack.pollFirst();
  37.       int rnd = Integer.parseInt(stack.pollFirst());. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  38.       if (op.equals("+")) {
  39.         ret += rnd;
  40.       } else if (op.equals("-")) {
  41.         ret -= rnd;
  42.       }
  43.     }
  44.     return ret;
  45.   }. Waral 鍗氬鏈夋洿澶氭枃绔,

  46.   public int followup2(String s) {. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  47.     int lastOp = -1;
  48.     int lastNeg = -1;

  49.     int ret = 0;
  50.     int lastNum = 0; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.

  51.     int lastDigit = 0;
  52.     for (int reader = 0; reader <= s.length(); reader++) {
  53.       if (reader == s.length() || !Character.isDigit(s.charAt(reader))) {. 1point 3acres 璁哄潧
  54.         int d = Integer.parseInt(s.substring(lastDigit, reader));. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  55.         if (lastOp <= lastNeg) {
  56.           if (lastNeg > 0 && s.charAt(lastNeg) == '-') {
  57.             ret -= d;
  58.           } else {
  59.             ret += d; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  60.           }
  61.           lastNum = d;
  62.         } else {
  63.           if (lastNeg > 0 && s.charAt(lastNeg) == '-') { // pop
  64.             ret += lastNum;
  65.           } else {
  66.             ret -= lastNum;
  67.           }
  68.           if (s.charAt(lastOp) == '*') { // calc
  69.             lastNum *= d;.鐣欏璁哄潧-涓浜-涓夊垎鍦
  70.           } else if (s.charAt(lastOp) == '/') {
  71.             lastNum /= d;
  72.           }
  73.           if (lastNeg > 0 && s.charAt(lastNeg) == '-') { // push
  74.             ret -= lastNum;. from: 1point3acres.com/bbs
  75.           } else {
  76.             ret += lastNum;.1point3acres缃
  77.           }
  78.         }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  79.         if (reader < s.length()) {
  80.           if (s.charAt(reader) == '+' || s.charAt(reader) == '-') {
  81.             lastNeg = reader;
  82.           } else {
  83.             lastOp = reader;
  84.           }
  85.         }
  86.         lastDigit = reader + 1;
  87.       }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  88.     }
  89.     return ret;
  90.   }

  91.   public int followup3(String s) {. 1point3acres.com/bbs
  92.     return 0;
  93.   }


  94.   public static void main(String[] args) {
  95.     Solution s = new Solution();. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  96.     System.out.println(s.calc("1-2+3"));
  97.     System.out.println(s.followup1("1-2+3*4"));. Waral 鍗氬鏈夋洿澶氭枃绔,
  98.     System.out.println(s.followup2("1-2+3*4"));
  99.     System.out.println(s.followup3("1-2+3*4^2"));.1point3acres缃
  100.   }
  101. }. 1point 3acres 璁哄潧
复制代码
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-19 07:19

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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