电话面,通过邮箱发了个链接,先打了个题,然后再问一些问题。
1.算法
题目:求两个集合的交集
先写了个nLogn,然后面试官要求On,在提示下写出来了。
最后问会不会用Stream API。
2.面试
(1)int 和 Integer的区别
(2)装箱拆箱是一个编译时的过程还是运行时的过程。
(3)Integer的值缓存了解吗?
(4)String不可变了解过?
(5)为什么要设计成不可变的类型。
(6)有没有一些机制(其他的javaAPI)可以操作String让他变成可变的
(7)set的底层结构是用什么实现的。
(8)Hash表的访问效率为什么是O(1)
(9)Hash表有没有可能时间复杂度变成O(n)的场景。
(10)项目有什么难点
(11)秒杀系统超卖怎么解决的
(12)用Redis的什么结构存对象的
(13)Redis怎么实现原子性的
(14)单线程的情况下为什么要加锁(因为之前答了lua脚本有个类似加锁的操作)
(15)redis为什么单线程但是IO性能较高。
(16)了解过其他IO模型
(17)几种IO模型在linux系统在核的层面有什么区别?
(18)比较擅长的地方
(19)MySQL隔离机制,脏读出现在哪
(20)为什么隔离级别越高,效率越低
(21)有了解过新技术吗?
(22)未来的工作是想偏算法还是偏工程?
#面经##实习##蚂蚁集团##阿里巴巴##java工程师#