2014.10.13面试总结

18 篇文章 0 订阅
11 篇文章 1 订阅

1.一个文件里有许多单词,每行一个词,统计出现频率最高的前100个单词

    Linux一条指令:cat input.txt | sort | uniq -c | sort -k1 -n -r | head -100


    小数据情况:

    遍历文件中的所有单词,用一个map<string,int>存储每个单词及其出现的次数

    构造一个含有100个元素的小顶堆,遍历一次map找到出现次数最多的前100个单词


    大数据情况:

    根据系统可用内存,将大文件分隔成N个小文件,分隔方式为Hash(string)%N,使得每个小文件中的数据能够读入内存

    对每个小文件,用小数据情况中的方法处理,得到小文件中的TOP100单词

    N个小文件一共会得到100N个单词,再用一个100大小的小顶堆从中选中TOP100


2.设计电梯调度系统,一台、两台、多台电梯时各有什么特点,为什么要设计多台电梯?

    常见的电梯调度算法:

    先来先服务(FCFS):根据乘客请求乘坐电梯的先后次序进行调度

    最短寻找楼层时间优先算法(SSTF):请求队列中距当前能够最先到达的楼层的请求信号就是下一个服务对象

    扫描算法(SCAN):响应处在于电梯运行方向相同的各楼层上的请求

    LOOK算法:在SCAN上有所改进,电梯所移动的方向上不再有请求时立即改变运行方向

    SAFT算法:与SSTF算法的思想类似,唯一的区别就是SATF算法将SSTF算法中的寻找楼层时间改成了访问时间

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值