京东数科2020届Java实习生一面
(一小时十分钟)
用什么语言开发?
ArrayList和LinkedList有什么区别?
ArrayList扩容时做了什么操作?
HashMap的数据结构是什么?
HashMap的put操作是怎么实现的?
ConcurrentHashMap熟悉吗?
用的1.4还是1.8的?
线程的创建方式?
启动线程直接用run方法吗?
介绍下线程的几个状态。
线程池用过吗?
线程池的类型以及线程池每个参数的作用。
Unsafe类实现CAS?
介绍一下AQS
CopyOnWriteArrayList有了解吗?
用了什么思想?
写的时候能读吗,读会阻塞吗?
JVM有了解吗?
分代收集器有了解吗?
垃圾回收器一般有哪几种?
单例模式一般怎么实现?
代理模式怎么实现?
AOP是怎么实现的?
AspectJ底层是怎么实现的?
介绍下类加载机制?
介绍下双亲委派模式?
学了数据库吗?
索引有几种类型?
Innodb用的什么索引?
b+树有什么特点?
它是有序的吗?
红黑树有什么特点?
为什么查询效率高?
是绝对平衡的吗?
AVL树知道吗?
AVL和红黑树有什么区别?
二三树的3代表黑还是红?
平时都看什么书吗?
谈一下Java后端编译优化。
Java分层编译,0、1、2、3、4是啥?
方法内联,分支预测。
如果通过JIT日志分析出来没有优化,怎么在代码中体现?
什么时候会进行内联优化?
#京东数科##实习##Java工程师##面经#
用什么语言开发?
做个自我介绍吧。
介绍下Java的集合框架。
ArrayList扩容时做了什么操作?
扩容时是在数组的后面加的吗还是?
HashMap的put操作是怎么实现的?
HashMap是线程安全的吗?
用的1.4还是1.8的?
ConcurrentHashMap是怎么保证线程安全的?
启动线程直接用run方法吗?
介绍下线程的几个状态。
调用Object.wait会进入哪个状态?
线程池的类型以及线程池每个参数的作用。
假设核心参数是5,最大线程数是10,什么时候会达到10?
直接使用Unsafe会有什么问题吗?
说一下juc.lock包
没有获取锁会做什么事情?
用了什么思想?
写的时候能读吗,读会阻塞吗?
ThreadLocal模式出现内存泄露吗?
介绍一下JVM的运行时数据区域。
什么时候对象会进入老年代?
平时用的是哪个收集器?
说一下常用的设计模式?
你这种用内部类实现的方式有什么好处?
AOP是怎么实现的?
AspectJ底层是怎么实现的?
你用ASM框架做了什么啥?
cglib了解吗?
介绍下双亲委派模式?
怎么自己写一个java.lang.Object?
索引有几种类型?
Innodb用的什么索引?
b+树有什么特点?
它是有序的吗?
b+树是二叉树吗?
为什么查询效率高?
是绝对平衡的吗?
AVL树知道吗?
AVL和红黑树有什么区别?
二三树的3代表黑还是红?
二三树转变成红黑树的过程?
你写过脚本语言,解析过SQL语句吗?
RPC框架听说过吗?
Java分层编译,0、1、2、3、4是啥?
方法内联,分支预测。
如果通过JIT日志分析出来没有优化,怎么在代码中体现?
什么时候会进行内联优化?
介绍一下虚方法表。