中等
技术面试0 次浏览百度的广告业务中,需要对用户的点击行为进行分析。假设有一个日志文件,每行记录包含用户 ID、广告 ID 和点击时间。请设计一个系统,能够快速统计每个用户的点击次数,并按点击次数降序排序。请描述系统的架构和实现思路。
百度算法工程师
系统设计广告业务点击分析
答题要点
推荐使用分层分析法的答题框架。关键要点:1. 数据读取:从日志文件中读取数据。2. 数据处理:使用哈希表来统计每个用户的点击次数。3. 排序:对统计结果按点击次数降序排序。4. 存储与输出:将排序后的结果存储或输出。示例思路:首先,逐行读取日志文件,使用哈希表记录每个用户的点击次数。然后,对哈希表中的数据按点击次数进行排序。最后,将排序后的结果输出。可以使用 Python 实现,代码示例:python user_clicks = {} with open('log.txt', 'r') as f: for line in f: user_id = line.split()[0] if user_id in user_clicks: user_clicks[user_id] += 1 else: user_clicks[user_id] = 1 sorted_clicks = sorted(user_clicks.items(), key=lambda item: item[1], reverse=True) print(sorted_clicks)