美文网首页
拉勾夜宴小试牛刀

拉勾夜宴小试牛刀

作者: 春秋杰瑞 | 来源:发表于2019-09-29 09:14 被阅读0次

    拉勾夜宴是拉勾网举办的针对 Java 开发者的招聘会,云集不少知名企业,上周五我和同事一起去现场试了一把。

    第一家是摩天轮,他们在广告在上海地铁处处可见。

    我旁边观察许久,被面试者一个问题答不上来就要立马让贤。我同事先去试了一把,没有通过,我我又去试。

    上来便让我手写快速排序,没能写出,然后让写冒泡排序,我有印象可以口述出来但写出来比较吃力,于是放弃掉了。

    出师不利,对我信心有些打击,便闲逛起来听听别人都是怎么面试的,还有面试官提问的问题。最后发现一家叫躺平设计家的企业面试官问的问题我基本上都熟悉,便鼓起信心试了一把。

    首先是 HR,我把唯一的一份简历递交过去之后,她问了一些个人概况,之后技术面试官开始发问,我这里简单记录一下。

    无限创建线程,会最先出现什么异常?
    答:内存溢出

    双亲委托类加载的特点
    答:优先从父类加载,保证安全性。

    相同 String 不断的创建,最终会有多少 String?
    答:只会有一个。

    Java 线程占有内存大小
    答:不清楚,说明了栈的作用和配置方法。

    String 和 Class 缓存在哪个区域?
    答:永久区

    还有其它问题,记不大清楚了。 他觉得我基础还行便给了我一张 Offer 卡,约我下周一去他们公司继续面试。

    我周末赶紧花时间把简历从一页扩充到三页,整个人更有自信了。

    周一很快就揭开面纱,还是之前的 HR 接待了我,这次面试是另一位技术负责人,主要问了一些案例性问题。

    第一个问题是 Java List 有哪些类型,我告诉他有 ArrayList LinkedList CopyOnWriteArrayList,其次 ArrayList 和 LinkedList有什么区别,我从查找和插入操作解释了它们之间的效率差异, 感觉他还算满意。

    第二题是如何利用 List 存储上海市 2500万人的身份证号码,我回答是采用有序存储,然后二分查找,他说身份证不是数字没法这样做,我告诉他可以按 ASCII 值排序,他勉强认可了,但是让我回去想想有没有其它的解决方法。

    第三题偏算法,有数组 R =[7, 3, 2, 9, 4, 8,....]

    数组 K长度为 3,作为滑动窗口存在,比如第一次滑动 K =[7, 3, 2],求最大值得到 7
    然后滑动一次,K = [3 , 2, 9],求最大值得到 9

    设计算法求出滑动窗口所有最大值。

    我写了一个非常简单的算法,本来想利用上一次比较结果节省比较次数,当时脑袋短路了,没思考好。

    我的简单算法

    public static int[] find0(int[] R) {
        int[] OUT = new int[R.length - 2];
        
        for(int i = 0; i + K <= R.length; i++) {
    
            int max = Integer.MIN_VALUE;
    
            for(int j = 0; j < K; j++) {
                max = Math.max(max, R[i + j]);
            }
    
            OUT[i] = max;
        }
    
        return OUT;
    }
    

    他让我求这个算法的时间复杂度,我最终计算得到 O( N+ M -1),然后他说没什么问题了,让我周四过来 CTO 面试。

    周四也就是今天我来了,CTO 感觉非常老成。首先让我自我介绍,然后问我们的产品是什么,服务端架构画一下,介绍一下开发中的难点,诸如此类,感觉介绍难点的时候回答的不够好,感觉还不够难,以后需要加强这方面终结。

    CTO 面试完,没有当初告知结果,HR 就让我等通知,我现在瑟瑟发抖,估计是要黄了。

    自勉,加油吧!

    相关文章

      网友评论

          本文标题:拉勾夜宴小试牛刀

          本文链接:https://www.haomeiwen.com/subject/vlewuctx.html