首页 > 面试复盘|巴比特一面凉经
头像
人形打码机
编辑于 2021-08-19 14:50
+ 关注

面试复盘|巴比特一面凉经

巴比特一面凉经,这应该是面的第九家公司,面试体验最佳,就记录下吧(面第九家还能挂一面我可真是菜)腾讯会议 70分钟左右
首先自我介绍然后3选2笔试题,难度适中:第一个是类型与找子数组最大和的贪心算法,不过要求输出子数组;第二个是判断一个链表是否有环;第三个不熟悉就没记
笔试40分钟,我处理不好输出链表的边界值,面试官提醒我两次也做不出,菜是原罪;说了下第二题的思路就直接开始问答:
1.ArrayList与LinkedList区别; ArrayList增删元素消耗哪些资源;ArrayList<String>复制数组的话中间变化情况    ArrayList与LinkedList查询操作区别,链表优化你会么 ;  LinkedList是单链表还是双链表

2.线程启动方式有哪些,区别是什么;   除了加锁如何实现线程安全        volatile加锁么;  了解线程池不

3.TCP三次握手         第二次握手时服务器发送序列号么              第三次握手有信息传输么

4.进程和线程区别        通信过程中区别         读锁用那个关键字(只进行读没有其他操作)
CPU调度算法

5.熟悉Redis不        MySQL索引了解不          Linux命令  在文档中通过关键字查询内容

大概就这么多,问的还是挺经典的,面试体验不错,可惜太菜了没能及时A出第一题,加上对多线程理解不够,上午面试下午就通知凉了;也不怎么意外,要深入学习下多线程和锁操作了
第一题贴这了
输入{2,1,-3,4,-1,2,1,4,-5}    输出{4,-1,2,1,4}
  private static ArrayList<Integer> findMax(int[] arr) {
        int sum = arr[0];
        ArrayList<Integer> list = new ArrayList<>();

        for (int i = 1; i < arr.length; i++) {
            //如果sum加上当前元素大于此元素,那么将此元素前一位元素加入数组   否则清空数组
            sum += arr[i];
            if (sum > arr[i]){
                list.add(arr[i - 1]);
            }else {
                list.removeAll(list);
                sum = arr[i];
            }
        }
            return list;
    }


更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖