1.项目介绍
2.你是怎么学习一项技术的
3.对Spring的理解
4.为什么选择Dubbo,和SpringCloud有什么区别(卒)
5.Dubbo项目怎么调试的
6.服务与各服务之间是怎么协调的
7.如果没有注册中心各服务怎么调用
8.rpc调用的流程
9. 项目中使用的分布式事务
10.Seata
11.场景题,一个停车场,要对所停车辆进行收费。
写了两个类,一个Car,一个Park,Park里有个Set存Car表示停车场停了哪些车,一个最大容量。车一进停车场就记录时间,然后出停车场计算时间差进行收费。
Car{ Date date; } Park{ Set<Car> set; int capacity; boolean in(Car car) { if (set.size() >= capacity) return false; set.add(car); return true; } BigDecimal out(Car car) { if (!set.contains(car)) return 0; set.remove(car); BigdDecimal money = (CurrentDate - car.date) * 一个小时多少钱; return money; } }大概是这样,如果没有记错的话。
追问:线程安全的场景呢
答:加lock或者在方法上加synchronized
追问:这样就是线程安全了吗
答:是(卒)
ps这里也是懵,方法加了synchronized,线程不都排队进入方法吗?实在想不通为什么会有线程安全问题,希望有大佬能不吝赐教。
面试时间是12月21日,然后隔了一天就挂了。
全部评论
(8) 回帖