晓教育Java后端开发面试题

1、实现一个去重的集合类,不能使用已有的collection或者map

2、介绍过滤器Filter和拦截器Interceptor,画一下SpringMVC执行流程

3、写一个你认为最优的单列模式

4、扣库存问题:a,指出下面代码产生脏数据的原因;b,解决这个问题的方案

public void discount(int goodsId){
    if(checkCount(goodsId)){//判断是否有库存
        ...//业务逻辑处理
        dal.exec("update goods set count = count -1 where goods_id = ?",goodsId);//更新商品库存
    }
}

5、排课表a有3个字段,id,start_time,end_time分别代表记录ID、课程开始时间、课程结束时间,用sql找出课程冲突的记录

id    start_time    end_time
1    08:00        09:00
2    08:30        09:30

6、继续上面课程冲突的问题,使用代码找出List<A> list中不冲突的对象(返回不冲突的对象集合),A定义如下

public Class A{
    String startTime;
    String endTime;
}

7、组织架构表的设计和查询(树状结构的数据表设计和查询),找出pid=1的所有子节点(要求:不能使用递归)

晓教育Java后端开发面试题