360技术中台部Java开发实习生一面面经
1.秒杀项目的流程?
2.Redis在项目中怎么使用的?
3.扣库存的时候用的什么方式更新数量?
4.库存用string存的,是先读出来再set回去,还是用什么命令做的?
5.RabbitMQ怎么保证幂等性?
6.登录功能是怎么做的?
7.RabbitMQ 降流怎么做的?
8.MySQL创建一个商品表,商品的字段怎么存?怎么考虑?
9.varchar和char的区别?
10.Java中String、StringBuffer、StringBuilder的区别?性能上有什么区别?
11.++i 和i++的区别?
12.Java多态怎么实现的? 重载和重写的区别?
13.抽象类和接口的区别?
14.final关键字的作用和用法?
15.讲讲AQS?
16.场景题:笔记本电脑分很多盘,找路径下为a.txt的文件,开多线程并发。如果C盘用的很大,E、F盘用的很少,那么C盘线程工作量大,怎么解决?怎么均匀分工作量?并发场景,怎么对任务进行拆分?
17.并发的哪些方式?
18.Synchronized和Lock的区别?
19.用线程安全的集合?
20.ConcurrentHashMap怎么实现线程安全?
21.Java中新建一个线程有哪些方式?
22.什么情况下线程会陷入block状态?
23.讲讲CMS和G1垃圾回收器?
24.CMS垃圾回收器为什么不用标记整理算法?在哪些情况下会stop the word?
25.哪些是GC Root?
26.讲讲观察者模式和策略模式?
27.讲讲MySQL的索引和事务?
28.MVCC讲一下?
29.讲讲MySQL最左匹配原则?
面试总结
#实习经验分享##360公司##面试题目#