Loading

百度质量部一面

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])

结束

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

posted @ 2014-03-15 21:39  dsy  阅读(149)  评论(0编辑  收藏  举报