【面经】5月16日 京东/平台运营与营销中心/一面/1h

自我介绍

项目:

有用到线程池吗?

自己实现的还是用已有的?

MySQL 和 Redis 的数据一致性的问题如何解决? 你的项目里有遇到这个问题吗?又是如何解决的?(Redis 单节点挂掉;重启脚本、Redis 集群哨兵机制)

统计 PV、UV 的时候,设计 key 的时候是怎么设计的呢?

如果一天访问的用户特别多,导致 Redis 中的存储的值太大了,你会怎么办呢?(大 key 问题,导致单线程阻塞。解决方案:用其他的数据结构,比如 bitmap、hyperloglog;大 key 拆成小 key)

项目中你遇到的比较棘手的问题,你如何解决的?现在回过头再去看,你觉得有什么可以优化的地方?(团队沟通:开会、需求对其;技术设计:前期技术调研、文档撰写)

Java:

如果让你实现一个线程池,你会怎么实现?(在我不知道线程池实现的情况下,有几个参数,线程数、阻塞队列、拒绝策略、异常处理)

哪些情况下会选择用线程池?(多任务并行执行、系统并发量较高)

线程池是多进程还是单进程?

核心线程数、最大线程数这些参数,你觉得从哪些角度去考虑这些参数选择的合理性?(CPU 密集任务、IO 密集任务、IO 操作时间长度)

面向对象几个基本特性?

一个接口能继承多个接口吗?

final 关键字修饰类,这个类有什么特点呢?

final 修饰变量,但这个变量是一个类对象,我能修改对象里面的字段吗?

MySQL:

你用到了哪些数据库?

加索引会从哪些方面考虑呢?(哪些字段要加索引、字段合不合适加索引、加什么类型的索引(单索引、联合索引))

看你写了 SQL 优化手段,能不能结合项目讲一个实际的 case?(单次提交 -> 批量提交)

批量提交的时效性你这里有考虑过吗?(数量 + 周期,结合起来考虑)

这个批量的数据放到哪里呢?缓存还是 JVM 里?(缓存)

如果宕机了,数据丢失了怎么办?(redis 持久化 + 重启脚本)

插入的数据出现了问题,比如唯一键问题,这就会导致插入的时候没及时给到用户反馈。你会怎么处理呢?也就是你怎么考虑这个容错性呢?(返回完成、异步执行而不是反馈成功;幂等校验;重试 + 超时快速失败,让用户重新操作一次)

Redis:

Redis 是单线程还是多线程呢?还是说单进程还是多进程呢?

反问:

部门现在就确定了呢?还是进去才确定呢?

业务是什么?(主要做广告)

总结:比较少的没有问项目难点的,直接就是八股,然后后面慢慢地问项目。特点是,会针对一个点深挖。

#京东##实习##面经#
2025届实习&秋招面经 文章被收录于专栏

2025届实习&秋招面经

全部评论

相关推荐

04-27 08:59
常州大学 Java
牛客139242382号:《两门以上汇编语言》
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务