首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。 或者如下阐述(雪域之鹰): 算法思想:分而治之+Hash 1.IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理; 2.可以考虑采用“分而治之”的思想,按照IP地址的Hash(IP)%1024值,把海量IP日志分别存储到1024个小文件中。这样,每个小文件最多包含4MB个IP地址; 3.对于每一个小文件,可以构建一个IP为key,出现次数为value的Hash map,同时记录当前出现次数最多的那个IP地址; 4.可以得到1024个小文件中的出现次数最多的IP,再依据常规的排序算法得到总体上出现次数最多的IP
1 1

相关推荐

日期: 一面(10.11,30min) HR面(10.12,15min)岗位:Golang后端开发实习背景:   双非科班、一段golang实习经历一面主要问了代码题和场景题,感觉好多没答上来😭但比较意外一面过完两分钟HR发消息通知说过了,面试官非常喜欢我,有点出乎意料🤣1. 自我介绍2. 为什么不选择保研,讲讲你的数学建模比赛经历2. WebSocket和HTTP有什么区别(把websocket、sse和轮询都讲了一遍,并讨论了优缺点)3. 下面代码的运行结果?func main() {ch := make(chan int)for i := 0; i ch }go func() {for item := range ch {fmt.Println(item)}}()}4.下面代码的运行结果?func main() {a := [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}b := a[:3]fmt.Println(len(b), cap(b))b = append(b, 11, 12, 13, 14)fmt.Println(len(b), cap(b))fmt.Println(a, b)}这里我把append方法和java的StringBuffer的append方法记混了😮5. 说说这个题目你的解决思路是什么样的(用golang)要求:有10个不同的url,这些url对应网络上10张不同的图片,请使用并发的方式,同时请求这10张图片,只要有其中任意一个下载成功,其他9个放弃掉;如果5秒内没有一个请求成功,则打印"无图片成功"og后,正常停止程序;6. 我看你的简历中提到了ants库,说说这个题目你的解决思路是什么样的有10个不同的url, 这些url对应网络上10张不同的图片, 请使用并发的方式, 同时请求这10张图片; 要求, 使用ants库, 创建容量为5的并发池。HR面是一个很温柔的小姐姐😊,问了我的个人情况什么的。#26届实习##Golang# #面试#
点赞 评论 收藏
分享
头像
10-25 23:02
已编辑
华南理工大学 C++
查看32道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
✔️9.11一面拷打字节实习经历拷打开源项目拷打mq,拷打SSTable,结构,读过程go的GC机制,为什么用三色标记法?mysql的索引结构(b+树),索引优化,什么是回表?mysql三万要分表是为什么?(保证b+树始终三层,减少IO)mysql四个事务隔离级别读提交和可重复读区别,为什么会幻读?什么是幻读?HTTPS握手过程没写算法题秒复试✔️9.13二面(1.5h)字节实习经历redis底层数据结构,redis挂了对你写的服务有没有影响(弱依赖),redis高可用性,主从怎么同步效率更高?(先打到主服务器,同步完成才打到从)mysql索引优化,底层数据结构(B+),为什么用B+,B+数据结构,B+怎么插入的?数据大小顺序怎么样的(左小右大)打开代码讲os项目,fork过程(❎),内存实现键入网址发生的一系列操作,浏览器缓存用的什么协议?(❎)ringbuffer,过程,什么是DMA还有过程,epoll底层怎么实现?命令题:top命令,多核情况下负载高低命令(❎)tcpdump命令netstat命令,closewait和timewait状态何时出现?socket过程场景题:大文件小内存数据排序问题,两两归并比较慢怎么优化(多路归并),多路归并思想?时间复杂度?智力题×2:1、一箱苹果一箱橙子一箱混合,标签贴错的,只拿一个,怎么正确判断每一箱里的是啥?2、十七个瓶子里有一毒药,第二天要知道哪瓶是毒药,要用多少只小白鼠?非技术问题:微信同事对你的评价是怎样的?个人的优点缺点?周围人的反馈,个人的选择是否会考虑长期的发展?一直让举例子举例子。base在深圳,问了下是哪儿人,做数字货币支付相关,语言栈是C++往go迁✔️9.20三面面了一个小时50min,像总监面过了一天半状态变hr面✔️9.26hr面差不多20分钟,面完秒录用评估许愿offer
点赞 评论 收藏
分享
牛客网
牛客企业服务