学习编程的小伙伴们对面试一定很苦恼吧,这里小编整理了京东高级java面试题,一起来看看吧。
一面(主要是基础面)
自我介绍,主要问了做了什么和擅长什么
@Autowired的实现原理
Bean的默认作用范围是什么?其他的作用范围?
索引是什么概念有什么作用?
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和微服务的区别?
单机系统演变为分布式系统,会涉及到哪些技术的调整?请从前面负载到后端详细描述。
设计一个秒杀系统?
3.面试经验总结以及学习路线分享:
经验总结:
面试尽量提前到,能早点面试,面试官也更愿意给你通过(就像中国好声音一样,一开始都是疯狂转身)。
面试时调动你的幽默细胞,尽量把面试气氛调得愉快一点,这样面试官能更深的记住你。
说自己优点的时候一定辅以证据,不然面试官只会当作耳边风
不会的问题不要强答,小心有坑,可以这样说:“不好意思这个问题我不会,但是如果让我来设计我会.......”
面试其实是一个双向选择,面试官在评估你的表现,同时由于面试官也代表公司,他的素质及提的问题也是你应该评估的方面,所以不要紧张。
使用幕布,在每次面试前将自己总结的知识过一遍。我幕布上写了几万字的笔记,每次面试都拿出来看一遍,所以面试问到的基础我基本都能应答入流。
学习路线:
大部分职业都是需要有成长体系,才能让人有奋发向上的追求。架构师就是程序员这个群体成长道路上往往会出现的一个重要节点。每个好架构师都是一位出色的程序员。然而好的程序员进阶为架构师,并不容易。
以上就是本篇文章的所有内容,对一些面试题还有疑问的话可以来我们的java面试宝典中了解详情噢。
推荐阅读: