今天去某公司面试的状态,大家怎么看?

2015-07-08 16:46:31 +08:00
 szopen
技术面试的人问了其中几个问题:
1. 设计一款订单推送系统,然后要保证推送是实时的,因为我说先缓存一下订单来应对访问量,再推送,我说推送有点延迟没问题吧,出题的说我们的订单推送没延迟,下完单后,客户端立马收到推送,那我就说你就直接写库呗(虽然我不知道为什么这样做了就没延迟了)

2.设计抓100亿页面然后分析,我给出了方案,出题的又问需要多长时间,我说没做过,然后出题的又说你不知道就不说时间了吗?然后我胡扯了一个时间.......

3.有个问题涉及到缓存数据问题,这次我说先memcache缓存,然后面试官立马说memcache会丢数据,我就说,你用的redis也是延迟的,此时对方没说话了,我只好说那就直接写库,集群,效率嘛服务器上固态硬盘(虽然我知道直接写库也是有延迟的,只时频率不一样的,我在想99.99%与99.999%这两个概率有啥区别)
6342 次点击
所在节点    职场话题
30 条回复
wesley
2015-07-09 09:37:25 +08:00
一般面试时动辄百万uv, 多少T数据要处理的都是唬人的,
又一次面试一小公司, 对方问我, 2个服务器之间网络很差, 有几百G数据要同步,怎么样最快
我回答:"发顺丰"
szopen
2015-07-09 10:03:32 +08:00
@helloworld00 我倒是没考虑多台机器的情况, 只考虑单台机器的故障率
ijse
2015-07-09 10:04:10 +08:00
@wesley LOL~~太机智了
mhycy
2015-07-09 10:10:54 +08:00
@wesley
赞!这答案比任何软件方案都要靠谱!
wikimore
2015-07-09 10:58:33 +08:00
第一题:
订单肯定要直接写库,至于性能,只能靠分库分表,提升硬件来解决(常说的scale out和scale up),写库之后,发送订单消息给消息中间件,如RabbitMQ,ActiveMQ,Kafka等,后面再挂很多的推送服务器,接收订单消息,推送给用户,整个系统应该都可以做到无单点。
第二题:
就是设计一个爬虫系统,可以参考apache的nutch,存储系统可以考虑hdfs做离线分析,或者直接用spark做实事分析(这取决分析的业务),问时间,我觉得没有准确的答案,因为和集群大小,硬件,网络有关,你只需要给出一个计算的思路就可以了
第三题:
楼主没有描述清楚,不过我觉得楼主可能没有理解面试官的意思,缓存会失效,不丢只有落盘,redis倒是有一个store模式,不过当内存不够用时,性能就会急剧下降。

楼主第一题和第三题写数据的时候都考虑缓存,这个应该不太合理,缓存只在读时才有,写时应该是缓冲区,一般应用层面不需要考虑,目的是减少系统调用。

有些分析可能不够到位,不对的地方希望大家指出
loveuqian
2015-07-09 11:02:49 +08:00
@wesley 笑23333
justfor
2015-07-09 12:32:55 +08:00
@wesley 谷歌就是这么干的。
axb
2015-07-09 13:22:17 +08:00
楼主应该没做过负载比较高、规模比较大系统,或者是从传统企业转型、缓存用的比较少,导致你和面试官不在一个层面上思考问题。

第一个问题问的是消息如何快速推送,不知道为什么会被理解成数据库延迟,这里也表现出楼主缓存用的不深,不清楚“缓存的延迟”到底是多少。

第二个问题属于架构设计,一个新系统上线之前需要对系统做数据计算和评估,评估集群的规模和可能的风险点。楼主随便拍了个数说明之前应该没有主导过量级达到一定程度的系统设计,毕竟集群里多一台机器就意味着每年几万的支出。

第三个问题是缓存的使用,缓存会不会丢数据和有没有延迟是两件事,如果是memcached这种缓存,数据重启就没了,需要有一个可以落地的存储来保证数据不丢,而如果用redis这种自带落地功能的缓存,对于非核心数据来说是基本可以保证数据不丢的。

最后那句我也没看懂楼主想表达什么。
lucky2touch
2015-07-09 15:35:00 +08:00
说说我的理解吧
1.我认为就是考察多线程和一些基本常识。
2.不清楚题目核心是在抓取还是在分析,都有一些多线程,并行计算,数据汇总之类的。
3.题目不清楚,不好回答,一般缓存相关的问题有命中率,活跃数据的存留机制,数据持久化以及与缓存相关的雪崩问题。
最后4个9,5个9的问题
@morethansean 说得比较清楚,假如是淘宝这样的系统,一年5分钟的宕机损失和50分钟的宕机损失可不一定是线性的。
tina90
2015-07-22 11:28:16 +08:00
楼主,最近看机会吗?我这边有美图秀秀。滴滴打车。美团。互联网金融等等公司的PHP机会,不知道你考不考虑,我的邮箱是tina0zhang@163.com

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/204248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX