虎牙 Java开发一二三面
9.7一面
- springboot的一个启动流程说一下
- 说一下springboot的自动装配大概是怎样实现的
- springboot当中用到了什么设计模式?
- 除了单例和工厂,你还知道什么设计模式(策略、观察者)
- 观察者模式你觉得在什么场景下会使用
- 反射有了解吗,动态代理有了解吗,spring的aop说一下
- spring的事务了解吗 说一下acid
- 事务的隔离级别有哪些,mysql默认的事务隔离级别
- 聊java:静态方法里面可以调用非静态的变量和方法吗?
- String、StringBuilder、StringBuffer的区别
- java的深拷贝和浅拷贝
- 说一下hashcode和equal方法
- 你说String是final类,但是他也可以动态修改字符串(String a = "a"+"b"),为什么
- 说一下线程死锁的情况,如何解决,项目中遇到线程死锁如何解决(jconsole,jstack)
- 说一下sychronized关键字,他和reentrantLock有什么区别,sychronized是公平的吗
- 有了解过volatile关键字吗
- 进程和线程的区别
- mysql的索引了解吗,是什么数据结构,为什么用B+树
- 一棵B+树大概能存放多少数据
- 在建立索引的时候有什么要注意的吗
- 有索引(a,b,c),(a,c,b)能用到索引吗,in关键字能用到索引吗
- redis为什么快?
9.16 二面
- 简单介绍一下java集合类,挑几个具体说一下他的数据结构
- concurrentHashMap的具体的加锁是怎样的
- Java虚拟机的一些可以调整的参数,java的自带的排查工具
- 说一下常见的网络攻击,应用层这一块(xss、csrf)
- 说一下spring的IOC和AOP
- OSI七层模型,和每一层的协议
- 了解哪些加密算法,对称加密算法具体有哪些
- 说一下CAP这一块
- 说一下NIO、netty
- mysql的innodb引擎的索引的一个数据结构是什么
- 对虎牙有什么了解吗
9.24 三面
- 商城的功能实现
- 秒杀项目怎么做的,需要解决的问题
- 秒杀商品的下单因为加锁,是串行去减库存,非常慢,怎么优化
- 那每次查询库存还是要做数据库操作,怎么优化
- 怎么保证数据库和redis的库存一致
- 万一在redis减库存成功,但是因为系统更新等原因 mq没收到减库存的消息,怎么处理
- 要是现在商品爆款,怎么去解决单个redis的压力
- 要是现在是一个商品的情况,就是哈希算法每次都会分配给一台redis,怎么办
- 下订单和减库存的两个操作,怎么去保证他的原子性
感觉三面就是找项目的极端问题去问,看你的思路还有解决方案,答得不是很好,估计要凉....
当晚更新------已约HR面,虎牙冲冲冲