京东【寻猎计划-Java开发】一二面经验分享
一面 - 自我介绍:学历背景、专业方向、重点研究方向
- 介绍简历上的项目?非科班,研究生期间参与一个特定域语言编译器开发工作,主要从几个方面回答
- 项目背景介绍
- 我负责的模块背景介绍,是干什么的,用到了哪些技术
- 实现过程中的难点,你是如何解决的?
- HashMap 有用过吗?简单说一下
- 一道开放性题目,没说具体 HashMap 的哪些问题,我从以下几个方面回答
- HashMap数据结构:存放key value的数据结构
- HashMap的底层实现:哈希表,链表数组、1.8之后使用来链表+数组+红黑树,Entry对象,put、get方法时如何实现
- HashMap的扩容机制,为什么要扩容、什么时候扩容(size > 阈值且插入的桶不空)、怎么扩容(原来的2倍)
- HashMap的线程不安全
- 线程池讲一下(主动询问面试官回答哪方面问题)
- 为什么要用线程池
- 线程池的参数,最基本的有7个参数:CorePoolSize, MaxminPoolSIze, KeepAliveTime, unit, BlockingQueue, threadFactory, RejectedHandler,每个参数含义
- 线程池的工作过程:流程说一下
- 两道算法题:**两个栈模拟队列**,**删除链表倒数第K个节点**
- JVM调优有没有了解过 (没有)
- JVM的类加载机制
- 类的加载流程:分为5个阶段,加载 -> 验证 -> 准备 -> 解析 -> 初始化,每个阶段完成哪些任务,初始化阶段就是调用 <clinit> 方法的过程,静态变量显示赋值语句和静态代码块语句。
- 双亲委派的类加载机制:
- 正常的加载流程,Groovy语言破坏双亲委派加载机制,为什么?如何破坏:Groovy 有自己的classpath,RootLoader是不遵守双亲委派的,因为Java 的classpath只加载Groovy包,不会加载Groovy的第三方包,在RootLoader下都是遵守双亲委派的,之上也是遵守双亲委派的。
二面
(全程聊项目,和一面问的项目部分差不多,当然回答得更加深入啦) - 自我介绍
- 大学有没有学过计算机相关课程?
- 简历上的项目介绍一下:项目整体背景 -> 你的研究背景 -> 实现方法
- 你参与项目的程度,是自主设计还是参与实现
- 在项目中遇到的难点,是如何解决的?我从研究、实现两方面回答。
- 项目持续时间
- 反问环节
HR 面(2020.7.23) - 两分钟自我介绍
- 问了些实习相关的(在家怎么实习)
- 参加过的比赛,比赛中负责的任务,有哪些收获
- 期待薪资
- 反问
#面经##Java##京东##内推##Java工程师# 一面
- 自我介绍:学历背景、专业方向、重点研究方向
- 介绍简历上的项目?非科班,研究生期间参与一个特定域语言编译器开发工作,主要从几个方面回答
- 项目背景介绍
- 我负责的模块背景介绍,是干什么的,用到了哪些技术
- 实现过程中的难点,你是如何解决的?
- HashMap 有用过吗?简单说一下
- 一道开放性题目,没说具体 HashMap 的哪些问题,我从以下几个方面回答
- HashMap数据结构:存放key value的数据结构
- HashMap的底层实现:哈希表,链表数组、1.8之后使用来链表+数组+红黑树,Entry对象,put、get方法时如何实现
- HashMap的扩容机制,为什么要扩容、什么时候扩容(size > 阈值且插入的桶不空)、怎么扩容(原来的2倍)
- HashMap的线程不安全
- 一道开放性题目,没说具体 HashMap 的哪些问题,我从以下几个方面回答
- 线程池讲一下(主动询问面试官回答哪方面问题)
- 为什么要用线程池
- 线程池的参数,最基本的有7个参数:CorePoolSize, MaxminPoolSIze, KeepAliveTime, unit, BlockingQueue, threadFactory, RejectedHandler,每个参数含义
- 线程池的工作过程:流程说一下
- 两道算法题:**两个栈模拟队列**,**删除链表倒数第K个节点**
- JVM调优有没有了解过 (没有)
- JVM的类加载机制
- 类的加载流程:分为5个阶段,加载 -> 验证 -> 准备 -> 解析 -> 初始化,每个阶段完成哪些任务,初始化阶段就是调用 <clinit> 方法的过程,静态变量显示赋值语句和静态代码块语句。
- 双亲委派的类加载机制:
- 正常的加载流程,Groovy语言破坏双亲委派加载机制,为什么?如何破坏:Groovy 有自己的classpath,RootLoader是不遵守双亲委派的,因为Java 的classpath只加载Groovy包,不会加载Groovy的第三方包,在RootLoader下都是遵守双亲委派的,之上也是遵守双亲委派的。
二面
(全程聊项目,和一面问的项目部分差不多,当然回答得更加深入啦)
- 自我介绍
- 大学有没有学过计算机相关课程?
- 简历上的项目介绍一下:项目整体背景 -> 你的研究背景 -> 实现方法
- 你参与项目的程度,是自主设计还是参与实现
- 在项目中遇到的难点,是如何解决的?我从研究、实现两方面回答。
- 项目持续时间
- 反问环节
HR 面(2020.7.23)
- 两分钟自我介绍
- 问了些实习相关的(在家怎么实习)
- 参加过的比赛,比赛中负责的任务,有哪些收获
- 期待薪资
- 反问