我是家长,妈妈一枚,突然想写点什么(不太会写)

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
[Google级团队]:实时大数据分析领域践行者
北京/深圳-大数据/搜索/机器学习职位
日志易机器大数据行业践行者Web/大数据/机器学习等职位-北京or深圳
把贵司招聘信息放这里
查看: 1608|回复: 3
收起左侧

zenefit 电面面经整合

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

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

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

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

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

有几种特殊情况
1. 单输入一个数,比如 [0],是合法,结果为0;-google 1point3acres. 1point 3acres 璁哄潧
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. 1point3acres.com/bbs
input 為兩個輸入. more info on 1point3acres.com
1. integer
2. list. From 1point 3acres bbs
計算 list中滿足 三個值的和 小於或等於 integer 的數目.鐣欏璁哄潧-涓浜-涓夊垎鍦

e.q.. more info on 1point3acres.com
integer = 8. more info on 1point3acres.com
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. From 1point 3acres bbs
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) {
    ArrayList<ArrayList<Integer>> output = new ArrayList<>();.鐣欏璁哄潧-涓浜-涓夊垎鍦
    if(data == null || data.length == 0) {
      return output;
    }.鏈枃鍘熷垱鑷1point3acres璁哄潧
    Arrays.sort(data);
    for(int i = 0; i < data.length - 2; i++) {
. from: 1point3acres.com/bbs       if(i == 0 || data != data[i - 1]) {. visit 1point3acres.com for more.
        int sum = target - data;. visit 1point3acres.com for more.
        int start = i + 1;. Waral 鍗氬鏈夋洿澶氭枃绔,
        int end = data.length - 1;
        while(start < end) {
          if(data[start] + data[end] <= sum) {
           //need to dedup with merge backWords-google 1point3acres
            ArrayList<ArrayList<Integer>> temp = mergeAllEndBackwardsResult(data, i, start, end);
            output.addAll(temp);.1point3acres缃
. 1point3acres.com/bbs
            start++;.鐣欏璁哄潧-涓浜-涓夊垎鍦
            while (start < end && data[start] == data[start - 1])
              start++;. 鍥磋鎴戜滑@1point 3 acres
          } else {. visit 1point3acres.com for more.
            end--;
          }
        }. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
      }
    }.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]);
      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])
        k--;
. 1point3acres.com/bbs
    }
    return output;
  }

super stack
操作有push, pop。 还有一个是inc a b。实现stack的bottom a个数都加b. 1point 3acres 璁哄潧
use dequeue, push pop in one side and inc(a,b) in another side

实现一个数据结构包含三个功能,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
010           ---- 2号 queen
001           ---- 3号 queen 鏉ユ簮涓

补充内容 (2015-6-1 01:03):
本来想直接贴出来, 发现帖子有字数限制,面经放在附件里面了

补充内容 (2015-6-1 01:05):. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
发不了附件 重新开个帖子吧,版主可以把这个帖子删掉了

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

评分

4

查看全部评分

 楼主| mm豆 发表于 2015-6-1 01:08:36 | 显示全部楼层
整理的文件在附件里,请把后缀名改成txt. 这是一个txt文件. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴

补充内容 (2015-6-2 09:14):
txt看不了的同学,pdf的在这里
http://www.1point3acres.com/bbs/thread-135636-1-1.html

zenefit.pdf

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

回复 支持 反对

使用道具 举报

 楼主| mm豆 发表于 2015-6-2 09:14:35 | 显示全部楼层
达达主义 发表于 2015-6-2 03:49. From 1point 3acres bbs
text好乱。。
. 鍥磋鎴戜滑@1point 3 acres

http://www.1point3acres.com/bbs/thread-135636-1-1.html
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

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

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

custom counter

GMT+8, 2018-4-24 22:26

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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