c******a 发帖数: 14 | 1 多谢@BabyKnight内推,让我有了这次电面机会。
两道题:
1. 给一个string list, 例如:['a', 'b', 'b', 'c', 'c', 'e', 'e', 'e'],返回出
次次数是中位数的字符。例如本题,应该返回[b, c]。
主要就是两次hash,第一次算每个char的count, 第二次把count作key, char作value即
可。不过有点浪费空间。
2. def crawling()
pass
def getcrawlingurl():
a = []
for x in (1, 100):
a.append('google.com'+str(x))
return a
listsOfURL = getcrwalingurl()
def crawlingMax5(listsOfURL)
问题是如何在crawlingMax5()中调用crawling(),使得一次最多抓取5次url。
我没太明白第2题的题意,开始我以为是多线程问题,后面面试官说和多线性无关,根
据解析来做。大家有谁看懂了这道题的,欢迎一起讨论~ | t********5 发帖数: 522 | 2 想复杂了吧
我觉得是只需要
def crawlingMax5(listOfUrls):
for url in listOfUrls[:5]:
crawling(url)
就可以了
UPDATE:好像题意是说一次最多只进行抓取5个urls,但是还是要全部抓完。这样的话
你需要写一个rate limiter | d******e 发帖数: 2265 | 3 throttling?
这个要讨论,是要pipeline还是fork join.
常见的
pool = Pool(5)
jobs = [pool.spawn(crawl, para) for para in getCralinggulr]
【在 c******a 的大作中提到】 : 多谢@BabyKnight内推,让我有了这次电面机会。 : 两道题: : 1. 给一个string list, 例如:['a', 'b', 'b', 'c', 'c', 'e', 'e', 'e'],返回出 : 次次数是中位数的字符。例如本题,应该返回[b, c]。 : 主要就是两次hash,第一次算每个char的count, 第二次把count作key, char作value即 : 可。不过有点浪费空间。 : 2. def crawling() : pass : def getcrawlingurl(): : a = []
| s*******i 发帖数: 698 | 4 什么叫根据“解析”来做?原词是parsing吗?
如果是的话,感觉是一道简单的regex的题?
【在 c******a 的大作中提到】 : 多谢@BabyKnight内推,让我有了这次电面机会。 : 两道题: : 1. 给一个string list, 例如:['a', 'b', 'b', 'c', 'c', 'e', 'e', 'e'],返回出 : 次次数是中位数的字符。例如本题,应该返回[b, c]。 : 主要就是两次hash,第一次算每个char的count, 第二次把count作key, char作value即 : 可。不过有点浪费空间。 : 2. def crawling() : pass : def getcrawlingurl(): : a = []
| s***y 发帖数: 12419 | |
|