首页 简历|笔试面试

京东面经(已完结)

  • 25年9月4日 发布
  • 83.55KB 共9页
京东面经(已完结)京东面经(已完结)京东面经(已完结)京东面经(已完结)京东面经(已完结)

京东面经(已完结)

京东于 2004 年正式涉足电商领域。2014 年 5 月,京东集团在美国纳斯达克证券交易所正

式挂牌上市,是中国第一个成功赴美上市的综合型电商平台。2020 年 6 月,京东集团在

香港联交所二次上市京东集团定位于“以供应链为基础的技术与服务企业”,目前业务已涉

及零售、科技、物流、健康、保险、产发、海外和工业品等领域。

网申&内推:8 月 1 日起笔试:8 月 12 日起面试:以官方通知为准 offer:审批通过后随时

发出,具体以 offer 邮件为准

24 届秋招薪资一览表

1712727814867-054f5377-90c5-445f-8f78-71695e8eee12.png

一面

同学 1(附答案):

1. 自我介绍

2. 聊项目 15min

3. 聊实习 8min

4. 对 gpt 的了解,大语言模型的原理

5. 基于大模型如何去和一些业务做结合,有什么场景可以做

6. 项目中用了哪些设计模式

7. 代理模式结构,解决什么问题

8. 策略模式

9. ThreadLocal 原理,解决什么问题

10. 除了 9 还有什么解决线程安全问题的方法

11. ConcurrentHashMap 原理,你项目中怎么用的

12. Redis 常用命令

13. 有一个查询需求,MySQL 中有两个表,一个表 1000W 数据,另一个表只有几千数

据,要做一个关联查询,如何优化

14. MySQL 索引结构,建立索引的策略

15. 索引失效的情况

16. JVM 运行时数据区

17. 本地方法栈作用,都存什么

18. OOM 的原因

19. 说说 G1 垃圾回收器的原理

20. 有没有使用过一些 OLAP 的这种库或者引擎?大数据相关的,有了解吗?

21. 说一下 Hadoop,Spark 的原理

22. Linux 命令相关,压缩解压缩命令,查看 cpu 内存命令,查看磁盘相关命令

详细答案:传送门

同学 2(附答案)

详细答案:https://mp.weixin.qq.com/s/cqO0xzBMnaAMOVA6YgoamA

1. 自我介绍

2. 介绍项目,负责哪块,上线了吗?

3. 如何保证 redis 和数据库一致性?(答:延时双删)

4. 延时双删的时间精度?

5. 项目有要求时间精度吗?(答:毫秒级的,没做更多要求)

6. 说说 mq 原理,怎么保证消息接受顺序?

7. 对比其他 mq,有什么区别,怎么选型?

8. 项目压测了嘛?(Jmeter)

9. arraylist,linkedlist,hashset 区别和使用场景,线程安全?

10. hashset 为什么是随机的?其他两个是按存入顺序的?

11. 说说类加载过程(5 步)

12. 双亲委派模型好处?

13. new 子类的时候,子类和父类静态代码块,构造器的执行顺序

14. 进程和线程的区别

15. 如何创建线程?

16. runnable 和 callable 区别

17. 线程池相关

18. synchronized 和 lock 区别原理

19. tcp 三次握手四次挥手工作在哪一层?

20. 说一下三次握手过程和状态

21. 用过序列化和反序列化吗?(没用过,只知道理论)

22. 设计模式了解哪些?(没深入问)

23. 代码题

(1)链表反转

(2)int 数组,实现偶数在前,奇数在后,不改变相对顺序

24. 反问:如果能通过面试,后续还有几轮?

答:不清楚,但肯定是有面试的

同学 3(京东零售):

1. string 为什么不是基本数据类型。

2. 基本数据类型和 string 分别在 jvm 的哪里。

3. int 和 integer 区别。integer=null 和 int 比较会报什么错(空指针)。

4. 说一下常见的异常。

5. 接口和抽象类的区别。

6. 哪一个 jdk 版本更新后可以在抽象类中提前写好方法。

7. 说一下 jdk17 18 19 分别增加了什么。

同学 4(京东云实习)

详细答案:https://mp.weixin.qq.com/s/g7RriMA5ZEOTP_A51W8b1g

• 自我介绍

• hashmap

• 其他的线程安全类

• hashmap 是会死锁的, 你知道吗(头插法会死锁)

• i++是原子操作吗(不是, 可以用 AtomicInteger, 用 CAS 去做, 但是如果竞争激烈的话会

导致自旋消耗过大, 这时候要换 LongAdder)

• 动态代理和静态代理(jdk 原生或者 cglib, 答得不好)

• jvm 的理解(数据区,回收器,对象内存分布,回收算法)

• 常见的 7 个 GC 回收器

• 四个引用(强软弱虚, 然后由此扩展到 ThreadLocal 的内存泄漏问题)

• 那你用过 ThreadLocal 吗(了解过, SimpleDateFormat 会用到, 但是我说项目中没有,说

实在这么说可能踩雷的,但是还是建议诚信回答)

• mysql 的数据引擎有哪些, 区别(innodb,MyISAM,Memory)

• 如何切换数据库引擎(不会)

• 聚簇索引和非聚簇索引

• 联合索引

• 索引失效的情况

• mysql 一共有哪些锁(表锁,读写锁; 行锁, 记录锁, 间隙锁, 临键锁)

• 事务隔离级别, 默认级别

• 说说你对 redis 的理解(答做缓存,5 个基础数据结构,感觉答的不是很好)

• 缓存穿透,击穿,雪崩

• 说说你对 rabbitmq 的理解(生产者,消费者,队列,交换机, 消息生产消费的工作流程, 工

作模式, 死信队列)

• 如何保证幂等性(rabbitmq 中要保持交换机,队列,消费者,三者一对一对一; kafka 的话

是通过 offset,说白了这个问题就是问如何保证消息不重复消费,我可能答混了)

• 还了解哪些消息队列,(kafka,rocketmq)

• 什么是雪花算法(这个不熟, 只知道是推特出的,分布式 ID 用的,然后面试官做了一些补

充)

• 场景问题:

高可用如何保证(首先机器要 24 小时运行, 然后还要保证数据一致性, 持久化, 集群之

类的, 这种题目我是没了解过, 全凭感觉回答, 感觉也答得不好)

同学 5:附答案

详细答案:https://mp.weixin.qq.com/s/zvNpOFzxRSUeeuWUjH8OgQ

• 自我介绍

• 介绍项目

答案

PmHub 是一套基于 SpringCloud & LLM 的微服务智能项目管理系统,采用时下企业最热

门的技术框架,如 SpringCloud-Gateway、Nacos、Sentinel 等,包括认证、流程、项目管

理、用户、网关等服务。

技术派是一个前后端分离的,面向互联网开发者的技术内容分享与交流平台,包括前端

PC 和管理后台。我们通过文章、教程、AI 助手等产品和服务,旨在打造一个激发开发者

创作灵感,传播优质技术内容,陪伴开发者快速成长的技术社区。作为核心研发人员,我

主要负责登录认证、消息通知、文章教程、AI 助手,以及管理后台的开发工作。

• 建表考虑哪些问题

• 建立索引考虑哪些问题

• 索引失效情况

• 乐观锁与悲观锁

• SpringBoot 与 SpringMVC 区别(不会)

• SpringBoot 启动流程(忘了)

• #{}和${}的区别

• 设计模式

• IOC 与 AOP

• AOP 应用场景

• hashmap 底层与扩容机制

• arraylist 与 linklist

• redis key 过期策略

• 日志框架 日志级别

答案

Spring Boot 默认使用的日志框架是 Logback,日志级别默认为 INFO,这意味着只有级别

为 INFO 及以上的日志信息才会被输出。

日志级别从高到低依次为:

ERROR: 记录错误信息

WARN: 记录警告信息

INFO: 记录一般信息

DEBUG: 记录调试信息

TRACE: 记录详细的跟踪信息

• 让自己讲一下网络

• tcp 拥塞控制

• 项目中学到了那些东西

答案

非常多,比如说:

Gateway 实现自定义网关统一鉴权统计接口调用时间

使用 Redis+Lua 基于令牌桶实现限流

使用 RocketMQ 实现审批消息异步解耦

集成 OpenFeign+Sentinel 实现服务降级和网关流量控制

集成 Redis 分布式锁保障流程状态更新

通过分布式事务 Seata 保证任务审批状态一致性

自定义注解+AOP 实现服务接口鉴权和内部认证

整合 TTL 缓存用户数据

如何用 Docker 容器化部署项目

使用 Skywalking 监控项目性能

采用 Cache Aside 模式保证缓存和数据库一致性

• 反问

同学 6(京东实习):

• 自我介绍

• 让我介绍简历中写到的 Java 项目

• Java 项目里为什么要用 Elasticsearch 来做查询,为什么不直接用数据库查询?

• Elasticsearch 的底层原理了解吗?

• 项目里用到了 MySQL,它的底层结构是什么?

• 数据库的隔离级别了解吗?

• 重复读和幻读的区别是什么?

• MySQl 默认的隔离级别是什么?

• 可重复读是怎么实现的?

• B+树和 B 树的区别?

• 为什么用 B+树做索引结构,B+树比 B 树好在哪儿?

• B+树的查询只访问一次磁盘吗?

• Java 项目里怎么用的 Redis?为什么要用 Redis?

• 针对项目里的保证登录用户唯一性,这个唯一性指的什么?

• 如果在不同的机器上登录,只要有账户密码就能登录吗?

• 讲一讲你了解的线程池,有哪几种?

• 线程池里的参数了解吗?

• 有没有用过多线程?

• 我看你简历里写了互联网+竞赛,可以讲一下内容吗?

• 我看你简历里写了 JVM,JVM 你了解哪些?

• 类加载的过程是怎么样的?

• 讲一下双亲委派模型

• 设计模式是开的一门课还是自己学的?讲一讲自己了解的设计模式?

• 单例模式里面的懒汉式线程安全吗?

• 怎么让懒汉式实现线程安全?

• 懒汉式加锁具体是加在哪里的?

• 平常刷算法题,刷了哪一类算法题?

• 选一个排序算法来讲一讲

• 成都和北京都有岗位,想在哪里工作?

• 职业规划是什么样的?

• 有什么问题想问我吗?

同学 7(京东到家):

详细参考答案:https://mp.weixin.qq.com/s/pMSGEIieQiZjvdYI7dYwVA

1.自我介绍

2.说一下 hashcode()

3.面向对象三大特性

4.接口和抽象类区别

5.说说 HashMap 的结构,扩容机制等

6.JVM 内存

7.新生代对象转移到老年代的条件

8.如何判断一个对象是否可以回收

9.spring 循环依赖是什么,spring 如何解决

10.聚簇索引和非聚簇索引区别,B+树叶子节点结构特点

11.mysql 有哪些锁

12.mysql 事务隔离级别,默认隔离级别,如何保证幻读

13.mysql 三大日志相关

14.redis 基本数据结构

15.springboot 启动流程,加载机制

16.包装类常量池

17.反问

同学 8:

参考答案:https://mp.weixin.qq.com/s/–_vX9oBeh3EjO7pnQDDgA

1.java 集合类

2.hashMap 和 hashTable 的区别

3.final

4.字符串拼接

5.hashcode 和 equal

6.int 和 Integer 的区别

7.开发中遇到的一些异常,异常类型的父类,继承关系等,写程序中如何处理异常?

8.JVM 内存区域

9.young GC 频繁如何排查?修改哪些参数?

10.get 和 post 请求

11.索引

12.SpringMVC 框架

13.IOC,AOP

14.对 pipeline 的理解,什么场景适合使用 pipeline?有了解过 pipeline 的底层?

15.提供接口需要有哪些注意的事项?接口中会出现哪些异常?异常怎么处理?接口崩溃

了会造成什么影响?怎么解决?

16.实习项目

17.与同事遇到意见不统一,你会怎么处理?

18.怎么看待加班

反问

同学 9:

1、自我介绍

2、面试官说了 base 深圳的

先问了 java

4、什么样的对象算作垃圾对象

5、问了垃圾回收算法,针对问了每个算法的优缺点

6、问了 CMS 垃圾回收器

7、标记复制的标记过程和复制过程会不会停顿?

7、怎么理解并发和并行,然后顺势引申到并发垃圾回收器和并行垃圾回收器是怎么分布

做到的:举了 Parallel Old 和 CMS 来问

8、线程池的工作原理?

9、什么时候会执行拒绝策略?

10、场景题:假如要查 10 万多条数据,用线程池分成 20 个线程去执行,怎么做到等所

有的线程都查找完之后,即最后一条结果查找结束了,才输出结果?

Spring

11、怎么理解 spring 的 bean

12、[@Component](/users/664319079) 和 @Bean 的区别

13、依赖注入的时候,直接 Autowired 比较直接,为什么推荐构造函数注入呢

14、提到了 byType,如果两个类型一致的发生了冲突,应该怎么处理

15、AOP 相关原理说一下

16、项目中的 AOP 是怎么用到的

Redis

17、redis 的数据和缓存不一致应该处理

18、redis 的分布式锁有了解过吗

19、爬虫这一块,详细介绍一下

20、项目遇到的最大的难点是什么

21、撕了单例,有点紧张

22、反问

同学 10(附答案,京东 young 后端实习已挂)

1.ArrayList 和 LinkedList 时间复杂度

2.HashSet 和 ArrayList 的区别

3.HashSet 怎么判断元素是否重复

4.重复了是否 put

5.Hashcode()和 equals()只重写一个行不行

6.只重新 equals 没重写 hashcode,mapput 的时候会发生什么

7.有了解 jvm 吗

8.堆和栈的区别有什么

9.垃圾回收器作用在哪里

10.什么是内存泄露

11.java 编译时异常和运行时异常区别

12.Return 先执行还是 finally 先执行

13.事务的四个特性

14.怎么理解一致性

15.Jdbc 的执行步骤

16.创建连接拿到什么对象

17.Statement 和 preparedstatement 区别

18.Select 语句中执行顺序

19.Spring 事务怎么实现的

20.事务的传播机制

21.查询和更新都频繁的字段是否适合建索引,原因是什么

22.联合索引 abc,a=1,c=1/b=1,c=1/a=1,c=1,b=1 走不走索引

参考答案:传送门

开通会员 本次下载免费

所有资料全部免费下载! 推荐用户付费下载获取返佣积分! 积分可以兑换商品!
一键复制 下载文档 联系客服