推荐:数据科学课程和书籍清单以及培训讲座


一亩三分地论坛

 找回密码
 获取更多干活,快来注册

一亩三分地官方iOS手机应用下载
查看: 1358|回复: 3
收起左侧

zenefit 电面面经整合

[复制链接] |试试Instant~ |关注本帖
mm豆 发表于 2015-6-1 00:51:46 | 显示全部楼层 |阅读模式

2015(4-6月) 码农类 硕士 全职@zenefit - 网上海投 - 技术电面 |Failfresh grad应届毕业生

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

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

x
之前面试zenefit整理地理的面经,希望对要面的同学有帮助,虽然这家跪了,求人品.鏈枃鍘熷垱鑷1point3acres璁哄潧
stack
expression evalution
   有点像 reverse polish notation 的变种,计算一个表达式的值的。要求自行设计表达式的数据结构并计算表达式的值。

有几种特殊情况. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
1. 单输入一个数,比如 [0],是合法,结果为0;-google 1point3acres
2. 单输入一个运算符也是合法的。 无数字运算的 '+', '-', '/' 结果为 0, 单个 '*' 的结果为 1.
3. 一个运算符可以有好几个计算数字。 比如输入为 ['+', 1, 2, 3],结果为1 + 2 + 3 = 6
4. 表达式可嵌套,['+', 1, 2, ['*', 1, 3]],这样结果为 1 + 2 + 1 * 2 = 5.
输入一定合法,不用考虑给了两个连续数字却没有运算符的情况,也不用考虑除数为0的情况。
我的做法为新建一个 Expression 类,用于解决输入包含运算符,数字,或者expression三种情况,这样输入就可以为一个Expresssion 的List,再用一个Queue来决定问题。不知道有没有大神有更好的做法。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
use two stack to store the operation, nums. if cur operation is small or equal to previous one, the
3 sum smaller
input 為兩個輸入
1. integer-google 1point3acres
2. list-google 1point3acres
計算 list中滿足 三個值的和 小於或等於 integer 的數目. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

e.q..鏈枃鍘熷垱鑷1point3acres璁哄潧
integer = 8
list = [1, 2, 3, 4, 6]
if  only need the count of result, then build segment tree to store who many uniq nums in each segment. the time complexity is n^2 log N
if need to return all combination, the time complexity is n^3.. more info on 1point3acres.com
  public static ArrayList<ArrayList<Integer>> threeSumEqualOrLess(int[] data, int target) {-google 1point3acres
    ArrayList<ArrayList<Integer>> output = new ArrayList<>();
    if(data == null || data.length == 0) {
      return output;
    }
    Arrays.sort(data);
    for(int i = 0; i < data.length - 2; i++) {. from: 1point3acres.com/bbs
      if(i == 0 || data != data[i - 1]) {.1point3acres缃
        int sum = target - data;
        int start = i + 1;
        int end = data.length - 1;
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷        while(start < end) {
          if(data[start] + data[end] <= sum) {
           //need to dedup with merge backWords
            ArrayList<ArrayList<Integer>> temp = mergeAllEndBackwardsResult(data, i, start, end);
            output.addAll(temp);.1point3acres缃. more info on 1point3acres.com

            start++;
            while (start < end && data[start] == data[start - 1])
              start++;. 1point 3acres 璁哄潧
          } else {
            end--;-google 1point3acres
          }
        }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
      }
    }.1point3acres缃
    return output;
  }
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
  public static ArrayList<ArrayList<Integer>> mergeAllEndBackwardsResult(int[] data, int i, int j, int k) {
    ArrayList<ArrayList<Integer>> output = new ArrayList<>();
    while(j < k) {
      ArrayList<Integer> temp = new ArrayList<Integer>();
      temp.add(data);
      temp.add(data[j]);. visit 1point3acres.com for more.
      temp.add(data[k]);
      output.add(temp);
      System.out.println("mergeToAResult" + Arrays.toString(temp.toArray()));

      k--;
      //avoid duplicate solutions
      while (j < k && data[k] == data[k + 1])-google 1point3acres
        k--;
. visit 1point3acres.com for more.
    }
    return output;
  }-google 1point3acres
. Waral 鍗氬鏈夋洿澶氭枃绔,
super stack
操作有push, pop。 还有一个是inc a b。实现stack的bottom a个数都加b
use dequeue, push pop in one side and inc(a,b) in another side
. 1point 3acres 璁哄潧
实现一个数据结构包含三个功能,push, pop, getmin,time complexity均要为O(1), 不可以调用API,自己实现了double linkedlist,而且要求只用一个list
push the element in one side and the minimum element in another side.

HashMap.鐣欏璁哄潧-涓浜-涓夊垎鍦
LRU Cache
Queue
题目巨长输入格式是. 1point3acres.com/bbs
1
2.
就是说 第1行第1个是queen 第2行第2个是queen,并保证输入的数字不重复,这样可以得出一个结论:同一行 同一列不会出现2个queen。
题目要求是求出 对于每个Queen, 最大的威胁次数,威胁指只要一个queen所能移动的范围内有别的queen就算威胁 P.S.同一方向上有2个queen威胁你 只算最近的那个。
由于同一行 同一列不会出现2个queen。(由于输入限制)所以只要考虑对角线 和逆对角线。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
举个例子: 棋盘是:
100           ---- 1号 queen. more info on 1point3acres.com
010           ---- 2号 queen
001           ---- 3号 queen 鏉ユ簮涓

补充内容 (2015-6-1 01:03):. visit 1point3acres.com for more.
本来想直接贴出来, 发现帖子有字数限制,面经放在附件里面了
-google 1point3acres
补充内容 (2015-6-1 01:05):
发不了附件 重新开个帖子吧,版主可以把这个帖子删掉了

补充内容 (2015-6-1 01:09):
研究了下,可以在回复里面添加附件

评分

4

查看全部评分

 楼主| mm豆 发表于 2015-6-1 01:08:36 | 显示全部楼层
关注一亩三分地公众号:
Warald_一亩三分地
整理的文件在附件里,请把后缀名改成txt. 这是一个txt文件
. more info on 1point3acres.com
补充内容 (2015-6-2 09:14):
txt看不了的同学,pdf的在这里
http://www.1point3acres.com/bbs/thread-135636-1-1.html

zenefit.pdf

30.83 KB, 下载次数: 32, 下载积分: 大米 -1 升

回复 支持 反对

使用道具 举报

 楼主| mm豆 发表于 2015-6-2 09:14:35 | 显示全部楼层

. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
http://www.1point3acres.com/bbs/thread-135636-1-1.html
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-7-24 23:05

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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