10月28,K神开讲数据科学:AB Test/实验设计


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 4608|回复: 16
收起左侧

Uber两轮电面

[复制链接] |试试Instant~ |关注本帖
kobe2008 发表于 2015-8-20 03:58:36 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类 本科 全职@Uber - 内推 - 技术电面 |Fail在职跳槽

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

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

x
第一次发帖,求米~~. from: 1point3acres.com/bbs

第一轮电面:
1. 自我介绍
2. 项目介绍,针对项目问相关的技术问题. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
3. Coding Question,用的coderPad, 比较两个Map Object,Map的Value可能有两种情况 1. Strings; 2. Map<String, Object> objects

第二轮电面:
1. 同样的自我介绍
2. 同样的项目介绍,中间提问项目中最困难的部分是哪部分,详细序数
3. Coding Question, LeetCode Valid Parentheses.
    Follow up 1: 如果中间有别的字符怎么办
    Follow up 2: 如果添加别的括号种类比如<>,如何做到对原先的代码改动尽量少

题不难而且都答上来了,自我感觉也不错,可惜还是挂了......不知道是Uber的Bar太高还是别的原因......

评分

4

查看全部评分

dobestdobest 发表于 2015-8-20 08:23:03 | 显示全部楼层

第一个
  1. import java.util.HashMap;
  2. import java.util.Map;

  3. public class Solution {
  4.     public static void main(String[] args) {
  5.         Map<String, Object> first = new HashMap<String, Object>();
  6.         Map<String, Object> second = new HashMap<String, Object>();. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  7.         Map<String, Object> third = new HashMap<String, Object>();. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  8.         Map<String, Object> fourth = new HashMap<String, Object>();

  9.         first.put("12", "abc");
  10.         second.put("12", third);
  11.         third.put("12", fourth);
  12.         fourth.put("12", "aba");. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

  13.         Answer ans = new Answer();
  14.         System.out.println(ans.compare(first, second, "12"));
  15.     }
  16. }
  17. .鏈枃鍘熷垱鑷1point3acres璁哄潧
  18. class Answer {
  19.     public int compare(Map<String, Object> first,
  20.                        Map<String, Object> second,
    -google 1point3acres
  21.                        String key) {
  22.         String firstValue = getString(first, key);
  23.         String secondValue = getString(second, key);

  24.         if (firstValue != null && secondValue != null) {
  25.             return firstValue.compareTo(secondValue);
  26.         } else {
  27.             return 0;
  28.         }
  29.     }

  30.     private String getString(Map<String, Object> hash, String key) {
  31.         while (hash.containsKey(key)) {
  32.             Object value = hash.get(key);
  33.             if (value instanceof String) {.1point3acres缃
  34.                 return (String) value;
  35.             } else if (value instanceof Map) { 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
  36.                 hash = (Map<String, Object>) value;
  37.             }
  38.         }
  39.         return null;. Waral 鍗氬鏈夋洿澶氭枃绔,
  40.     }
  41. }. 鍥磋鎴戜滑@1point 3 acres
复制代码
回复 支持 反对

使用道具 举报

dobestdobest 发表于 2015-8-20 08:25:07 | 显示全部楼层
第二个
  1. import java.util.*;-google 1point3acres

  2. public class Solution {
  3.     public static void main(String[] args) {
  4.         Answer ans = new Answer();
  5.         System.out.println(ans.isValid("(){}[]"));
  6.         System.out.println(ans.isValid("(()){{[()]}}[]"));
  7.         System.out.println(ans.isValid("((){}[]"));
  8.         System.out.println(ans.isValid("(){][}[]"));
  9.     }
  10. }

  11. class Answer {. visit 1point3acres.com for more.
  12.     public boolean isValid(String input) {
  13.         Stack<Character> stack = new Stack<Character>();. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  14.         Map<Character, Character> hash = new HashMap<Character, Character>();
  15.         hash.put('}', '{');
  16.         hash.put(']', '[');
  17.         hash.put(')', '(');

  18.         HashSet<Character> set = new HashSet<Character>(hash.values());

  19.         for (int i = 0; i < input.length(); i++) {
  20.             char c = input.charAt(i);
  21.             if (set.contains(c)) {
  22.                 stack.push(c);
  23.             } else if (hash.containsKey(c)) {
  24.                 if (stack.peek() == hash.get(c)) {
  25.                     stack.pop();
  26.                 } else {
  27.                     return false;
  28.                 }. 1point 3acres 璁哄潧
  29.             }
  30.         }-google 1point3acres

  31.         return stack.isEmpty();
  32.     }
  33. }
复制代码
回复 支持 反对

使用道具 举报

ChrisGates23 发表于 2015-8-20 09:39:26 | 显示全部楼层
请问lz怎么争取的两轮电面的机会
回复 支持 反对

使用道具 举报

 楼主| kobe2008 发表于 2015-8-20 23:17:16 | 显示全部楼层
ChrisGates23 发表于 2015-8-20 09:39
请问lz怎么争取的两轮电面的机会

找朋友内推的,第一轮Positive就给了第二轮
回复 支持 反对

使用道具 举报

maxnima 发表于 2015-8-21 00:04:48 | 显示全部楼层
mark (word count, word count)
回复 支持 反对

使用道具 举报

yannan 发表于 2015-8-22 05:14:09 | 显示全部楼层
感谢分享!请问lz面的是什么组?
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-4 14:55:36 | 显示全部楼层
yannan 发表于 2015-8-22 05:14
感谢分享!请问lz面的是什么组?

经常看到神牛~ -google 1point3acres
想讨论下: 今天刚开始看uber面经,感觉这几个月难度还是要比上半年小些哈?

补充内容 (2015-9-4 23:42):
之后又看到难题重现了。。。
回复 支持 反对

使用道具 举报

会编程的猪先生 发表于 2015-9-4 15:04:52 | 显示全部楼层

对于map首先要比较size, 然后每个entry都要比较吧
回复 支持 反对

使用道具 举报

alucardzhou 发表于 2015-9-9 09:16:30 | 显示全部楼层
Value可能有两种情况 1. Strings; 2. Map<String, Object> objects.

如果Map中的Object可以是Map么?
如果是,就要recursive了吧。
回复 支持 反对

使用道具 举报

lijing2441 发表于 2015-9-9 09:27:43 | 显示全部楼层
不太懂第一题是什么意思,怎么比较两个Map呢?是比较其中entry的大小,还是比较两个Map里面Entry的个数呢。。。
回复 支持 反对

使用道具 举报

f1371342385 发表于 2015-9-9 10:07:15 | 显示全部楼层
LZ,über电面的话是要求当场运行的吗?
回复 支持 反对

使用道具 举报

alucardzhou 发表于 2015-9-9 10:36:14 | 显示全部楼层
lijing2441 发表于 2015-9-8 20:27. From 1point 3acres bbs
不太懂第一题是什么意思,怎么比较两个Map呢?是比较其中entry的大小,还是比较两个Map里面Entry的个数呢。 ...

应该是都要比吧。先比个数,再比每个键值对。
其实就跟比较两个String一样。先比长度,再比每个char。
回复 支持 反对

使用道具 举报

freemail165 发表于 2015-9-21 08:39:43 | 显示全部楼层

if(s.isEmty() || hash.get(s.pop())!=c) return false;
回复 支持 反对

使用道具 举报

idunknow 发表于 2015-9-21 23:57:20 | 显示全部楼层

有bug阿 stack not empty 直接pop 而且不需要hashset
回复 支持 反对

使用道具 举报

likenisha 发表于 2015-11-12 02:56:36 | 显示全部楼层
follow up2,  LZ回答得怎样样
回复 支持 反对

使用道具 举报

freemail165 发表于 2015-11-12 10:58:23 | 显示全部楼层
likenisha 发表于 2015-11-12 02:56
follow up2,  LZ回答得怎样样
. more info on 1point3acres.com
全存在Map<Character,Character>里面
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-10-24 06:50

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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