[八我司] 介绍一下Uber tech stack和各个大组的情况

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 4928|回复: 23
收起左侧

Uber电面

[复制链接] |试试Instant~ |关注本帖
psychiatrichwj 发表于 2015-8-29 07:51:19 | 显示全部楼层 |阅读模式

2015(7-9月) 码农类General 硕士 全职@Uber - 内推 - 技术电面  | Pass | fresh grad应届毕业生

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

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

x
之前以为会遇到算法题,没想到是一题OOD 不过还好是水题
设计一个EventListener要求实现register unregister 和 post 方法
写了10分钟就水过了
. Waral 博客有更多文章,

评分

1

查看全部评分

xujun 发表于 2015-8-29 08:07:45 | 显示全部楼层
答的很好诶~~学习了!!
回复 支持 反对

使用道具 举报

bluezebra 发表于 2015-8-29 08:11:27 | 显示全部楼层
楼上这回复是复制粘贴的么。。答的好在哪。。
回复 支持 反对

使用道具 举报

hulahu 发表于 2015-8-29 08:46:31 | 显示全部楼层
求楼主说说EventListener
回复 支持 反对

使用道具 举报

swly 发表于 2015-8-29 09:01:24 | 显示全部楼层
bluezebra 发表于 2015-8-29 08:11
楼上这回复是复制粘贴的么。。答的好在哪。。
. from: 1point3acres
10分钟就过了,不好说不过去
回复 支持 反对

使用道具 举报

yannan 发表于 2015-8-29 09:05:49 | 显示全部楼层
lz是今天面的嘛,请问lz面的是什么组
回复 支持 反对

使用道具 举报

wenqiang88 发表于 2015-8-29 10:05:33 | 显示全部楼层
请问LZ能细讲一下实现吗?
回复 支持 反对

使用道具 举报

 楼主| psychiatrichwj 发表于 2015-8-29 10:16:57 | 显示全部楼层
yannan 发表于 2015-8-29 09:05
lz是今天面的嘛,请问lz面的是什么组

嗯 今天面的 我也不知道是什么组。。。。. more info on 1point3acres
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

 楼主| psychiatrichwj 发表于 2015-8-29 10:18:54 | 显示全部楼层
wenqiang88 发表于 2015-8-29 10:05
请问LZ能细讲一下实现吗?
. From 1point 3acres bbs
就是一个HashMap<String, List<Event>>然后函数是这样的

public void register(String eventName, Event event) {};
public void unregister(String eventName, Event event){};
public void postEvent(String eventName, Object Data){};

public class Event {
  public void doEvent(Object data);
}

就用HashMap去做就好了 很简单的。
. Waral 博客有更多文章,
回复 支持 反对

使用道具 举报

wenqiang88 发表于 2015-8-29 10:30:49 | 显示全部楼层
psychiatrichwj 发表于 2015-8-29 10:18
就是一个HashMap然后函数是这样的

public void register(String eventName, Event event) {};

多谢LZ指点,祝好运
回复 支持 反对

使用道具 举报

 楼主| psychiatrichwj 发表于 2015-8-29 10:56:01 | 显示全部楼层
hulahu 发表于 2015-8-29 08:46. 围观我们@1point 3 acres
求楼主说说EventListener

下面说了
回复 支持 反对

使用道具 举报

 楼主| psychiatrichwj 发表于 2015-8-29 10:56:37 | 显示全部楼层
wenqiang88 发表于 2015-8-29 10:30. visit 1point3acres for more.
多谢LZ指点,祝好运

thx!~~~~~
回复 支持 反对

使用道具 举报

mmliu 发表于 2015-8-31 07:28:51 | 显示全部楼层
为啥感觉一般都是在 Object 下注册 listener 呢,比如 android 里面的一个 button,可以注册 setOnClickListener 事件,button 被 click 之后,就会呼叫 clickListener,触发相应的注册事件。
  1. class Button{
  2.   Map<String, List<Listener>> listenerMap;
  3. . Waral 博客有更多文章,
  4.   clicked(){
  5.     for(Listener listener : listenerMap.get("click")){
  6.         listener.clicked();
  7.     }
  8.   }
  9. }
复制代码
所以是在 Object 下记录 listener, 而非在 listener 下记录 event 事件
回复 支持 反对

使用道具 举报

jiebour 发表于 2015-8-31 08:24:27 | 显示全部楼层
前台的还是后台的。。。。
回复 支持 反对

使用道具 举报

 楼主| psychiatrichwj 发表于 2015-8-31 08:51:46 | 显示全部楼层
mmliu 发表于 2015-8-31 07:28
为啥感觉一般都是在 Object 下注册 listener 呢,比如 android 里面的一个 button,可以注册 setOnClickLis ...

对 我一开始也很疑惑 问他 event name 和 listener 的对应关系,但是她把要写的函数框架给好了 所以就没多想了. 牛人云集,一亩三分地
回复 支持 反对

使用道具 举报

 楼主| psychiatrichwj 发表于 2015-8-31 09:00:13 | 显示全部楼层
jiebour 发表于 2015-8-31 08:24
前台的还是后台的。。。。

不知道 面我的人是做 ios 的 但是我当时找学长内推的时候顺序是 mobile web devops 我也不知道最后推了啥 挺有可能是做 mobile 吧. visit 1point3acres for more.
回复 支持 反对

使用道具 举报

dobestdobest 发表于 2015-8-31 14:20:22 | 显示全部楼层
请问,是下面这个意思吗?
  1. import java.io.*;
  2. import java.util.*;
  3. 来源一亩.三分地论坛.
  4. class Solution {
  5.   public static void main(String[] args) {
  6.   }
  7. }

  8. class EventListener {
  9.   private Map<String, List<Event>> map;
  10.   
  11.   public EventListener() {.本文原创自1point3acres论坛
  12.     map = new HashMap<String, List<Event>>();
  13.   }
  14.   
  15.   public void register(String eventName, Event event) {
  16.     if (map.containsKey(eventName)) {
  17.       map.get(eventName).add(event);. 一亩-三分-地,独家发布
  18.     } else {.1point3acres网
  19.       List<Event> events = new ArrayList<Event>();. from: 1point3acres
  20.       events.add(event);
  21.       map.put(eventName, events);
  22.     }
  23.   };. 围观我们@1point 3 acres
  24.   . 围观我们@1point 3 acres
  25.   public void unregister(String eventName, Event event) {
  26.     if (map.containsKey(eventName)) {
  27.       map.get(eventName).remove(event);
  28.     }
  29.   };. 一亩-三分-地,独家发布
  30.   
  31.   public void postEvent(String eventName, Object Data) {
  32.     Event event = new Event();
  33.     event.doEvent(Data);
  34.     this.register(eventName, event);
  35.   };
  36. }
  37. . 围观我们@1point 3 acres
  38. class Event {. From 1point 3acres bbs
  39.   private Object data;.留学论坛-一亩-三分地
  40.   . 1point3acres
  41.   public void doEvent(Object data) {
  42.     this.data = data;. visit 1point3acres for more.
  43.   };
  44. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| psychiatrichwj 发表于 2015-9-1 03:15:33 | 显示全部楼层
dobestdobest 发表于 2015-8-31 14:20
请问,是下面这个意思吗?

差不多 要考虑输入的有效性 然后 post event 是指对所有该 event 的 listener 都 doEvent
回复 支持 反对

使用道具 举报

blackrose 发表于 2016-6-6 07:52:09 | 显示全部楼层
No Multithread concern?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-5-25 15:24

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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