P*******b 发帖数: 1001 | 1 3, 给一个log 文件,找出最长的session。 session 定义:同一个userid,两 log 间
隔时间小于一小时
不是太理解。
log file里面是有所有的user的login和logout的时间吗?
找最长的session是给定一个user的id吗?还是没有?
怎么做?
谢谢 |
z****n 发帖数: 1379 | 2 ft 我amazon onsite时候原题
就考虑log-in,两个log-in时间小于1小时就算作一个session里的
log file里头就是一对对的:user_id, login_time
一个session肯定针对一个user id的
方法就是从上往下扫描,每个user建立一个hash table的entry,里头记录这个用户
当前最大session长度,最近的登录时间,以及当前session的长度,每扫到一个us
er的记录,如果hash table里没有,就加进去,有的话,判断和最近登录时间间隔
大不大于1小时,大于1小时的话,就结束当前session,计算时间,跟新当前最大s
ession,并开启一个新session;如果小于1小时,就简单更新下当前session长度及
最近登录时间
【在 P*******b 的大作中提到】 : 3, 给一个log 文件,找出最长的session。 session 定义:同一个userid,两 log 间 : 隔时间小于一小时 : 不是太理解。 : log file里面是有所有的user的login和logout的时间吗? : 找最长的session是给定一个user的id吗?还是没有? : 怎么做? : 谢谢
|
P*******b 发帖数: 1001 | 3 多谢多谢
【在 z****n 的大作中提到】 : ft 我amazon onsite时候原题 : 就考虑log-in,两个log-in时间小于1小时就算作一个session里的 : log file里头就是一对对的:user_id, login_time : 一个session肯定针对一个user id的 : 方法就是从上往下扫描,每个user建立一个hash table的entry,里头记录这个用户 : 当前最大session长度,最近的登录时间,以及当前session的长度,每扫到一个us : er的记录,如果hash table里没有,就加进去,有的话,判断和最近登录时间间隔 : 大不大于1小时,大于1小时的话,就结束当前session,计算时间,跟新当前最大s : ession,并开启一个新session;如果小于1小时,就简单更新下当前session长度及 : 最近登录时间
|
n******h 发帖数: 50 | 4 若用户一小时内多次login,算任意两个login之间最长的间隔,还是只能算相邻login之间的间隔?
文件已经是按照time排序好的? |
d**e 发帖数: 6098 | 5 算最长的
【在 n******h 的大作中提到】 : 若用户一小时内多次login,算任意两个login之间最长的间隔,还是只能算相邻login之间的间隔? : 文件已经是按照time排序好的?
|
n******h 发帖数: 50 | 6 那上面的解法不对啊。
【在 d**e 的大作中提到】 : 算最长的
|
z****n 发帖数: 1379 | 7 只算相邻
我被问的时候是假设已经按照time排好的,这样才能用我说的方法
login之间的间隔?
【在 n******h 的大作中提到】 : 若用户一小时内多次login,算任意两个login之间最长的间隔,还是只能算相邻login之间的间隔? : 文件已经是按照time排序好的?
|
z****n 发帖数: 1379 | 8 我被问的时候是算相邻的,看楼主描述应该也是
比如1:00,1:50,2:40,3:30,4:20,。。。所有这些都在一个session里,
只要相邻不超过1小时
【在 d**e 的大作中提到】 : 算最长的
|
d**e 发帖数: 6098 | 9 我的理解就是算你举例的这个session
比如4:20之后是5:30,那这个session最长时间就是1:00 ~ 4:20这段时间吧。我理解说
“最长”是说个。还是什么地方我误会了?
【在 z****n 的大作中提到】 : 我被问的时候是算相邻的,看楼主描述应该也是 : 比如1:00,1:50,2:40,3:30,4:20,。。。所有这些都在一个session里, : 只要相邻不超过1小时
|
z****n 发帖数: 1379 | 10 对,最长时间是按这样算
我还以为你说的怎么判断session的分界
【在 d**e 的大作中提到】 : 我的理解就是算你举例的这个session : 比如4:20之后是5:30,那这个session最长时间就是1:00 ~ 4:20这段时间吧。我理解说 : “最长”是说个。还是什么地方我误会了?
|