2020 年京东 Java 研发岗社招面经(面试经历 + 真题总结,java 编程教程视频下载
索引是什么概念有什么作用?
MySQL 里主要有哪些索引结构?哈希索引和 B+树索引比较?
说说 Java 线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
hashmap 原理,处理哈希冲突用的哪种方法?
BIO、NIO、AIO 的区别和联系?
jvm 内存模型 jmm 知道的全讲讲
讲讲 Java GC 机制?
Java 怎么进行垃圾回收的?什么对象会进老年代?
垃圾回收算法有哪些?为什么新生代使用复制算法?
HashMap 的时间复杂度?HashMap 中 Hash 冲突是怎么解决的?Java8 中的 HashMap 有什么变化?
红黑树需要比较大小才能进行插入,是依据什么进行比较的?其他 Hash 冲突解决方式?
hash 和 B+树的区别?分别应用于什么场景?哪个比较好?
二面(数据库问的比较多)
自我介绍
为什么 MyISAM 查询性能好?
说说事务特性(ACID)?
mysql 数据库默认存储引擎,有什么优点
MySQL 的事务隔离级别,分别解决什么问题。
SQL 慢查询的常见优化步骤是什么?
说下乐观锁,悲观锁(select
for update),并写出 sql 实现?
讲讲 TCP 协议的三次握手和四次挥手过程?
用到过哪些 rpc 框架?
Java web 过滤器的生命周期?
三面(综合面主要分布式及缓存)
自我介绍,讲下项目!
加锁有什么机制?
数据库水平切分,垂直切分的设计思路和切分顺序
Redis 如何解决 key 冲突?
如何保证数据库与 redis 缓存一致的
项目中消息队列怎么用的?使用哪些具体业务场景?
JVM 相关的分析工具有使用过哪些?具体的性能调优步骤吗?
MySQL 的慢 sql 优化一般如何来做?除此外还有什么方法优化?
线上的服务器监控指标,你认为哪些指标是最需要关注的?为什么?
soa 和微服务的区别?
单机系统演变为分布式系统,会涉及到哪些技术的调整?请从前面负载到后端详细描述。
设计一个秒杀系统?
面试真题的答案我已经整理再来一起,由于文章篇幅太长,需要的朋友可以加 QQ 群:935692859 进群免费领取资料!
[](
)3.面试经验总结以及学习路线分享:
================================================================================
面试经验总结:
面试尽量提前到,能早点面试,面试官也更愿意给你通过(就像中国好声音一样,一开始都是疯狂转身)。
面试时调动你的幽默细胞,尽量把面试气氛调得愉快一点,这样面试官能更深的记住你。
说自己优点的时候一定辅以证据,不然面试官只会当作耳边风
不会的问题不要强答,小心有坑,可以这样说:“不好意思这个问题我不会,但是如果让我来设计我会…”
面试其实是一个双向选择,面试官在评估你的表现,同时由于面试官也代表公司,他的素质及提的问题也是你应该评估的方面,所以不要紧张。
使用幕布,在每次面试前将自己总结的知识过一遍。我幕布上写了几万字的笔记,每次面试都拿出来看一遍,所以面试问到的基础我基本都能应答入流。
学习路线:
大部分职业都是需要有成长体系,才能让人有奋发向上的追求。架构师就是程序员这个群体成长道路上往往会出现的一个重要节点。每个好架构师都是一位出色的程序员。然而好的程序员进阶为架构师,并不容易。
对于有一定后台研发经验(尤其是 5 年以上经验)的程序员们来说,成为架构师的渴望更加强烈,因此会花更多时间学习,提升架构技能,但常常由于客观条件限制,面临着不少难点:接触不到一线实战架构技术,尤其是有一定的技术深度和难度架构技术。不了解核心技术点所处的具体背景是什么?同时,又迫切需要掌握:业界目前主流干货技术 + 前沿技术,互联网核心技术硬技能 + 核心软技能,掌握架构技术的本质,知其然更知其所以然,架构筑基篇,深入内核,直击故障,拒绝蒙圈。
所以你需要一个明确的学习路线----这是一个典型的程序员的成长过程:
使用 Java---->深入理解 Java 积累经验------>独立设计分析能力------>独当一面的多面手!
因此,你必须学习:
一、开源框架解析(各
程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也造成了很多错误看源码的方式。
评论