面试总结

分享一下最近找工做遇到的面试题,鉴于我刚刚毕业,问题大多比较基础。java

数据结构和算法

1. 排序算法的原理和实现?面试

参考博客:http://blog.csdn.net/hguisu/article/details/7776068算法

 

2. 队列和栈原理和实现?数组

参考博客:http://blog.csdn.net/hguisu/article/details/7674195数据结构

 

3. 海量的日志文件中存放着ip,找出其中出现次数最多的一个或者几个ip?数据结构和算法

ps. 文件很大,没法一次加载到内存中方案: MapReduce方法,分治法ui

先将每一个ip根据hash(ip)%1024存放到1024个文件中去,这样相同的ip只会在一个文件中。.net

而后把每一个文件中的ip求出出现次数最多的一个或多个ip(可使用java中的HashMap),而后综合多个文件求出出现次数最多的一个或者几个ip。日志

 

 

4. 二分查找的思想和实现blog

给定一个已经排好序的数组,找出某个值所在的数组中的位置?

    public static int binarySearch(int[] arrays, int aim, int start, int end){
        if (start == end){
            return -1;
        }
        int center = (start + end) / 2;
        if (arrays[center] > aim){
            return binarySearch(arrays, aim, start, center - 1);
        }else if (arrays[center] < aim){
            return binarySearch(arrays, aim, center + 1, end);
        }else {
            return center;
        }
    }

Java

相关文章
相关标签/搜索
本站公众号
   欢迎关注本站公众号,获取更多信息