爱奇艺的企业流程部,一共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的
说点什么
您将是第一位评论人!