阿里 java面经
2.你在项目中使用springboot具体是怎么用的
3.项目里的模块是依据什么设计的?
3.说一下jvm堆的垃圾是怎么清理的
4.你有调过jvm堆内存的大小吗?Jvm中新生代和老年代的比例应该怎么调节 根据不同的情况说说?
5.当你的代码运行的很慢时,不考虑你算法本身的复杂度,你应该从什么方面去考虑(内存)?
6.对象在堆中会永久存在吗?如果while(true){ new一个对象}堆会满吗? 如果不会满的话,怎样才能让他满?
7.讲一个你比较了解的数据结构
8. hashmap它是不安全的,如何让它变安全?
9.讲一下排序的算法
10.说一下线程和进程的区别。如果有四个核每个核里有一个线程 都是while(true) 再来一个第五个线程还能不能跑
11.乐观锁悲观锁
12.贪心算法和动态规划的区别
1、编译型语言、解释性语言,说一下区别
2、java的文件怎么变成可执行的文件,在命令行里是怎么运行java文件的
3、Java1.8有什么新功能?说说你常用的
4、说一下什么情况下用到hashcode?和equals的关系
5、说一下java集合类
6、需要线程安全的list怎么办?为什么CopyonwriteArrayList是安全的?
7、说下volatile
8、说一下线程池的主要变量的参数,handler的拒绝策略
9、说一下Java I/0
10、说一下GC常用算法?为什么要用分代?
11、Spring中怎么对一个对象进行初始化?如果已经初始化了这个实例你要怎么在程序里对它就行修改?
12、数据库的范式?BCNF?
13、常见的排序算法的复杂度和稳定性?说一下堆排序?建一个堆的复杂度
14、算法:全排列(无重复数字版)?时间复杂度?再写一个有重复数字版?优化?