一面
1、HashMap底层结构是什么?
 2、如果红黑树是最优解为什么一开始要设置链表,然后才转红黑树。为什么不直接用红黑树
 3、讲一下concurrentHashMap
 4、讲一下什么是线程安全
 5、在多线程情况下对一个变量进行读操作,会有线程安全问题吗?
 6、equals和的区别
 7、如果有一个int和一个Integer还有一个Long,他们之间可以用比较吗?哪几个可以那几个不可以。 自动拆箱装箱?
 8、volatile用过吗?一般在什么场景下用?
 9、用过泛型吗?
 9、线程池用的多吗?什么时候用的线程池?为什么用线程池?线程池的参数有哪些?
 10、核心线程数设置考虑哪些问题?
 11、MySQL存储引擎有哪些?
 12、为什么改成默认Innodb存储引擎
 13、为什么不建议使用外键约束
 14、索引有哪些分类,聚簇索引和非聚簇索引的区别有哪些?
二面
操作系统
 1,进程和线程解释一下,什么区别
 2,进程间通信方式
 3,进程调度算法
 4,死锁产生的必要条件
计算机网络
 5,http协议属于哪一层
 6,TCP和UDP协议属于哪一层,两者的应用场景是什么,区别是什么, TCP如何保证可靠性传输, TCP的拥塞控制和流量控制
 7,三次握手、四次挥手详细描述一下
 8,cookie和session的区别是什么,session中一般存储什么类型的信息
 9,网站输入一个网址,会进行哪些操作
数据库
 10,事务的四大特性
 11,四大隔离级别
 12,b树和b+树的区别
 13,b+树索引和 hashmap索引的区别
 14,联合索引,什么情况下会使用联合索引,什么情况下不使用联合索引
java基础
 15,Integer a=10; int b=10; ab 输出true还是false
 Integer a =200; Integer b=200; ab输出true还是false
 16,Xms,Xmx,Xss分别是什么含义
 17,描述一下GC分代算法的思想
 18,linux的指令了解吗? 查看日志文件用什么命令?
 19,给40亿个数,以及一个整数,判断该整数是否存在于这40亿个数中, 使用什么算法?










