好未来 一二面HR面
一面:11:20开始。 45分钟
1、Java常见集合类。List有哪些?List和Set的区别。 提到了线程安全的集合类,说下哪些安全,哪些不安全。
2、HashMap底层数据结构。
3、实现线程的方式。
4、线程run方法和线程的start方法区别
5、线程状态
6、怎么保证线程安全
7、加锁的方式。
8、说下JVM内存模型,以及各个部分的功能。栈,堆,程序计数器,本地方法栈,方法区。
9、对象从创建到销毁的整个生命周期。
10、GC回收对象的算法。标记清除,复制,标记整理。
11、介绍下分代回收算法。新生代,老年代,生存区。
12、TCP三次握手,为什么连接是三次握手,关闭的时候是四次握手。多了个半连接过程。
13、服务端和客户端建立连接后,客户端出现故障了,服务端会怎样。
14、设计模式。说说常用的设计模式,实现单例思路。懒汉式,饿汉式。
15、快速排序。
16、spring,ioc和aop描述一下。spring什么部分用Aop实现的,spring事务。说事务不了解,原来就是mysql的事务隔离级别。。。
17、mysql事务隔离级别,如何去实现的。锁,Mvcc,快照。
18、mysql优化。考虑怎么加索引。
19、mysql底层数据结构,b+tree。select * 和select 走主键索引和辅助索引区别
20、redis,数据存储类型。
21、redis为什么线程安全。redis单线程。
22、redis分布式锁。怎么实现。除了设置过期时间,还有别的方式避免死锁吗?
23、怎么用的mq。
反问:什么部门,做什么业务的。
没有code,全是八股。也没有往底层问。。。是自己答得太简单了吗,所以才给面试官问了这么多。。
当天下午2点进行的二面40分钟
1、说说项目用了什么技术栈,用在什么地方。
2、聊项目,根据项目问到Mysql间隙锁,锁的间隙有多大。什么时候间隙,什么时候锁行。
3、HashMap什么条件变成红黑树。为什么变红黑树不是平衡二叉树。
4、加锁,乐观锁,悲观锁。什么情况下使用,优劣势。
5、线程池会出现什么问题。通过什么机制解决这些问题。
6、redis用过什么数据结构,Redis并发有什么问题吗?回了多路并发,处理器单线程。
7、数据库幻读怎么解决的。
code:LRU
反问:问了实际业务场景该怎么处理的问题。
当天下午4点左右见了HR
聊了平时的生活
HR问了年薪,要了15W(因为不知道这是什么公司,而且是来刷刷经验的,后面有个人告诉我才知道能给到25W)
第二天一早发了感谢信。。。。。。。。。。
估计是职业规划我没什么想法,又看我人在广州就不要了。