`
jwinder
  • 浏览: 26450 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

面试题

    博客分类:
  • JAVA
 
阅读更多
下面二题综合题请大虾给指教,本人对这方面只是了解而没有应用过,所以回答的比较肤浅,不知道面试的人会是什么感想。

1、现在有一个广告系统,每天广告系统的访问量很大,每当用户点击一个广告时,需要记录广告的访问时间和每个IP每日访问次数,请给出系统优化方案?说得越多越好。 

2、现在有一张3000万用户数据的积分表,每年的1月1日0时需要对用户积分进行清零操作,而积分数据时时更新的,在不影响当然用户系统使用情况下,进行清零操作,请问你将如何设计系统? 
分享到:
评论
69 楼 jindw 2010-07-31  
1. 你的回答说明你不懂互联网。
2. 你的行为有违工程师的职业道德。

如果第一条还能被一些小公司接受,毕竟不懂得还可以培养。
第二条,我不说什么了。

好运吧。
68 楼 jinliangonline 2010-07-31  
就第二道题简单说说,临时表的做法我感觉还是有问题存在的。
更新3000W条数据的时间并不短,这段时间内,如果有部分用户的积分发生变化,那该用户就受到损失了。

我还是蛮同意前面几个朋友提到的 用户自己触发才进行积分清零的做法的。
无非是多一个last_update_dt字段。
用户触发操作的时候,判断下最后更新时间是否是今年,如果是的话,就累加积分,如果否就进行清零。
前面有朋友说 如果查询今年的积分情况怎么办(部分用户大半年都不触发积分操作的,积分保留的还是去年的积分)
其实把查询的sql稍加修改就解决了 where last_update_dt>今年。

其实,不管是临时表,还是用户主动触发,都还是看实际情况进行处理比较好。
比如,张贴个告示:我们系统1月1号的零点至八点进行定期维护,那就写个存储过程慢慢一条条的跑就好了。
67 楼 chl914 2010-07-30  
这两个问题工作中都曾经遇到过,哈哈
66 楼 石建武 2009-09-21  
呵呵。我也做过这样的面试题。
当时想到的也就是:
1.”缓存”,开辟单独线程,定时刷新到数据库。
2.临时表

感觉自己说的答案,人家很不满意。
65 楼 lonelybug 2009-09-19  
bluemusic 写道
lonelybug 写道
你换奖品的时候,要到柜台,当柜台访问你的个人信息的时候,就会触发清零实践。

这种Event Driven的设计方法是比较适合这种情况的。

那有个疑问哦,如果网上或者电话查询的时候,在查到具体积分前,先清0咯。那触发的方式比较多吧。暂不考虑频繁触发的问题。


我都不知道你有没有设计过软件!?

高内聚设计懂么!?那位老兄愿意给他讲讲的,好心帮个忙,告诉他检测触发事件应该放到那个层。
64 楼 jwinder 2009-09-18  
canyon 写道
我是相当理解那个管面试的项目经理的,好多技术人员不理解客户的需求就是上帝这个道理,碰到点难于满足的需求就撂挑子不干了,这样的员工在任何地方都不行的,做软件项目会得罪客户,做网站开发会得罪项目经理。其实很多情况下,如果你能力够,一时难于满足的需求反而是一个挑战。所以我们看到了,真正的牛人是从来不抱怨客户和需求的。某种情况下先反省反省自己的能力也是一个选项。当然,如果是领导啥都不懂,哪还是换个地方好。不过,到底是你的领导的问题还是你的问题呢?呵呵。



明白
63 楼 zapldy 2009-09-15  
楼主是不是去了杭州一家做UUCall的悠恒网络公司啊?我去笔试面试过,在没有谈薪水之前他们好像对我很满意,最后谈薪水的时候我还没有说我预期薪水,只说了以前的薪水他们就直接吓着了,最后再也没有给我打电话!
62 楼 bluemusic 2009-09-13  
lonelybug 写道
你换奖品的时候,要到柜台,当柜台访问你的个人信息的时候,就会触发清零实践。

这种Event Driven的设计方法是比较适合这种情况的。

那有个疑问哦,如果网上或者电话查询的时候,在查到具体积分前,先清0咯。那触发的方式比较多吧。暂不考虑频繁触发的问题。
61 楼 lonelybug 2009-09-13  
你换奖品的时候,要到柜台,当柜台访问你的个人信息的时候,就会触发清零实践。

这种Event Driven的设计方法是比较适合这种情况的。
60 楼 bluemusic 2009-09-13  
lonelybug 写道
第一个题,使用messaging bus方式,或者使用mapReduce来进行。

第二题,当来到新的一年之后,每个用户记录每年第一次被访问的时候,触发清零操作。

对于第二题,如果第二年不买东西即不改变积分,那原积分不变,这时可以用积分兑换奖品了。。。。
59 楼 lonelybug 2009-09-12  
第一个题,使用messaging bus方式,或者使用mapReduce来进行。

第二题,当来到新的一年之后,每个用户记录每年第一次被访问的时候,触发清零操作。
58 楼 markdengcn 2009-09-11  
1、现在有一个广告系统,每天广告系统的访问量很大,每当用户点击一个广告时,需要记录广告的访问时间和每个IP每日访问次数,请给出系统优化方案?说得越多越好。  
答:
两种方案:
    1)采用缓存,每次访问的记录先记录到内存缓存中,定期flush到数据库中。
    2)采用Apache服务器日志来记录就行。每次点击广告时,发送一个请求到Apache服务器,apache自动会记录日志,然后定时去分析日志。当然也可以采用nginx来记录,性能会更高。
    另外,如果访问量再大时,就需要进行做负载均衡,日志处理就需要进行合并处理。
    目前大网站都是这样来处理访问日志的。



2、现在有一张3000万用户数据的积分表,每年的1月1日0时需要对用户积分进行清零操作,而积分数据时时更新的,在不影响当然用户系统使用情况下,进行清零操作,请问你将如何设计系统?
答:由于更新时会导致锁记录,3000w会是一个很长的时间。
    如果需要做到1月1日0时实时切换,可以让记录分为a,b两个字段,一般情况下用a字段,1月1日0时前把b清零,0时切换到b字段。每年一次自动切换。
    如果需要做到实时切换,则可以减少每次更新粒度,比如每次更新1W条,分3千次执行完毕。
57 楼 canyon 2009-09-11  
我是相当理解那个管面试的项目经理的,好多技术人员不理解客户的需求就是上帝这个道理,碰到点难于满足的需求就撂挑子不干了,这样的员工在任何地方都不行的,做软件项目会得罪客户,做网站开发会得罪项目经理。其实很多情况下,如果你能力够,一时难于满足的需求反而是一个挑战。所以我们看到了,真正的牛人是从来不抱怨客户和需求的。某种情况下先反省反省自己的能力也是一个选项。当然,如果是领导啥都不懂,哪还是换个地方好。不过,到底是你的领导的问题还是你的问题呢?呵呵。
56 楼 hotjava 2009-09-10  
1。不加索引。
2。异步处理
55 楼 xiebiao110 2009-09-10  
cheaper 写道
woodless 写道
1、可将访问结果保存到日志,比如使用apache,每天统计分析。
如果需要按小时统计,可将日志文件按小时分割。
实时的话,可采用高性能的bdb+cache方式
我遇到过,不过是很简单的做法,也是对日志文件分析,首先要明白几点,这是一个广告系统,当然数据量很大,所以你的web服务器当然不只一个,如果将及时的广告请求交给后台应用处理的话,后台的app server也会有很多来处理,这种方式必须保证后台app server的高并发,另外一种就是,不直接交给后台app server及时处理,将前台的web服务器的日志按大小,或按时间切割成小文件,交给后台任务分析,当然日志文件,你可以定义好日志格式,我用的nginx,可以按一定规则输出日志,如果实在量很大,直接上hadoop


2、可建两个积分字段,比如score1、score2,分别对应奇、偶年,年份切换的时候,程序控制访问相应字段即可。清零只清没有用到的字段即可,在一年中任何时间都可进行。

这个思路与众不同, 有特点. 学习了.


这个的做法,相对简单了,大家都提到临时表,这确实是一个方案,系统正对临界时间将积分写入临时表,页面展示也读取临时表,然后用另外的任务清理积分,清理完了以后,将临时表的数据写回来
上面有人好像说用缓存,这两个应用好像意义不大,缓存只针对频繁读取的数据才比较有意义,积分不能因为缓存而丢失
54 楼 yuyee 2009-09-10  
想想,那个人好像是说,存数据库连接耗性能
53 楼 yuyee 2009-09-10  
icefishc 写道
yuyee 写道

你写入数据库我还要读出来统计呢,文件还需要IO操作,感觉还是他的方法,直接放队列里,多线程操作统计

第一次听到放到数据库的东西还要拿出来统计.

呃,吓人了,应该是数据库连接耗性能
52 楼 icefishc 2009-09-10  
yuyee 写道

你写入数据库我还要读出来统计呢,文件还需要IO操作,感觉还是他的方法,直接放队列里,多线程操作统计

第一次听到放到数据库的东西还要拿出来统计.
51 楼 yuyee 2009-09-10  
UUCALL的项目经理很年轻
50 楼 robertpi 2009-09-10  
那个项目经理干脆问你怎么开公司得了,会这玩意还需要打工?

相关推荐

    c++面试题面试题面试题面试题

    c++面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试...

    【BAT必备】分布式相关面试题大全面试题

    【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】分布式相关面试题大全面试题【BAT必备】...

    牛客大数据面试题集锦+答案,共523道,46W+字。大厂必备

    大数据面试题V3.0完成了。共523道题,679页,46w+字,来源于牛客870+篇面经。 主要分为以下几部分: Hadoop面试题:100道 Zookeeper面试题:21道 Hive面试题:47道 Flume面试题:11道 Kafka面试题:59到 HBase面试题...

    2023java最新阿里巴巴面试题,2023java最新阿里巴巴面试题

    2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里巴巴面试题2023java最新阿里...

    个人面试题总结(java,数据库,前端).zip

    文件中包含了本人最近在网上总结的面试题,有java面试题,jq面试题,jsp、servlet、ajax面试题,mysql面试题,oracle面试题,redis教案,也有最近时间总结的公司面试题,涉及的层面虽然不是很多,但是应对面试 应该...

    华为面试题华为面试题华为面试题华为面试题华为面试题

    JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题

    (完整版)运维面试题(含答案).pdf

    (完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题(含答案).pdf(完整版)运维面试题...

    java面试题,J2EE面试题 笔试题

    最全的j2EE面试题,题量大、经典,是我面试的整理试题 1、java笔试题大集合 2、各个公司面试题 3、J2EE初学者面试题 4、J2EE面试题(打码查错题) 5、java_华为笔试题 6、java常见面试题 7、java程序员面试宝典 8、...

    ERP工程师面试题ERP工程师面试题

    ERP工程师面试题ERP工程师面试题ERP工程师面试题ERP工程师面试题

    ajax面试题ajax面试题

    关于Ajax的常见面试题 1,Ajax和javascript的区别? javascript是一种在浏览器端执行的脚本语言,Ajax是一种创建交互式网页应用的开发技术 ,它是利用了一系列相关的技术其中就包括javascript。 Javascript是由...

    c#笔试面试题 c#笔试面试题

    c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题 c#笔试面试题

    10万字总结java面试题和答案(八股文之一)Java面试题指南

    JavaOOP面试题 Java集合/泛型面试题 Java异常面试题 Java中的IO与NIO面试题 Java反射面试题 Java序列化面试题 Java注解面试题 多线程&并发面试题 JVM面试题 Mysql面试题 Redis面试题 Memcached面试题 MongoDB面试题 ...

    最新各大公司企业真实面试题-Java面试题

    最新各大公司企业真实面试题-Java面试题最新各大公司企业真实面试题-Java面试题

    AS3.O笔试题 2011年珠海某著名游戏公司面试题 FLASH开发试题

    flahas3.0面试题 flash as3.0面试题 as3.0面试题 as3.0面试题最新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新面试题新...

    北大青鸟JAVA面试题

    北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题北大青鸟JAVA面试题...

    【BAT必备】zookeeper面试题

    【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】zookeeper面试题【BAT必备】...

    【BAT必备】kafka面试题

    【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题【BAT必备】kafka面试题...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    面试题面试题面试题面试题面试题

    面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题面试题...

    JAVA面试题JAVA面试题JAVA面试题

    JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题JAVA面试题

Global site tag (gtag.js) - Google Analytics