2019年京东Java研发岗社招面经(面试经历+真题总结+经验分享)!

本篇先以日历形式回顾秋招之路,方便各位参考某厂的处理进度;而后是总结概括春秋招Java面试题库;最后作个总结还有展望,开始新的征程~mysql

面试经历
京东面试真题
面试经验分享
1.面试经历程序员

2018年的冬季特别的冷,无疑是程序员的寒冬,我也是年末裁人大潮裁下来的一名,(整个业务线都裁了 难受中~)但临近年末了失业回家也不太好因此有投了几份简历,其中投京东的一份,京东Java岗要求。web

岗位描述:
一、参与京东金融保险核心业务系统底层架构设计及重构工做;
二、持续优化高并发场景下系统性能;
三、与保险公司接口对接及联调;
四、保险产品智能推荐系统开发;
五、对接财务流程相关系统。
任职要求:
一、计算机相关专业本科以上学历,逻辑思惟能力强,有很强的责任心和主动性;
二、3年以上J2EE开发经验,有互联网开发经验,JAVA基础扎实,熟练运用设计模式;
三、熟练掌握Spring、Struts二、Ibatis等经常使用框架,了解机制;
四、熟悉分布式开发,熟悉经常使用SOA框架、多线程、网络编程等;
五、熟悉经常使用数据库及优化,熟悉经常使用缓存、NoSql技术;
六、熟悉Zookeeper、MQ等组件;
七、有高并发、大数据量系统开发及优化经验者优先;
八、有互联网金融尤为是保险业务开发经验者优先。
 面试

2.京东面试真题redis

一面(主要是基础面)算法

自我介绍,主要问了作了什么和擅长什么
@Autowired的实现原理
Bean的默认做用范围是什么?其余的做用范围?
索引是什么概念有什么做用?
MySQL里主要有哪些索引结构?哈希索引和B+树索引比较?
说说Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
hashmap原理,处理哈希冲突用的哪一种方法?
BIO、NIO、AIO的区别和联系?
jvm内存模型jmm 知道的全讲讲
讲讲Java GC机制?
Java怎么进行垃圾回收的?什么对象会进老年代?
垃圾回收算法有哪些?为何新生代使用复制算法?
HashMap的时间复杂度?HashMap中Hash冲突是怎么解决的?Java8中的HashMap有什么变化?
红黑树须要比较大小才能进行插入,是依据什么进行比较的?其余Hash冲突解决方式?
hash和B+树的区别?分别应用于什么场景?哪一个比较好?
二面(数据库问的比较多)sql

自我介绍
为何MyISAM查询性能好?
说说事务特性(ACID)?
mysql数据库默认存储引擎,有什么优势
MySQL的事务隔离级别,分别解决什么问题。
SQL慢查询的常见优化步骤是什么?
说下乐观锁,悲观锁(select for update),并写出sql实现?
讲讲TCP协议的三次握手和四次挥手过程?
用到过哪些rpc框架?
Java web过滤器的生命周期?
三面(综合面主要分布式及缓存)数据库

自我介绍,讲下项目!
加锁有什么机制?
数据库水平切分,垂直切分的设计思路和切分顺序
Redis如何解决key冲突?
如何保证数据库与redis缓存一致的
项目中消息队列怎么用的?使用哪些具体业务场景?
JVM相关的分析工具备使用过哪些?具体的性能调优步骤吗?
MySQL的慢sql优化通常如何来作?除此外还有什么方法优化?
线上的服务器监控指标,你认为哪些指标是最须要关注的?为何?
soa和微服务的区别?
单机系统演变为分布式系统,会涉及到哪些技术的调整?请从前面负载到后端详细描述。
设计一个秒杀系统?
3.面试经验总结以及学习路线分享:编程

经验总结:后端

面试尽可能提早到,能早点面试,面试官也更愿意给你经过(就像中国好声音同样,一开始都是疯狂转身)。
面试时调动你的幽默细胞,尽可能把面试气氛调得愉快一点,这样面试官能更深的记住你。
说本身优势的时候必定辅以证据,否则面试官只会看成耳边风
不会的问题不要强答,当心有坑,能够这样说:“很差意思这个问题我不会,可是若是让我来设计我会.......”
面试实际上是一个双向选择,面试官在评估你的表现,同时因为面试官也表明公司,他的素质及提的问题也是你应该评估的方面,因此没关系张。
使用幕布,在每次面试前将本身总结的知识过一遍。我幕布上写了几万字的笔记,每次面试都拿出来看一遍,因此面试问到的基础我基本都能应答入流。
学习路线:

大部分职业都是须要有成长体系,才能让人有奋发向上的追求。架构师就是程序员这个群体成长道路上每每会出现的一个重要节点。每一个好架构师都是一位出色的程序员。然而好的程序员进阶为架构师,并不容易。

对于有必定后台研发经验(尤为是5年以上经验)的程序员们来讲,成为架构师的渴望更增强烈,所以会花更多时间学习,提高架构技能,但经常因为客观条件限制,面临着很多难点:
接触不到一线实战架构技术,尤为是有必定的技术深度和难度架构技术。
不了解核心技术点所处的具体背景是什么?
同时,又迫切须要掌握:业界目前主流干货技术 + 前沿技术,互联网核心技术硬技能 + 核心软技能,掌握架构技术的本质,知其然更知其因此然,架构筑基篇,深刻内核,直击故障,拒绝蒙圈。
因此你须要一个明确的学习路线----这是一个典型的程序员的成长过程:

使用Java---->深刻理解Java积累经验------>独立设计分析能力------>独当一面的多面手!

所以,必须学习:

1、开源框架解析

程序员天天都和代码打交道。通过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。可是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也形成了不少错误看源码的方式。

那要如何正确的分析源码呢? 咱们的目标应该放在最经常使用的框架上面:

 

 

2、架构师筑基

从架构设计,到应用层调优,再深刻了解底层原理,扎实的Java基本功才能让本身变为扫地神僧:内存模型,并发模式,线程模型,锁细节等等

 

3、高性能架构

咱们不只仅对项目要指挥若定,还要能解决一切性能问题。只有深刻学习JVM底层原理,Mysql底层优化以及Tomcat调优,才能达到知其然,知其因此然的效果。除了性能优化以外,也能提供通用的常见思路以及方案选型的考虑点,帮助你们培养在方案选型时的意识、思惟以及作各类权衡的能力。

 

4、微服务架构

关于微服务架构的取舍

在合适的项目,合适的团队,采用微服务架构收益会大于成本。微服务架构有不少吸引人的地方,但在拥抱微服务以前,也须要认清它所带来的挑战。须要避免为了“微服务”而“微服务”。微服务架构引入策略 – 对传统企业而言,开始时能够考虑引入部分合适的微服务架构原则对已有系统进行改造或新建微服务应用,逐步探索及积累微服务架构经验,而非全盘实施微服务架构。

 

5、团队协做

开发工具工程化

经过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。程序员的战斗,每每不是一我的的战斗,咱们如何在一个平台下高效的去重,进行代码review,对功能进行调整,debug,作到在统一的规划下步步为营,混乱的堆代码的过程当中找到本身的记录。这一切都依赖于有效的工具。

 

6、B2C项目实战

项目实战

要想立足于互联网公司,且能在互联网浪潮中不被淹没,对于项目的开发实战演练是没必要可少的技能,也是对自身能力的一个衡量,有多少的量对等于得到多少的回报。看似简单的一个项目需求图谱,其中的底层原理,实现原理又能知道多少?你搭建一个完整的B2C项目平台到底须要多少知识?这一切都是须要咱们考量的。

 

看完我分享的这些学习路线你是否会以为本身的技术有待增强,思惟不该该只停留在表面呢。

固然我这里也为想提高本身技术的同窗准备了一份架构进阶视频资料和上面的高清思惟导图。

 

资料获取方式:请加JAVA架构技术交流群:714827309点击连接加入群聊【JAVA高级架构技术交流】:https://jq.qq.com/?_wv=1027&k=51OhGuo--------------------- 做者:大型互联网架构技术v 来源:CSDN 原文:https://blog.csdn.net/qq_41790443/article/details/88712353 版权声明:本文为博主原创文章,转载请附上博文连接!