京东Java后台开发岗社招面试经验分享,4面的面经!

2023-05-16

前言

正好最近我一朋友面试京东回来,和我聊了他的面试经过,最后经过四面成功斩获offer!下面我把他所得经验毫无保留的分享给大家!希望对正准备面试小伙伴们能有所帮助!!!

京东Java后台开发岗社招面试经验分享,4面的面经

京东一面

1、自我介绍
2、项目介绍
3、项目中异步化怎么实现的
4、讲讲Java集合框架
5、讲讲刚刚你提到的红黑树
6、比如对list排序有什么方法(我问是链表还是数组,面试官说就是arraylist,linkedlist什么的,我说那就collections.sort)
7、讲讲这个sort用了什么排序
8、你刚刚提到的计数排序时间复杂度是多少(线性)
9、讲讲JUC最熟悉的部分(我说了锁机制)
10、你刚刚说到的CAS原理是什么,会出现什么问题(自旋,ABA)
11、ABA怎么解决(版本号机制)
12、你刚刚讲的ThreadLocal会在什么场景下用到(我说了我项目中的一个场景)
13、讲讲spring aop
14、讲讲aop一般用于什么场景
15、说一下mybatis俩种传参机制(占位符和拼接)
16、举个例子说明你刚刚讲的sql注入
17、用一个数组模拟一个栈(我也不知道为什么我当时脑子里只有生产者消费者模式,就写了个生产者消费者模型)

京东 二面

1、Hashmap说下吧。
2、线程池有哪些参数,如果满了新的线程会怎么处理?
3、你们网关有配jvm参数吗,都有哪些?
4、高并发的时候你们网关高可用怎么做的?
5、数据库用过吗,如果现在有十亿的数据给你怎么存?
6、你们的熔断降级怎么做的?
7、项目的线程池怎么配的?
8、字符串的类说一下。
9、两个字符串都是y,用equals返回什么?
10、Hashcode和equals的关系。
11、两个线程一起输出100个数怎么做?
12、SpringBoot的AOP是什么?

京东技术三面

1、分布式下redis如何保证线程安全?
2、redis持久化的方式以及区别;
3、zookeeper如何实现分布式锁、其他分布式锁怎么实现?
4、kafka的架构,如何用kafka保证消息的有序性?
5、数据库的优化包含哪些?MySQL的优化,谈两个你优化的例子。
6、最有技术难度的项目,介绍下相关核心设计流程。
7、工作中,遇见了技术瓶颈无法解决,你的解决思路?
8、未来你的职业规划是怎么样?

京东四面、HR提出的面试问题

(1)您在前一家公司的离职原因是什么?
(2)讲一件你印象最深的一件事情
(3)介绍一个你影响最深的项目
(4)介绍你最热爱最擅长的专业领域
(5)公司实习最大的收获是什么?
(6)与上级意见不一致时,你将怎么办?
(7)自己的优点和缺点是什么?并举例说明?
(8)你的学习方法是什么样的?实习过程中如何学习?实习项目中遇到的最大困难是什么以及如何解决的?
(9)说一件最能证明你能力的事情
(10)针对你你申请的这个职位,你认为你还欠缺什么
(11)如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?
(12)项目中遇到最大的困难是什么?如何解决的?
(13)你的职业规划以及个人目标、未来发展路线及求职定位
(14)如果你在这次面试中没有被录用,你怎么打算?
(15)评价下自己,评价下自己的技术水平,个人代码量如何?
(16)通过哪些渠道了解的招聘信息,其他同学都投了哪些公司?
(17)业余都有哪些爱好?
(18)你做过的哪件事最令自己感到骄傲?
(19)假如你晚上要去送一个出国的同学去机场,可单位临时有事非你办不可,你怎么办?
(20)就你申请的这个职位,你认为你还欠缺什么?
(21)当前的offer状况;如果BATH都给了offer该如何选?
(22)你对一份工作更看重哪些方面?平台,技术,氛围,城市,还是money?
(23)理想薪资范围;杭州岗和北京岗选哪个?
(24)理想中的工作环境是什么?
(25)谈谈你对跳槽的看法
(26)说说你对行业、技术发展趋势的看法
(27)实习过程中周围同事/同学有哪些值得学习的地方?
(28)家人对你的工作期望及自己的工作期望
(29)如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办?
(30)若上司在公开会议上误会你了,该如何解决?
(31)是否可以实习,可以实习多久?
(32)在五年的时间内,你的职业规划
(33)你看中公司的什么?或者公司的那些方面最吸引你?

一、 面试到底在问些什么东西?

首先你要明确的是面试官所问的内容一定和你简历所写的东西是紧密联系的,一般你没有写在简历上的技能,面试官很少会去提问。
面试大体上包括下面几方面知识类型:

1.、 Java基础、多线程、IO与NIO、虚拟机、设计模式
2、数据结构与算法(要有手写算法的能力)
3、 计算机网络(TCP三次握手和四次挥手)
4、 数据通信(RESTful、RPC、消息队列)
5、 操作系统(Linux的基本命令以及使用)
6、主流框架(Spring底层原理与源码问的很多)
7、数据存储(最常见的是MySQL、Redis)
8、 分布式

除了这些东西还有什么其他问题:

1、 实际场景题
2、 生活方面的问题
3、性格/其他方面的问题

二、 面试流程

1. 京东公司的面试分为5个环节。

分别为简历筛选、小组面试、HR面试、终试、offer发放。下面分别讲一下每个环节的主要内容,以及通过技巧。

2. 简历筛选。

这个大家应该都知道,就是你在进行公司招聘时,都会要求投放简历的。京东面试也是如此。会对所有的应聘人员简历进行对比,再筛选出一部分人进入下一个环节。

**通过技巧:**简历要写的简洁大方,同时也要尽可能的展现自己的闪光点和优点特色,尤其是得过的一些奖项和参加的比赛。

3. 小组面试。

这个环节是把上一轮通过的应聘人员,分成几个小组,然后进行小组讨论,讨论的议题由面试人员事先拟定好。在一定时间内,要求小组给出一个统一的答案。如果在规定时间内没有形成一致意见,则整个小组全部淘汰。 **通过技巧:**敢于发言,勇于表达个人观点,不要在小组讨论时,一言不发。思维清楚,逻辑明确。

4. HR面试。

通过以上的面试环节,下面就会进入HR面试环节。这个环节,部门HR向你就某一问题提问,然后让你回答。因为面试人员与上面的不一样,很多人害怕,一见到部门HR就很胆怯了。

通过技巧:克服胆怯心理,口齿清楚,逻辑有条理,还有就是这个环节的问题,会牵扯到专业知识,所以面试之前,要复习下所学知识,重在平时的知识积累。

5. 终试。

当你通过以上的测试以后,就进入最终的测试。大部分情况,都会被区域主管级别的领导,对你进行问答,看你表现的情况。

通过技巧:自己领悟吧,我只能帮你到这了,到这关我就折戟了。

6. 发放offer。

当你过五关斩六将,打败了诸多对手后,获得了进入京东工作的机会。差不多过一段时间,京东会给你发放offer,让你去公司报到。

三、 面试常问的知识点

1、集合相关问题(必问)

  • HashMap、LinkedHashMap、ConcurrentHashMap、ArrayList、LinkedList的底层实现
  • HashMap和Hashtable的区别
  • ArrayList、LinkedList、Vector的区别
  • HashMap和ConcurrentHashMap的区别
  • HashMap和LinkedHashMap的区别
  • HashMap是线程安全的吗
  • ConcurrentHashMap是怎么实现线程安全的
  • HashMap 的长度为什么是2的幂次方

2、多线程并发相关问题(必问)

  • 创建线程的3种方式
  • 什么是线程安全
  • Runnable接口和Callable接口的区别
  • wait方法和sleep方法的区别
  • synchronized、Lock、ReentrantLock、ReadWriteLock
  • 介绍下CAS(无锁技术),什么是悲观锁和乐观锁
  • volatile关键字的作用和原理
  • 什么是ThreadLocal
  • 创建线程池的4种方式
  • ThreadPoolExecutor的内部工作原理
  • 分布式环境下,怎么保证线程安全
  • synchronized和lock区别以及volatile和synchronized的区别

3、JVM相关问题

  • 介绍下垃圾收集机制(在什么时候,对什么,做了什么)。
  • 垃圾收集有哪些算法,各自的特点。
  • 类加载的过程。
  • 双亲委派模型。
  • 有哪些类加载器。
  • 能不能自己写一个类叫java.lang.String。

4、设计模式相关问题(必问)

设计模式比较常见的就是让你手写一个单例模式(注意单例模式的几种不同的实现方法)或者让你说一下某个常见的设计模式在你的项目中是如何使用的,另外面试官还有可能问你抽象工厂和工厂方法模式的区别、工厂模式的思想这样的问题。

另外,建议把代理模式、观察者模式、(抽象)工厂模式好好看一下,这三个设计模式很有用。

5、数据库相关问题,针对MySQL(必问)

  • 给题目让你手写SQL。
  • 有没有SQL优化经验。
  • MySQL索引的数据结构。
  • SQL怎么进行优化。
  • SQL关键字的执行顺序。
  • 有哪几种索引。
  • 什么时候该(不该)建索引。
  • Explain包含哪些列。

6、框架相关问题

  • Hibernate和Mybatis的区别。
  • Spring MVC和Struts2的区别。
  • Spring用了哪些设计模式。
  • Spring中AOP主要用来做什么。
  • Spring注入bean的方式。
  • 什么是IOC,什么是依赖注入。
  • Spring是单例还是多例,怎么修改。
  • Spring事务隔离级别和传播性。
  • 介绍下Mybatis/Hibernate的缓存机制。
  • Mybatis的mapper文件中#和$的区别。
  • Mybatis的mapper文件中resultType和resultMap的区别。

重点:总结一些面试经验

1、先投一些普通公司,等面出了心得再去投理想的公司。
2、不熟悉的技术不要主动提。
3、 对于那种实习期6个月还打8折的公司,除非你没有其他选择了,否则不要去。 另外,小公司喜欢在薪水上压你,开的时候适当提高。
4、 不要去参加招聘会,纯粹是浪费时间。
5、 把面试当作一次技术的交流,不要太在意是否能被录取。
6、公司一般面完就决定是否录取了,让你回去等消息这种情况一般没戏,无论你自己觉得面的有多好。
7、尽量少通过电话面试,效果不好。
8、 在面试的日子里,要保持每天学习,无论是学习新东西还是复习旧东西。
9、拿到offer了,问问自己这个公司让自己100%满意了吗,如果不是,请继续努力找更好的。
10、 通过面试官可以大概判断这家公司的情况。
11、 问到自己有深入研究过的知识,抓住机会好好表现,不要轻易放过。

总结

最近针对互联网公司面试问到的知识点,总结出了Java程序员面试涉及到的绝大部分面试题及答案分享给大家,希望能帮助到你面试前的复习且找到一个好的工作,也节省你在网上搜索资料的时间来学习。

内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、SpringBoot、SpringCloud、RabbitMQ、Kafka、Linux等技术栈。

完整版Java面试题地址:JAVA后端面试题整合

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

京东Java后台开发岗社招面试经验分享,4面的面经! 的相关文章

  • Arduino MAX30102脉搏心率传感器使用教程

    最近闲来无事 xff0c 得到了一块MAX30102 xff0c 手头刚好有多余的Arduino控制板 xff0c 就跑了个官方的案例 xff0c 发现测出来的脉搏和心率还是挺准的 xff0c 三星手机用过这个系列的芯片 xff0c 但是有
  • 两种方法用IDEA创建一个Servlet程序 新手教程详解

    1 Servlet 是什么 xff1f Java Servlet 是运行在 Web 服务器或应用服务器上的程序 xff0c 它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层 2
  • reduce()累计器理解与使用实例

    关于reduce reduce 语法 xff1a arr reduce callback accumulator currentValue index array initialValue arr reduce accumulator cu
  • {}与Object.create(null)

    var one 61 创建的对象带有 proto 下面有一些方法与属性 xff0c 这便是js的原型链继承 xff0c 继承了object的方法和属性 xff1b 故在遍历对象时 xff0c 会遍历原型链上的属性 xff0c 带来性能上的损
  • uni-app 全局变量机制

    getApp globalData 全局变量机制 在App vue中 export default globalData text 39 text 39 在App vue中调用 this globalData text在onLaunch生命
  • vue3动态注册路由

    在vue cil2中 xff0c 我们可以通过webpack中require context这个api实现工程自动化 xff0c 而在vue cil3里vite替代了webpack xff0c 节省了webpack冗长的打包时间的同时我们也
  • try{}catch(res){}、throw(exception)、new Error()

    1 try catch res try 中的代码出现错误异常时 xff0c 系统会将异常信息封装到error对象中 xff0c 传递给catch res xff0c 包含res message res name等 EvalError eva
  • new Map()

    1 new Map let data 61 new Map data set key value 添加一个新建元素到映射 Map 1 key 61 gt value data get key 返回映射中的指定元素 data has key
  • Proxy代理

    Proxy用于修改某些操作的默认行为 xff0c 等同于在语言层面做出修改 xff0c 所以属于一种 元编程 语法 xff1a let proxy 61 new Proxy target handler target 所要拦截的目标对象ha
  • Jmeter性能测试(7)--定时器

    jmeter xff08 七 xff09 定时器 jmeter提供了很多元件 xff0c 帮助我们更好的完成各种场景的性能测试 xff0c 其中 xff0c 定时器 xff08 timer xff09 是很重要的一个元件 xff0c 最新的
  • oninput完美限制输入正整数

    oninput完美限制输入非0正整数 注意vue中需要 64 input进行绑定 方法一 64 input 61 34 if this value length 61 61 1 this value 61 this value replac
  • 行内存放数据属性data-id

    data 61 39 data 39 为行内存放数据的属性 xff0c 可通过事件源中的currentTarget dataset获取data 存放的值 另外css可通过 data 放置的标签名 data 61 39 data 39 设置
  • js常用封装方法

    span class token comment 生成随机数 64 length 指定长度 return 随机数 span span class token keyword export span function span class t
  • 计数器组件

    涉及事件 64 longpress 长按时触发 xff0c 64 touchend 手指从屏幕上离开时触发 1 计数器为文本标签的子组件 lt template gt lt view class 61 34 counter box 34 g
  • rich-text 富文本

    rich text 富文本 普通的text文件不能显示格式 xff0c 富文本格式rtf文件可以显示出很多格式信息 xff0c 比如可以在一个文本包含不同颜色 不同字号的文本 官方 lt rich text nodes 61 34 cont
  • uni-app实现全局组件注册

    uni app 全局注册组件三种方式 1 传统vue组件需要创建 引用 组成三个步骤 2 在page json中对应page设置 34 globalStyle 34 34 autoscan 34 true 和pages同级 3 HBuild
  • Vue--混入(Mixin)

    Vue 混入 Mixin 当不同组件有相同功能时 xff0c 不必重复定义属性和方法 xff0c 可使用vue中的混入 Mixin 来分发 Vue 组件中的可复用功能 一个 mixin 对象可以包含任意组件选项 xff0c 即data me
  • uni-app--tabs切换swiper

    父组件 span class token operator lt span template span class token operator gt span span class token operator lt span view
  • 关于移动端 html5诸多事件

    1 点击事件 64 click与 64 tap的区别 xff1a 64 click 在web手机端上点击 xff0c 有300ms延迟再被触发 64 tap具有事件穿透特点 而 64 click没有 事件冒泡 xff1a 当父元素有点击事件
  • vuex状态管理

    vue 1 下载vuex依赖 2 创建store目录store js xff0c 然后在js中引入 span class token keyword import span span class token module Vue span

随机推荐

  • Jmeter性能测试(8)--断言

    jmeter xff08 8 xff09 断言 jmeter中有个元件叫做断言 xff08 Assertion xff09 xff0c 它的作用和loadrunner中的检查点类似 xff1b 用于检查测试中得到的响应数据等是否符合预期 x
  • Class类

    class类的基本写法 es6引入了class类的概念 xff0c 可通过class关键字来定义类每个类都会有一个构造函数 xff0c 即constructor 方法 xff0c 用于创建和初始化class对象要注意 xff0c 如果一个类
  • install与directive

    install Vue option Vue js提供install方法 xff0c 可用于开发新插件以及全局注册组件等 span class token keyword export span span class token keywo
  • STC15W4K56S4学习笔记——LCD12864滚动显示

    STC15W4K56S4学习笔记 LCD12864滚动显示 最近在准备学校的单片机校赛 xff0c 重新回顾了一遍51单片机 xff0c 上手了STC15W4K56S4试验箱 xff0c 写一些笔记来记录一下 xff0c 水平有限 xff0
  • STM32用XCOM调试助手打印不出数据

    STM32用XCOM调试助手打印不出数据 被困扰了一段时间的串口终于解决了 xff0c 用STM332F103ZET6写串口 xff0c 但是不懂为什么打开串口调试助手就是打印不出数据 首先检查了代码有没有错 xff0c 因为是按照网上的代
  • OpenCV-python学习笔记(十二)——图像轮廓

    十二 图像轮廓 图像轮廓是指将边缘连接起来形成的一个整体 xff0c 用于后续的计算 因为边缘检测得到的边缘是不连续的 查找图像内的轮廓信息 xff1a cv2 findContours 绘制轮廓 xff1a cv2 drawContour
  • k210——maix bit串口通信

    k210 串口通信 k210 一共有3个 uart xff0c 每个 uart 可以进行自由的引脚映射 一 API函数介绍 1 1 register pin function force 61 True K210 可以通过映射来改变引脚功能
  • k210——Maixhub 云端模型训练

    k210 Maixhub 云端模型训练 一 前言 k210的模型训练可以在Maixhub 上进行 xff0c 只需要准备好需要训练的数据集 xff0c 不需要搭建训练环境和代码 xff0c 上传训练数据即可快速训练出模型 Maixhub 有
  • 自动控制原理MATLAB常用函数总结

    自动控制原理MATLAB常用函数总结 一 控制系统的数学模型 1 传递函数数学模型 G xff08 s xff09 61
  • MCS-51汇编软件实验

    MCS 51汇编软件实验 实验一 内存块移动 将指定源地址和长度的存储块移到指定目标地址为起始地址的单元中去 移动3000H起始的256个字节到4000H起始的256个字节 代码示例 xff1a ORG 0000H MOV DPTR 300
  • Jmeter性能测试(9)--逻辑控制器

    jmeter中逻辑控制器 xff08 Logic Controllers xff09 的作用域只对其子节点的sampler有效 xff0c 作用是控制采样器的执行顺序 jmeter提供了17种逻辑控制器 xff0c 它们各个功能都不尽相同
  • MapReduce的工作流程:map和reduce分别做了哪些工作,以及shuffle机制实现了什么

    一 map和reduce分别做了哪些工作 Map 待处理数据分片放入缓冲区 xff0c 分区 排序 合并 归并 xff0c 写入本地磁盘 将处理杂乱无章的数据 xff0c 找出规律 xff0c 归纳处理 1 读取hdfs上的文件 xff0c
  • Prometheus监控部署

    文章目录 一 通用监控系统基础知识以及Prometheus的概述1 监控系统的发展史 xff1a 2 什么是Prometheus 二 工作原理及适用性1 prometheus获取数据的方式 三 xff0c 实验环境1 关闭防火墙和核心防护P
  • Docker之 神操作!居然能修改已运行的 Docker 容器端口映射

    文章目录 一 容器未启动 xff1f 二 容器已启动 xff1f 2 1 但是想修改或者添加端口时 xff0c 先停止掉正在运行的容器 2 2 查看容器完整的 96 hash of the container 96 数值 xff1a 2 3
  • python版MapReduce基础实战

    第一关 xff1a 成绩统计 任务描述 本关任务 xff1a 使用Map Reduce计算班级中年龄最大的学生 相关知识 为了完成本关任务 xff0c 你需要掌握 xff1a 1 什么是MapReduce xff0c 2 如何使用MapRe
  • 视觉SLAM十四讲笔记六(第七讲)

    1 引言 前几节介绍了运动方程和观测方程的具体形式 xff0c 并讲解了以非线性优化为 主的求解方法 本讲 xff0c 我们将介绍什么是特征点 xff0c 如何提取和匹配特征点 xff0c 以及如何根据配对的特征点估计相机运动 2 特征点法
  • [C++教程①]--了解c语言以及第一行代码

    hellohello xff0c 我是离 今天开始 xff0c 我会对小白朋友讲解c 43 43 C 43 43 是什么 C 43 43 是C语言的继承 xff0c 它既可以进行C语言的过程化程序设计 xff0c 又可以进行以抽象数据类型为
  • 虚拟机可以ping通IP,但是ping通不了域名

    今天用VMware安装了一个centos7系统 xff0c 正常安装上去 xff0c 编辑了ifcfg ens33网卡信息 在物理机上ping虚拟机地址和百度的域名 xff0c 测试可以ping通 又去虚拟机上ping一下百度域名www b
  • 笔记(STM32篇)day12——USART串口介绍、串口初始化结构体

    目录 一 USART介绍 1 USART简介 2 USART功能框图 二 串口初始化结构体 参考 一 USART介绍 1 USART简介 通用同步异步收发器 Universal Synchronous Asynchronous Receiv
  • 京东Java后台开发岗社招面试经验分享,4面的面经!

    前言 正好最近我一朋友面试京东回来 xff0c 和我聊了他的面试经过 xff0c 最后经过四面成功斩获offer xff01 下面我把他所得经验毫无保留的分享给大家 xff01 希望对正准备面试小伙伴们能有所帮助 xff01 xff01 x