猫眼一二面面经
电话打来要求视频面试,头一遭的我立马行动起来换衣服,加qq面试就开始了。
1、讲项目框架,问了其中文件上传的细节,没答上来,一年前的代码忘了;
2、hashmap与hashtable的区别;
3、jvm内存的划分;
4、堆与栈的区别;
5、java内存模型,实现原理;
6、volatile,为什么不能保证原子性;
7、手写单例模式;
8、线程的状态;
9、线程安全,线程池(较深入);
10、事务ACID,隔离级别,脏读、不可重复读、幻读,mysql的默认隔离级别,如何修改;
11、hashmap的实现原理,如果key相应位置链表有大量数据,如何缩小查找时间;
12、hashmap与concurrenthashmap的区别;
13、synchronized与lock的区别,公平锁,非公平锁;
14、垃圾回收算法,新生代老年代永久代,GCRoots;
15、HTTP 状态码;
16、TCP/IP体系结构;
17、三次握手;
18、TCP和UDP的区别;
19、get与post的区别;
20、MyISAM和InnoDB的区别;
21、linux下shell,bash;
22、各排序算法的平均时间复杂度,文件太大需要IO用什么排序;
23、最左前缀索引的解释,索引常见结构;
24、手撕代码,实现库函数开方;
最后,面试官说,可能有三面可能没有,都会发信息通知的。
静待结果,我佛保佑。