上海微盟Java一二hr面面经
一面(11.16 19:00)
忘得有点多,想起来再补,反正一面不难
自我介绍
项目相关,介绍项目
项目里秒杀的流程
哪里用到了redis
怎么做的限流(redis的zset滑动窗口限流,顺便说了一下漏桶和令牌桶)
怎么做的优化,减少数据库的交互
超买超卖
MySQL一条select语句的执行过程,经过哪些步骤
对索引的了解
说说Java里的集合类
hashmap详谈
Java中的锁
工厂模式和建造者模式的区别
代理模式
手撕代码:打印文件目录结构树
反问
二面(11.18 10:30)
面了一个多小时,挺爽的,就是隔壁面试官声音有点大
自我介绍,面试官自我介绍(长得巨像我同学卧槽哈哈哈)
项目相关居多,围绕项目又问了其它(做的秒杀)
为什么做这个项目
表的设计
项目难点介绍
项目里用到了线程池(减库存,加订单,redis记录),怎么保证这些操作的原子性
订单超时怎么做(延时队列,redis自带的过期提醒,定时器轮询,懒加载思想)
Spring IOC启动流程
Spring提供了哪些扩展点
有没有在项目里使用这些扩展点(实现InitializingBean接口,重写afterPropertiesSet方法,@PostConstruct注解)
常用的注解
BeanFactoryPostProcessor
BeanFactory和FactoryBean的区别
Spring里的@Transactional是怎么实现的,隔离级别和事务传播有哪些
上面那个问题回答得不好,就说了一下MySQL是怎么保证ACID的
Object o = new Object()的大小,在JVM里的流程
synchronized是可重入锁吗,怎么保证可重入的,原理
说说Java有哪些集合,在项目里用到哪些
说说1.8的hashmap(扯了好久,怎么定位下标的,put,resize,哈希冲突,为什么要有红黑树,转换阈值等等)
向ArrayList中添加100万条数据,怎么优化
MySQL索引长度和数量有没有限制
MySQL索引设置时的注意点
MySQL myisam和innodb的区别
MySQL索引分类,什么是聚簇索引,回表,非聚簇索引一定要回表吗
项目里有没有使用设计模式
Spring设计模式
适配器模式,代理模式(这个第一面也问道了,从静态,jdk,cglib展开来说,大概流程是怎样的,需要实现什么接口)
手撕代码:多线程轮流打印字符串数组,中途又聊了一会儿人生
反问
hr面(11.23 14:30)
无自我介绍,面试官自我介绍(hr小哥哥好帅)
能不能提前实习
为什么之前没有实习(怪我咯)
offer情况和选择公司的理由
前两轮面试觉得我们公司氛围怎么样(上一问提到了)
绩点
你觉得绩点比你高的人和你的差距在哪里
做过哪些项目,为什么做这个项目,有什么收获
个人生活学习和娱乐时间的安排
怎么学习的
看博客(上一问提到的)后怎么转化为自己的东西,有没有在自己的项目中复现
你觉得你技术方面的欠缺点有哪些
薪资要求
为什么想来上海
对微盟的了解
反问
11.25 oc
#面试题目##微盟#