携程一面 惊恐经
视频一开始:
面试官:准备好了吗?
我:好了。
面试官:那自我介绍一下吧
我:吧啦吧啦。。。。
面试官:介绍一下你的项目,以及用了什么技术
我:吧啦吧啦。。。。
然后面试官问了一个不是我主要负责的问题,有点解释不清,然后就尴尬跳过
面试官:说一下hashmap的查询key值的过程
我:吧啦吧啦(这个答上了)
面试官:那你介绍下final关键字用法
我:大概说了一下用在变量上和方法上,以及作用
面试官:final修饰的变量有几种赋值方式
我:第一就直接赋值,第二。。。。(没答出来,真不知道)。
这时候,可能因为连续两次答得不好,面试官就说要不就到这吧,。。。。
我????这就完了吗。。。我看了一下时间7分钟。。。,这样绝对完了
我:要不再问问吧
面试官:好吧。。。那你了解单例模式吗?
我:了解
面试官:确定了解吗?我会问的很深的,,
我:emmm,是的,了解(回答不了解就完了。。)
面试官:那你写一个单例模式实现方式
我:开始敲敲敲。。。(写了一个普通的饿汉式)
面试官:写成这样,要不算了吧
我:等一下,这个可以改善,改成双重校验锁模式(不知道为啥我脑子抽了不直接写这个)
面试官:那你改吧
我:敲敲敲。。。写完了
面试官:嗯,那你解释一下两次判断为空分别有什么作用
我:(还好看过,回答上了)https://blog.csdn.net/MaoObject/article/details/104536894 这个博客解释的很好
面试官:那做一下算法题吧
我:好的
面试官:你把我给的这串数字按快排的方式排一趟,给出排一趟后的顺序,要以最后一个元素作为参考
我:(这个比较简单)吧啦吧啦
面试官:下一题,给你一个字符串链表,每个链表节点里面存一个字符,将这个链表里面的重复连续字符去除,比如 1 ->2 -> 2 -> 3 ——》 "13" ,敲一下
我:敲敲敲。。。(中间改了一下小bug大致没什么问题)
面试官:好,下一题,给你一个很大的数组,怎么取出里面最大的十个数
我:先逆序排序,取连续的前十个
面试官:这样太简单了,效率太低,有没有好一点的方法
我:(想了一会,还好想到一个小根堆的方法)维持一个大小为10的小根堆,遍历数组,只要遍历到的元素大于根节点的值,就将其替换。
面试官:嗯。。。可以,下一题,输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值
我:还好这个做过,用动态规划,大概捋了一下思路,磕磕碰碰做出来了
面试官:那就这样吧,你有什么问我的吗
我:吧啦吧啦。。
面了五十多分钟,全程紧张状态,太难了,不知道能不能过,害