面试题搜集

1.自我介绍

2.Map的底层结构?(HashMap)

3.线程安全的Map(ConcurrentHashMap)简单的说了下1.7和1.8的区别

4.项目mysql的数据量和并发量有多大

5.你对数据库了解多少

6.你说下数据库的索引实现和非主键的二级索引

7.项目用的是springboot,你能说下springboot和spring的区别吗

8.springboot的自动配置是怎么做的

9.mybatis定义的接口,是怎么找到实现的?

10.java内存结构

11.对象是否可GC?

12.Minor GC和Full GC

13.垃圾回收算法

14.垃圾收集器G1

15.

16.spring restTemplate的具体实现

17.描述下网页上一个http请求,到后端的整个请求过程

18.多线程常用的方法和接口类以及线程池的机制

19.总结我的java基础还不错,但是一些主流的框架源码还是处在使用的状态,要继续去看源码

20.死锁

21.自己研究比较新的技术,说下成果

22.你有什么想问的?我就问了下公司那边的情况,这个自由发挥。

二面:

1.Hashmap,源码级别的问了,包括为什么线程不安全

2.死锁问题

3.synchronized和ReentrantLock锁机制,怎么判断重入锁的,会不会是死锁?

4.进程和线程的区别

5.进程之间如何保证同步?

6.分布式锁

7.对象GC

8.垃圾回收算法

9.JVM参数问题

10.OOM出现的有哪些场景?为什么会发生?

11.JVM内存结构说一下

12.堆和栈的共享问题

13.有比较过Http和RPC吗?

14.HttpClient里面的具体实现(涉及了哪些东西)

15.要你设计一个高性能的Http,你会怎么设计



有赞:

设计一个网关


网易=====

数据库的本质是b+树

redis为什么快,1.内存  2.单线程  3.

spring的本质  1.把配置文件加载到内存,生成BeanDefinition    2.beanPostProcessor  扩展点

doubbo  zookeeper

设计模式  领域设计

线程池  先说出参数名称,然后说几个重要的默认参数值。不同的线程池,本质就是设置了不同的参数。

jvm能说上G1就比较加分了

mybatis源码

synchronized  本质是  对象锁,对象里面的一个什么字段

cas

悲观锁和乐观锁,  悲观锁:直接锁住;乐观锁:不断的尝试; cas本质就是乐观锁。 数据库如何实现乐观锁,加version字段。

AQS  本质是队列  一头拿数据,一头塞数据

重入锁

读写锁

你可能感兴趣的:(面试题搜集)