谈谈使用过的几款咖啡机

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

H1B/绿卡遥遥无期
又不想回国
来东南亚最大的互联网集团工作?
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 28940|回复: 92
收起左侧

你们要的Twitter OA (含Java代码)

    [复制链接] |试试Instant~ |关注本帖
我的人缘0
duziyuanyang 发表于 2016-10-31 04:32:10 | 显示全部楼层 |阅读模式
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】

2016(10-12月) 码农类General 硕士 全职@Twitter - 网上海投 - 在线笔试  | Other | fresh grad应届毕业生

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

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

x
这一周都在准备Twitter的OA,感谢地里各种好人的无私贡献,基本把最近的题都做了下,自己抽到的是3题版,time series aggregation那题不论是用treemap还是priorityQueue都只能过第1个test case,后面4个死活过不去,在一楼贴上代码,如果有好心人帮忙看下,提点建议最好了。
另外发现这周末收到的oa比上周的题目要简单好多,所以小伙伴抓紧做吧,指不定下周题又变了。。
. Waral 博客有更多文章,

我把自己做过的题的代码直接贴出来吧,反正之前组招面过twitter了,感觉即使再给我电面还是过不去(它家店面至少是lc68,269的难度,一题不够),不求大米不求赞,只为下周的Google电面攒个人品,希望能出个简单的或者是原题,不要遇到奇葩题...
. 围观我们@1point 3 acres

补充内容 (2016-11-15 04:19):
今天听说有人因为贴了oa代码被取消onsite的(后人直接全部 copy了他的代码),我开这个帖子只是希望国人能过互帮互助,毕竟从地里收益很多。但是希望大家不要照抄code,这样于你于我都不是件好事,拜托了

补充内容 (2016-11-15 04:20):. From 1point 3acres bbs
据说hackerrank的后台检测代码查重机制很准,不光是twitter,今后大家做其它家的hackerrank OA也要注意,祝好运!

评分

参与人数 42大米 +227 收起 理由
belayanzhi + 2 很有用的信息!
azureclouds + 3 给你点个赞!
乔丹丹 + 3 很有用的信息!
shu16 + 1 thanks
UUOlidd + 3 感谢分享
bruce77 + 5 很有用的信息!
alicesm + 1 给你点个赞!
pwwpche + 5 很有用的信息!
feidaowenzhan + 5 很有用的信息!
wzhbtbt + 10 给你点个赞!
yangruirui421 + 3 给你点个赞!
marvinbai + 5 很有用的信息!
lil1ian + 5 感谢分享!
CinL + 5 感谢分享!
ricace + 1 感谢分享!

查看全部评分


上一篇:Twitter OA SQL新题求助
下一篇:Wayfair HR电面

本帖被以下淘专辑推荐:

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:55:02 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
longest phrases in a tweet, 水题,类似unique paths, pass all test cases
游客,本帖隐藏的内容需要积分高于 133 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
回复 支持 3 反对 0

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:36:39 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
parent, child, tree那题,选Oracle, pass all test case
  1. SELECT
  2.     Id,
  3.     CASE
  4.         WHEN M IS NULL THEN 'Leaf'
  5.         WHEN P_id IS NULL THEN 'Root'. 围观我们@1point 3 acres
  6.         ELSE 'Inner'
  7.     END AS TypeNode
  8. FROM(
  9.     SELECT
  10.         DISTINCT hijo.*, padre.P_id as M
  11.     FROM Tree hijo
  12.     LEFT JOIN Tree padre ON(hijo.Id = padre.P_id)
  13. )ORDER BY Id;
复制代码
回复 支持 1 反对 1

使用道具 举报

我的人缘0
elizabethxiazhi 发表于 2016-10-31 06:04:23 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
LZ人真好,刚花了两个多小时写twitter,time series 那个题目过了, 我开始也只过一个case,后来用treemap<time, treemap<engagement, count>>做的就都过去了。。。(原来用的treemap<time,List<>()>).....
回复 支持 2 反对 0

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:35:55 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
Orders 1的SQL代码,passed all test case
  1. select o.customerNumber as customer
  2. from ORDERS as o
  3. group by customerNumber
  4. order by count(orderNumber) desc
  5. limit 1;
复制代码
回复 支持 0 反对 1

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:52:46 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
encrypt and decrypt message, 这题搞了我一晚上时间,结果点开oa发现没有这题。。anyway,我的代码自己拿case跑了一下,如果有问题欢迎指正
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
回复 支持 0 反对 1

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:40:16 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
information mask, pass all test cases
游客,本帖隐藏的内容需要积分高于 188 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
回复 支持 1 反对 0

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:34:47 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
Time series aggregation的代码,只能过第一个test case,感觉自己代码逻辑没问题,应该是某处小bug,傻逼hacker rank还不显示test case真是醉了。。求好心人提示下错在哪里。。
. 1point 3acres 论坛
  1. public class Solution {
  2.     static String beginMonth;
  3.     static String endMonth;
  4.    // static Map<String, Map<String, Integer>> logs = new TreeMap<>(Collections.reverseOrder());
  5.     static Map<String, Map<String, Integer>> logs = new HashMap<>();
  6.     static PriorityQueue<Log> maxHeap;
  7.    
  8.     static class LogComparator implements Comparator<Log>{
  9.         public int compare(Log log1, Log log2){
  10.             String date1 = log1.date;
  11.             String date2 = log2.date;
  12.             String category1= log1.category;
  13.             String category2 = log2.category;
  14.             if(date1.equals(date2)){
  15.                 return category1.compareTo(category2);
  16.             }else{
  17.                 return date2.compareTo(date1);
  18.             }
  19.         }
  20.     }
  21.    
  22.     static class Log{
  23.         String date;
  24.         String category;.1point3acres网
  25.         int cnt;
  26.         Log(String date, String category, int cnt){. 围观我们@1point 3 acres
  27.             this.date = date;
  28.             this.category = category;
  29.             this.cnt = cnt;
  30.         }. 围观我们@1point 3 acres
  31.     }
  32.    
  33.     static String removeDD(String date){. from: 1point3acres
  34.         //return date;
  35.         Date initDate = null;
  36.         try{
  37.             initDate = new SimpleDateFormat("yyyy-MM-dd").parse(date);. more info on 1point3acres
  38.         }catch (ParseException e){
  39.             e.printStackTrace();
  40.         }
  41.         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM"); 来源一亩.三分地论坛.
  42.         String parsedDate = formatter.format(initDate);
  43.         return parsedDate;
  44.       
  45.     }
  46.     . Waral 博客有更多文章,
  47.     static boolean isBefore(String d1, String d2){
  48.         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
  49.         Date date1 = null;
  50.         Date date2 = null;
  51.         try{
  52.             date1 = format.parse(d1);
  53.             date2 = format.parse(d2);. visit 1point3acres for more.
  54.         }catch(ParseException e){
  55.             e.printStackTrace();
  56.         }
  57.         return date1.before(date2);
    . 牛人云集,一亩三分地
  58.     }
  59.    
  60.     public static void main(String args[] ) throws Exception {
  61.         /* Enter your code here. Read input from STDIN. Print output to STDOUT */
  62.         
  63.         String line = null;
  64.         int num = 0;
  65.         try{
  66.             BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  67.             
  68.             while((line = br.readLine()) != null){
  69.                 if(num == 0){
  70.                     String[] interval = line.trim().split(",");
  71.                     if(interval.length != 2){
  72.                         throw new Exception("invalid input!");
  73.                     }
  74.                     beginMonth = interval[0].trim();. 留学申请论坛-一亩三分地
  75.                     endMonth = interval[1].trim();. Waral 博客有更多文章,
  76.                     //System.out.println(line);
  77.                      num++;
  78.                 }else if(num == 1){. from: 1point3acres
  79.                      num++;
  80.                     continue;. 一亩-三分-地,独家发布
  81.                     
  82.                 }else{
  83.                     //System.out.println(line);
  84.                     String[] lines = line.trim().split(",");
  85.                     if(lines.length != 3){
  86.                         throw new Exception("invalid input!");
  87.                     }
  88.                     String date = lines[0].trim();
  89.                     //System.out.println(date);
  90.                     String trans_date = removeDD(date);
  91.                     //System.out.println(trans_date);
  92.                     String category = lines[1].trim();
  93.                     String count = lines[2].trim();
  94.                     int cnt = Integer.parseInt(count);
  95.                     //System.out.println(date);
  96.                     if(isBefore(trans_date, beginMonth) || isBefore(endMonth, trans_date) || cnt == 0) continue;
  97.                     if(!logs.containsKey(trans_date)){
  98.                         logs.put(trans_date, new HashMap<String, Integer>());
  99.                     }
  100.                     Map<String, Integer> map = logs.get(trans_date);
  101.                     if(!map.containsKey(category)){
  102.                         map.put(category, cnt);
  103.                     }else{
  104.                         map.put(category, map.get(category) + cnt);
  105.                     }
  106.                     
  107.                     logs.put(trans_date,map);
  108.                      num++;
  109.                 }. 1point 3acres 论坛
  110.                
  111.             }
  112.         }catch (Exception e){
  113.             e.printStackTrace();
  114.         }
  115.         
  116.         maxHeap = new PriorityQueue<Log>(num, new LogComparator());

  117.        for(Map.Entry<String, Map<String, Integer>> entry : logs.entrySet()){
  118.            
  119.             String date = entry.getKey();
  120.             //System.out.println(date);
  121.             Map<String, Integer> map = entry.getValue();
  122.             
  123.             for(Map.Entry<String, Integer> sub_entry : map.entrySet()){
  124.               String category = sub_entry.getKey();
  125.               int cnt= sub_entry.getValue();
  126.               maxHeap.offer(new Log(date, category, cnt)); 来源一亩.三分地论坛.
  127.                 //System.out.println(date + " "  + category +  " " + cnt);
  128.             }
  129.        }
  130.         
  131.         Log prev = null;
  132.         StringBuilder sb = new StringBuilder();. 围观我们@1point 3 acres
  133.         while(!maxHeap.isEmpty()){. 围观我们@1point 3 acres
  134.             Log cur = maxHeap.poll();
  135.             if(prev == null){. From 1point 3acres bbs
  136.                 sb.append(cur.date);
  137.                 sb.append(',');
  138.                 sb.append(' ');
  139.                 sb.append(cur.category);
  140.                 sb.append(',');.本文原创自1point3acres论坛
  141.                 sb.append(' ');
  142.                 sb.append(cur.cnt);. more info on 1point3acres
  143.             }else if(prev.date.equals(cur.date)){. 一亩-三分-地,独家发布
  144.                 sb.append(',');. more info on 1point3acres
  145.                 sb.append(' ');
  146.                 sb.append(cur.category);
  147.                 sb.append(',');
  148.                 sb.append(' ');
  149.                 sb.append(cur.cnt);
  150.             }else{
  151.                 String printString = sb.toString();
  152.                 System.out.println(printString);. Waral 博客有更多文章,
  153.                 sb = new StringBuilder();
  154.                 sb.append(cur.date);
  155.                 sb.append(',');. 围观我们@1point 3 acres
  156.                 sb.append(' ');
  157.                 sb.append(cur.category);
  158.                 sb.append(',');.留学论坛-一亩-三分地
  159.                 sb.append(' ');
  160.                 sb.append(cur.cnt);. 1point 3acres 论坛
  161.             }
  162.             prev = cur;
  163.         }
  164.         String printString = sb.toString();
  165.         System.out.println(printString);. Waral 博客有更多文章,
  166.       /*. 牛人云集,一亩三分地
  167.         for(Map.Entry<String, Map<String, Integer>> entry : logs.entrySet()){
    . visit 1point3acres for more.
  168.             StringBuilder sb = new StringBuilder();
  169.             String date = entry.getKey();
  170.             sb.append(date);
  171.             Map<String, Integer> map = entry.getValue();
  172.             
  173.             for(Map.Entry<String, Integer> sub_entry : map.entrySet()){
  174.               String category = sub_entry.getKey();
  175.               int cnt= sub_entry.getValue();
  176.               sb.append(',');. 留学申请论坛-一亩三分地
  177.               sb.append(' ');
  178.               sb.append(category);
  179.               sb.append(',');
  180.               sb.append(' ');. more info on 1point3acres
  181.               sb.append(cnt);
  182.             }
  183.             System.out.println(sb.toString());
  184.         }
  185.     */
  186.     }
  187. }
复制代码
Mobile Apps Category (English)728x90
回复 支持 1 反对 0

使用道具 举报

我的人缘0
EkoLanWei 发表于 2016-10-31 05:22:03 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
求发邮箱 hongruzh@gmail.com 楼主好人 楼主一身平安
回复 支持 0 反对 1

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-11-5 04:54:41 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
liu.haonan 发表于 2016-11-5 04:19
请问一下楼主,这个key一定会是2512208吗?还是不同的testcase会有不同的key?
如果key不相同的话,在不 ...
. 1point3acres
1.不同case的key不一样
2.signature不一定有循环key,最坏情况signature就是一个key,你要做的就是去check是否有循环key, 重新加密的时候能得到给你的string
回复 支持 1 反对 0

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:38:55 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
employee, department题, 自己没遇到,不过同学试了通过了
  1. select d.Name, count(e.ID) as ID_COUNT
  2. from Department d
    . 1point3acres
  3. left join Employee e
  4. on e.DEPT_ID = d.DEPT_ID
  5. group by d.Name
  6. order by ID_COUNT desc, NAME
复制代码
回复 支持 反对

使用道具 举报

我的人缘0
sccnju 发表于 2016-10-31 04:41:36 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
谢谢楼主。我跟楼主一样也是只能过第一个test case。。醉了。。。看了下楼主的code觉得没什么毛病。。。。.本文原创自1point3acres论坛
. Waral 博客有更多文章,
再次吐槽一下居然不给看test case。。。。
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:54:06 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
expression tree,这题我自己也没遇到,不过貌似是个高频题,贴上代码欢迎讨论,因为没有跑过hackerrank,不保证能pass all test case
  1. static String experssionTree(String string){
  2.   String[] input = string.trim().split("/"); 来源一亩.三分地论坛.
  3.   String expression = input[0];
  4.   String operation = input[1];. 1point3acres
  5.   for(char op : operation.toCharArray()){
  6.     if(op == 'R'){
  7.       expression = reverse(expression);
  8.     }
  9.     if(op == 'S'){
  10.       expression = simplify(expression);
  11.     }
  12.   }
  13.   return expression;
  14. }
  15. static String reverse(String s){
  16.   char[] arr = s.toCharArray();
  17.   int begin = 0, end = arr.length - 1;
  18.   while(begin < end){.留学论坛-一亩-三分地
  19.     char tmp = arr[begin];
  20.     arr[begin] = arr[end];. 留学申请论坛-一亩三分地
  21.     arr[end] = tmp;
  22.     if(arr[begin] == '('){
  23.       arr[begin] = ')';
  24.     }else if(arr[begin] == ')'){
  25.       arr[begin] = '(';  
  26.     }
  27.     if(arr[end] == '('){
  28.       arr[end] = ')';
  29.     }else if(arr[end] == ')'){
  30.       arr[end] = '(';  
  31.     }
  32.     begin++;
  33.     end--;. from: 1point3acres
  34.   }
  35.   return new String(arr);. from: 1point3acres
  36. }. 牛人云集,一亩三分地
  37. static String simplify(String s){. visit 1point3acres for more.
  38.   boolean firstLeft = true;
  39.   char[] arr = s.toCharArray();
  40.   Stack<Integer> stk = new Stack<>();. 一亩-三分-地,独家发布
  41.   List<Integer> index = new ArrayList<>();. from: 1point3acres
  42.   for(int i = arr.length - 1; i >= 0; i --){ 来源一亩.三分地论坛.
  43.     if(arr[i] == ')'){
  44.       stk.push(i);
  45.     }. more info on 1point3acres
  46.     if(arr[i] == '('){
  47.       int rightIndex = stk.pop();
  48.       if(firstLeft == true){
  49.         int leftIndex = i;
  50.         index.add(rightIndex);
  51.         index.add(leftIndex);
  52.         firstLeft = false;
  53.       }else{
  54.         if(stk.isEmpty()){
  55.           firstLeft = true;
  56.         }. 牛人云集,一亩三分地
  57.       }
  58.     }
  59.   }

  60. 来源一亩.三分地论坛.
  61.   StringBuilder sb = new StringBuilder(s);
  62.   Iterator<Integer> iterator = index.iterator();
  63.   while(iterator.hasNext()){
  64.     int id = iterator.next();
  65.     sb = sb.deleteCharAt(id );
  66.   }
  67.   return sb.toString();
  68. }
复制代码
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 04:56:09 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
DNA序列那题LC最新的433已经出来了,大家可以去做下,思路跟word ladder是一样的,总体也不是很难。
回复 支持 反对

使用道具 举报

我的人缘0
路未翎 发表于 2016-10-31 05:00:07 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
楼主好人!请收下膝盖!!!祝下周谷歌面试过过过!!昨天刚整理完地里的题写了两题,准备今天继续写来着
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 05:00:09 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
还有几题除了log parser看地里吐槽test case过不去的,其它总体来说都不是很难,只是hackerrank看不见test case,所以有时候一个人不一定能想到,如果能有人一起讨论下就更好啦,毕竟感觉twitter oa不是侧重考算法。。

各位加油!
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 05:05:22 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
sccnju 发表于 2016-10-31 04:41
谢谢楼主。我跟楼主一样也是只能过第一个test case。。醉了。。。看了下楼主的code觉得没什么毛病。。。。
...

是啊,不给看test case真是很操蛋。。
回复 支持 反对

使用道具 举报

我的人缘0
 楼主| duziyuanyang 发表于 2016-10-31 05:06:01 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
路未翎 发表于 2016-10-31 05:00
. 1point 3acres 论坛楼主好人!请收下膝盖!!!祝下周谷歌面试过过过!!昨天刚整理完地里的题写了两题,准备今天继续写来着{: ...

借你吉言!也祝你好运啦,抽到简单题过过过
回复 支持 反对

使用道具 举报

我的人缘0
rebecca1111 发表于 2016-10-31 05:13:57 | 显示全部楼层
  此人我要顶:
 
0% (暂未有人投票) 【我投】
  此人我要踩:
 
0% (暂未有人投票) 【我投】
mark 楼主好人,祝福狗家顺利
回复 支持 反对

使用道具 举报

游客
请先登录

本版积分规则

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

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

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

custom counter

GMT+8, 2018-6-25 08:12

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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