Welcome everyone

爱奇艺现场面试

面试 汪明鑫 778浏览 0评论

 

爱奇艺的企业流程部,一共2轮面试,2个面试官都很和蔼,一个是部门leader,一个好像是总监什么的,因为开会,还等了他半个多小时。

 

一轮面试:

自我介绍后面试官向我讲述爱奇艺的情况,和将要在这里做的项目,双方的互相了解。

jQuery等前端的一些问题

mysql平时怎么优化

explain需要关注那几个字段

事务的隔离级别

Spring的相关知识

接口和抽象类的区别

写一个算法:把二维数组翻转90度

一个业务场景下:有个顶级的部门,下面又有很多子部门,子部门下面还有子部门,有一个订单表,一个字段为pid(部门id),设计一个程序,得到所有部门的订单详情。

我当时是这样做的:

首先需要一个数据结构来存储这么多的部门:

class Partment{
    private Integer pid;  //部门id
    private List <Partment> children = new ArrayList<>();  //该部门的所有子部门

    public Integer getPid() {
        return pid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public List<Partment> getChildren() {
        return children;
    }

    public void setChildren(List<Partment> children) {
        this.children = children;
    }
}

 

然后写下得到所有部门订单信息的关键部分代码:

public List<Order> getOrders(Partment p){ //需要传一个部门的参数 ,传顶级部门
        List<Order> result =new ArrayList<>();

        //设置一个队列  让父部门部门先进队列,出队列时,得到父部门的所有订单信息,在把所有子部门压入队列
        Queue<Partment> q= new LinkedList<>();

        if(p!=null){
            q.offer(p);
        }
        while(!q.isEmpty()){
            Partment cur = q.poll();
            List<Order> list = orderService.getOrder(cur.getPid());   //传入部门id调用service、dao获取这个部门的所有订单信息
            result.addAll(list);
            List<Partment> children = cur.getChildren();  //得到当前部门的所有子部门,并把这些子部门入队列

            for (int i = 0; i < children.size(); i++) {
                q.offer(children.get(i));
            }
        }

    }

 

二轮面试:

主要问我在网易做的项目

还有几个实习的收获

Spring相关

linux相关命令

项目中怎么用linux的

 

 

 

转载请注明:汪明鑫的个人博客 » 爱奇艺现场面试

喜欢 (0)

说点什么

您将是第一位评论人!

提醒
avatar
wpDiscuz