《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 3683|回复: 14
收起左侧

Twitter Apache Log求助

[复制链接] |试试Instant~ |关注本帖
zjhsyfz 发表于 2016-11-4 10:23:55 | 显示全部楼层 |阅读模式

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

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

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

x
不知道有没有童鞋pass了Apache Log Success所有case, 在这里想和大家交流一下。我的思路就是用map存success和total number,如果到了下个时间,就把map里面的所有值来计算各个rate,并存放在priorityqueue, 然后清空map。priorityqueue需要根据要求定义comparator。还是有没过的case,问题会不会出在以下两点:

1. 时间不一定是递增的? 。。。

2. URI的情况不太明朗。应该不止?和空格来区分?我也用regex尝试了各种符号依旧不行。有没有固定的方法来识别URI。

求大神分享一下发现的tricky的case.
 楼主| zjhsyfz 发表于 2016-11-8 11:22:08 | 显示全部楼层
zjhsyfz 发表于 2016-11-4 12:46
collection sort更好吧。顺序应该就没问题了。我目前感觉应该是找uri出了问题,你觉得用什么方法找,rege ...
.鏈枃鍘熷垱鑷1point3acres璁哄潧
为啥发图失败。。。你想要把邮箱留下吧。代码如下:
  1. import java.util.Date;
  2. import java.util.Locale;
  3. import java.util.TimeZone;
  4. import java.text.SimpleDateFormat;

  5. public class parseDate {
  6.         public static String dateparse(String s){. 1point 3acres 璁哄潧
  7.                 SimpleDateFormat ForMatter = new SimpleDateFormat("yyyy/MM/dd'T'hh:mm");-google 1point3acres
  8.                 ForMatter.setTimeZone(TimeZone.getTimeZone("GMT"));
  9.                 SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy:hh:mm:ss Z", Locale.US);
  10.                 Date date = new Date();
  11.                 String res = new String();
  12.                 try{
  13.                         date = formatter.parse(s);
  14.                         res = ForMatter.format(date);. Waral 鍗氬鏈夋洿澶氭枃绔,
  15.                 }
  16.                 catch(Exception e){
  17.                         e.printStackTrace();
  18.                 }
  19.                
    . more info on 1point3acres.com
  20.                 return res;
  21.         }. From 1point 3acres bbs
  22.         .1point3acres缃
  23.         public static void main(String[] args){
  24.                 System.out.println(dateparse("08/Sep/2015:10:55:15 +0000"));
  25.                 System.out.println(dateparse("31/Nov/2012:05:00:18 +0300"));
  26.         }
  27. }
复制代码
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
补充内容 (2016-11-8 11:22):.鏈枃鍘熷垱鑷1point3acres璁哄潧
把hh换成HH,因为是24小时制
回复 支持 1 反对 0

使用道具 举报

求内退求offer 发表于 2016-11-4 10:41:08 | 显示全部楼层
collections sort一下? 楼主我也在准备他家的oa,要不要share一下test case 共同分享一下?
回复 支持 反对

使用道具 举报

 楼主| zjhsyfz 发表于 2016-11-4 11:12:50 | 显示全部楼层
求内退求offer 发表于 2016-11-4 10:41
collections sort一下? 楼主我也在准备他家的oa,要不要share一下test case 共同分享一下?

你说sort是指解决顺序的问题吗?要求是先根据分钟排,再根据uri排,我直接用comparator解决了。刚刚我试了一下时间不是递增的情况,有过了一个case, 但是还有两个没过。。。。
难道test case不同,我唯一的一个看得见的例子是,不知道你的是啥
2016-09-27T05:22 /1.1/friendships/list.json 75.00
2016-09-27T05:23 /1.1/users/show.json 100.00
2016-09-27T22:45 /1.1/friendships/create.json 100.00. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
2016-09-27T22:45 /1.1/friendships/list.json 100.00
回复 支持 反对

使用道具 举报

求内退求offer 发表于 2016-11-4 12:10:10 | 显示全部楼层
你是在map之后sort的还是map之前
回复 支持 反对

使用道具 举报

 楼主| zjhsyfz 发表于 2016-11-4 12:17:09 | 显示全部楼层
求内退求offer 发表于 2016-11-4 12:10
你是在map之后sort的还是map之前

我是直接把每行处理后放到priorityqueue里面,然后用poll的方法print。目前发现好像没有case特别检测分钟的顺序,改过的还是过,不过的依旧不过。严格的是要写comparator
回复 支持 反对

使用道具 举报

 楼主| zjhsyfz 发表于 2016-11-4 12:20:34 | 显示全部楼层
求内退求offer 发表于 2016-11-4 12:10
你是在map之后sort的还是map之前

你是说sort来实现时间顺序吧,一直以为是说最后的答案排序。两个应该都可以吧。
回复 支持 反对

使用道具 举报

 楼主| zjhsyfz 发表于 2016-11-4 12:46:38 | 显示全部楼层
求内退求offer 发表于 2016-11-4 10:41
collections sort一下? 楼主我也在准备他家的oa,要不要share一下test case 共同分享一下?
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
collection sort更好吧。顺序应该就没问题了。我目前感觉应该是找uri出了问题,你觉得用什么方法找,regex?
回复 支持 反对

使用道具 举报

求内退求offer 发表于 2016-11-4 15:41:17 | 显示全部楼层
zjhsyfz 发表于 2016-11-4 12:46. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
collection sort更好吧。顺序应该就没问题了。我目前感觉应该是找uri出了问题,你觉得用什么方法找,rege ...

split后记得trim
回复 支持 反对

使用道具 举报

xycheng0106 发表于 2016-11-8 07:51:22 | 显示全部楼层
请问这题有题目和code吗?怎么到处都找不到
回复 支持 反对

使用道具 举报

 楼主| zjhsyfz 发表于 2016-11-8 11:19:30 | 显示全部楼层
xycheng0106 发表于 2016-11-8 07:51
请问这题有题目和code吗?怎么到处都找不到

没有Code, 我把截图发给你,还有一段处理date的code。这题也是相当tricky,注意几点,开始把各行放在list里面后就sort, split后注意trim, non-500 level指500-599, 处理时间见我发的代码。C:\Users\Jian & Xinyi\Desktop\面经\Twitter\Archive
回复 支持 反对

使用道具 举报

猫小白 发表于 2017-10-13 13:14:13 | 显示全部楼层
zjhsyfz 发表于 2016-11-8 11:19
没有Code, 我把截图发给你,还有一段处理date的code。这题也是相当tricky,注意几点,开始把各行放在list ...
. 鍥磋鎴戜滑@1point 3 acres
楼主可以发我一份截图吗?谢谢!
回复 支持 反对

使用道具 举报

whitecatgsd 发表于 2017-10-13 14:52:22 | 显示全部楼层
哈哈哈哈 处理下timezone吧小兄弟
回复 支持 反对

使用道具 举报

exyman3fendi 发表于 2017-11-3 11:15:35 | 显示全部楼层
UP, 我用了你的方法改了一下时间格式小时那里,自己用的TreeMap排序,全过。你的 小时应该用24小时模式,HH
回复 支持 反对

使用道具 举报

Amazingone 发表于 2017-11-7 10:05:01 | 显示全部楼层
exyman3fendi 发表于 2017-11-3 11:15
UP, 我用了你的方法改了一下时间格式小时那里,自己用的TreeMap排序,全过。你的 小时应该用24小时模式,HH
-google 1point3acres
能发一份代码么?没太明白这题的意思。linglu.wang@gmail.com感谢!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-19 09:02

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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