京东2019暑期实习面经

京东2019暑期实习面经Java开发岗

概述

面试开始是自我介绍,按照了看过的博客的经验简单说了一下,然后就开始让你介绍项目经验,这样按照经验介绍,之后就问了一些技术性的问题。以下是对一些问题的总结:

1.掌握了哪些java框架

回答了SSM相关的框架,简单介绍了SSM中Spring,SpringMVC以及Mybatis,然后面试官就开始问Spring相关的问题。

2.谈一下Spring

Spring的IOC特性,面向切面编程,Spring有三大核心组件,Context,Bean,以及core。

3.用过AOP吗,说一说怎么用?

简单介绍一下什么是AOP,然后说明用法,你是怎么用的?

4.说一说Java的内存管理

*这就是JVM部分的知识了,讲解堆栈,方法区,每个部分存储的是什么,回答的时候懵逼了,堆是存储实例对象的,栈用来存储索引以及基本数据类型的对象,方法区是静态区,线程共享,存储所有的静态变量和class。

5.说一说Java的垃圾回收机制

Java的目的是发现无用的信息对象,回收无用对象所占的内存空间。然后跟面试官讲垃圾回收算法有哪些,具体是如何实现的。
1.如何确定某个对象是“垃圾”
采用引用计数法。
2.典型的垃圾收集算法
标记清除法 ,容易在成内存碎片。复制算法,将内存按容量大小划分为大小相等的两块,每次知识用一块, 每次将存货的对象复制带另外一块上面,然后把已使用的内存清理掉。
3.分代收集算法
根据对象存活的生命周期将内存划分为若干个不同的区域。一般将堆区划分为老年代和新生代,老年代的特点是每次垃圾回收时只有少量对象需要被收回,而新生代是每次垃圾回收大量对象需要被回收。新生代往往采用复制算法,将新生代划分新生区和S0,S1区。老年代往往采用标记整理算法,将存活对象往一端移动,然后清理掉端边界以外的内存。

6.用过Unix吗,说一下常用的命令

复制cp,删除rm,移动,改名mv,新建文件touch




你可能感兴趣的:(经验)