Arraylist的默认大小和扩容方式?
答:arraylist的默认大小是10,如果的new ArrayList不带参数的话,会先返回一个为0的数组,类似有一个懒加载的过程,扩容方法是0.5,扩容的时候又一个需求值,如果扩容0.5后还小于需求值,那么就使用需求值的容量。
使用过什么线程安全的容器?
答:Collections.SynchronizedArrayList,CopyOnWriteArraylist,ConcurrentHashMap等
说说Hashmap的实现?为什么长度是2的n方?
答:基本说说数组+链表+红黑树,说说put过程,2的n方是为了足够离散化,减少hash冲突
spring boot项目如何部署,可以部署在tomcat上部署吗?
答:spring boot自带tomcat,打成jar包,java -jar就可以运行了,如果需要外部tomcat部署,可以先吧自带的tomcat服务器去掉,然后重写启动类,然后放到tomcat的webapps目录下,tomcat会自动检测webapps下的应用去启动应用。
spring boot常用注解?
答:@Autowired,@Controller,@Service,@RestController,@RequestMapping .....
spring boot @RestController和@Controller的区别?
答:@RestController = @Controller+@ResponseBody
实现线程的方式?哪种有返回值?
答:继承Tread,实现Runnable,实现Callable,线程池方法;callable有返回值。
单例的实现方式?那种线程安全,不安全如何做到线程安全
答:枚举 懒汉 饿汉,直接static new出肯定线程安全,不安全加双重检测锁。
set使用了啥模式?
答:组合模式
数据库优化原则?
答:最左匹配原则,索引,explain....
Lombok插件的问题
还有一些忘记了,其实面的不难
面试的时候尽量多说扩展,当然要在有把握的情况下,祝大家面试顺利