首页 > 蔚来汽车Java一二面!
头像
代码界的小白
编辑于 2021-08-11 21:10
+ 关注

蔚来汽车Java一二面!

8.3号 一面 45min

时间大概50min

1.自我介绍

2.问一些项目中遇到的问题

3.tcp粘包和拆包了解吗

注意:这个问题问的好像比较频繁!!!

4.问有没有做过网络通信相关的

5.tcp三次握手为什么不是两次握手

6.做一个最小栈的题(算法题)

7.优化空间复杂度(优化)

8.线程池了解吗

9.说一下线程池为什么要手写,还有就是固定线程数会出现什么问题

10.线程池的拒绝策略说一下?

11.非稳定排序算法你找一个,并说一下?

12.为什么区分稳定和非稳定

13.举一个稳定的场景吧?

整体还不错,问题都不难,主要是手撕代码,然后优化!

8.10号 二面 50min

项目

1.自我介绍

2.笔试的项目说一下

3.springboot的项目说一下

4.其他医院如何提交数据的?

5.访问的时候如何定位是哪个微服务?

项目问的还是比较细致的,自己简历上的项目一定要多看看,自己想想面试官可能会问哪些问题。

其他

1.https的客户端和服务端的交互过程

2.图的遍历方式

3.静态方法和非静态方法的区别

3.jvm中的类加载过程

4.初始化过程是指什么?


算法题

用数组实现队列,三个函数,分别是添加add(),出队poll()和获取队中的元素个数getSize()

当队的元素满的时候进行二倍的扩容。

面试的时候只写了大体的框架,说了一下思路。

面试结束后,写完测试了一下。
class myqueue {
    private int[]date;
    //first记录队头位置 size记录队中元素个数 last记录队尾的位置
    private int first,size,last;
    private int capacity;

    //初始化
    public myqueue(int capacity){
        this.capacity = capacity;
        date = new int[capacity];
        this.first = 0;
        this.size = 0;
        this.last = 0;
    }
    //添加元素
    public void add(int x){
        //当队列中元素的个数大于容量就进行扩容
        if(size>=capacity){
            ensureCapacity(2*capacity);
            date[last++] = x;
            size++;
        }// 否则进行插入 操作
        else{
            //如果最后一个位置等于容量,此时最前面还有多余的位置可以放元素
            if(last == capacity){
                last = last%capacity;
            }
            date[last++] = x;
            size++;
        }
    }

    //扩容函数
    public void ensureCapacity(int newCapacity){
        System.out.println("开始扩容");
        //保存原来的数组
        int []old = date;
        //新的容量
        date = new int[newCapacity];
        capacity = newCapacity;
        //旧的数组赋值到新数组
        for(int i=0;i<size;i++){
            //有可能有些值存在前面的位置里 比如 0 1 2 3 4 此时first为2 last为1 
            if(first>=size){
                first = first%size;
            }
            date[i] = old[first++];
        }
        //更想fist和last的位置
        first = 0;
        last = size;
    }

    //队头出队
    Object poll(){
        if(size == 0){
            return null;
        }else{
            int x = date[first];
            //更新队头和队中元素个数
            first++;
            size--;
            return x;
        }
    }

    //获取队中的元素个数
    int getsize(){
        return size;
    }
}

//测试用的
public class test1 {
    public static void main(String[] args) {
        myqueue test = new myqueue(5);
        test.add(1);
        test.add(2);
        test.add(3);
        test.add(4);
        test.add(5);
        Object x = test.poll();
        System.out.println(x);
        test.add(6);
        test.add(7);
        System.out.println(test.getsize());
    }
}

可能已经无了吧,害,最后问面试官自己是不是无了,面试官说他们有个打分排名,如果在他们招的名额以内还有机会。


更多模拟面试

全部评论

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

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐