java面试总结--2020-10,深圳

最近面试的常见问题总结:

 一.java集合:

 1.常见的集合类型有哪些

 2.ArrayList,LinkedList HashMap的底层原理

 3.jdk 1.8对hashMap的优化,以及如何hash冲突的原理以及是否可以避免hash冲突

二:java虚拟机

  1.描述java虚拟机的内存分布情况

  2.常见的虚拟机的内存回收机制以及常见的java虚拟机

  3.常见的内存异常有哪些以及你自己有使用过哪些Java命令来调试跟踪对应的java内存问题

 三:Spring系列

 1.如何理解Spring,SpringMVC,SpringBoot,SpringCloud等框架

 2.有遇到过循环依赖问题?如何解决循环依赖

 3.@Bean是作用于什么属性?作用于方法是如何确定注入的bean的名称。

 4.Spring 实现依赖注入有哪几种方式?几种方式有什么区别?

5.BeanFactory和ApplicationContext有什么关系和区别

6.描述下SpringMVC的工作流程

7.说说下常见的SpringBoot的注解

8.SpringCloud的熔断机制说说看,以及如何实现服务注册的高可用等

四:多线程

1.创建一个线程有几种方式,两者有什么不同

2.谈谈volatile的理解和CAS机制。

3. 定义一个线程池,核心线程数量为10,最大的允许的线程数为20,队列大小为100.

   外界突然进来了50个任务,问下现在线程池的各种任务分布。

4.有使用过JUC包没,具体说说用到了哪些?

5.业务需求方案:有个搜索需求,需要在多个搜索引擎中搜索,然后汇总多个搜索结果,然后进行汇总返回。

五:数据库方面

1.mysql索引优化有实践经验吗

2.业务场景:有个查询,关联了6-7张表,查询效率比较慢,该如何进行优化

3.有了解Mysql的索引原理吗

4.熟悉ElasticSearch吗?熟悉ES的原理吗?说说你对 倒排索引的理解

5.用过Redis吗?能否说说如何用Redis实现分布式锁。

六:linux

1.创建文件的命令有哪些

2.在linux操作docker的常用命令有哪些

七:消息中间件以及其他的中间件

1.讲讲消息中间件的优势

2.几种常见的消息中间件的协议

3.zookeeper的原理

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java基础,java)