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插件的問題
還有一些忘記了,其實面的不難
面試的時候儘量多說擴展,當然要在有把握的情況下,祝大家面試順利