百度质量部一面

3月11日,下午一点半,天晴,微风,我怀着一颗紧张、激动的心情走进奎科大厦,参加百度的面试,职位手机产品QA。

面试中杂七杂八的就不谈了,程序题一共问了我两道,答得都不是很理想,现在回想起来感觉有点胡说八道的感觉。。。回到家整理了一下思路,把其中的一道题又考虑了一下,发现挺简单的,就在计算机上实际操作了一下,也算是对自己的一种锻炼吧。

问题

一个文本文件,内容如下:

http://www.baidu.com/s?ie=UTF-8&wd=rstrip 20
http://www.pythondoc.com/pythontutorial3/inputoutput.html 20
http://www.baidu.com/ 30
。。。

也就是以网址 出现次数的格式罗列在文本中,问题是统计出主域名的个数,比如上面三行字符串中http://www.baidu.com/的个数为50,http://www.pythondoc.com/的个数为20

思路

  • 准备一个字典存放结果
  • 提取每一行主域名和个数
  • 判断主域名是否在字典中,在,则累加个数;不在,则将主域名加入字典

解答

import re
#事前准备
#打开指定文本文件
#新建字典存放处理后的数据
infile=open('D:/baidu.txt','r')
dict1={}
for i in infile:
    #正则表达式匹配主域名
    list_url=re.findall(r'^http\:\/\/w{3}\.\S{1,}\..*?\/',i)
    url=list_url[0]
    #提取网址和相应个数
    tmp=i.split()
    #判断
    if url in dict1.keys():
        dict1[url]=str(int(dict1[url])+int(tmp[1]))
    else:
        dict1[url]=tmp[1]
#打印结果
for key in dict1.keys():
    print 'The number of %s is %s.' %(key,dict1[key])

结束

最后,吐槽一下,百度的前台态度真心不好,赶紧换了吧~面试官的态度非常不错,只是自己表现太糟了。。。

转载于:https://www.cnblogs.com/apriljoy/p/3602529.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值