热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搞快点搞快点,2020年最新最详细的京东秋招Java社招开发岗面经,面历+原题回顾+面试心得!

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

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

 

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


  • 面试经历
  • 京东面试真题
  • 面试经验分享

1.面试经历

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


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

2.京东面试真题(答案见文末)

一面(主要是基础面)


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

二面(数据库问的比较多)


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

三面(综合面主要分布式及缓存)


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

面试真题的答案我已经整理再来一起,由于文章篇幅太长,需要的朋友一键三连后添加小助理获取哦

 


3.面试经验总结以及学习路线分享:

面试经验总结:


  1. 面试尽量提前到,能早点面试,面试官也更愿意给你通过(就像中国好声音一样,一开始都是疯狂转身)。
  2. 面试时调动你的幽默细胞,尽量把面试气氛调得愉快一点,这样面试官能更深的记住你。
  3. 说自己优点的时候一定辅以证据,不然面试官只会当作耳边风
  4. 不会的问题不要强答,小心有坑,可以这样说:“不好意思这个问题我不会,但是如果让我来设计我会.......”
  5. 面试其实是一个双向选择,面试官在评估你的表现,同时由于面试官也代表公司,他的素质及提的问题也是你应该评估的方面,所以不要紧张。
  6. 使用幕布,在每次面试前将自己总结的知识过一遍。我幕布上写了几万字的笔记,每次面试都拿出来看一遍,所以面试问到的基础我基本都能应答入流。

学习路线:

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


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

所以你需要一个明确的学习路线----这是一个典型的程序员的成长过程:

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

因此,你必须学习:

一、开源框架解析(各

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

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

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

 

二、架构师筑基

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

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

 

三、高性能架构

我们不仅仅对项目要运筹帷幄,还要能解决一切性能问题。只有深入学习JVM底层原理,Mysql底层优化以及Tomcat调优,才能达到知其然,知其所以然的效果。除了性能优化之外,也能提供通用的常见思路以及方案选型的考虑点,帮助大家培养在方案选型时的意识、思维以及做各种权衡的能力。

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

 

四、微服务架构

关于微服务架构的取舍

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

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

 

五、团队协作

开发工具工程化

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

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

 

六、B2C项目实战

项目实战

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

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

 


看完我分享的这些学习路线你是否会觉得自己的技术有待加强,思维不应该只停留在表面呢。当然我这里也为想提升自己技术的同学准备了一份架构进阶视频资料和上面的高清思维导图。由于文章篇幅太长,需要的朋友一键三连后添加小助理获取哦



01 梳理知识体系,学会查漏补缺

 

关于知识体系的梳理,我个人主要分为以下5个部分,有针对性的,将这5个部分逐步击破,那么搞定面试是基本没什么问题了。


  • 并发编程:多线程,高并发,CAS,锁,容器,线程池底层
  • 性能调优:Mysql,IO及网络调优,算法调优,JVM
  • Spring全家桶:Spring,SpringMVC,MyBatis,IOC,AOP
  • 缓存数据库:Redis,mongoDB,MySQL
  • 分布式&微服务:SpringBoot,SpringCloud,docker,maven

02 根据要点,逐个击破(根据大纲内容来进行复习)

1.并发编程(核心技术笔记)


  • Java多线程技能
  • 对象及变量的并发访问
  • 线程间通信
  • Lock的使用
  • 定时器Timer
  • 单例模式与多线程
  • 拾遇增补

 

 

2.性能调优(Java性能调优+MySQL调优+JVM调优)

 

3.Spring全家桶(Spring全家桶学习脑图+SpringBoot使用笔记+源码深度解析)


  • Spring学习思维脑图(Xmind)

 


  • Spring使用笔记+实战文档

 

 

4.缓存数据库(MySQL+Redis+mongoDB)

 


03 最后看面试题来举一反三(刷题刷题刷题,重要事情说三遍)

关于面试刷题也是有方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,效果会更好。当然,这些内容我也全部整理在一份pdf文档内,分成了以下几大专题:


  • Java基础部分

 


  • 算法与编程

 


  • 数据库部分

 


  • 流行的框架与新技术(Spring+SpringCloud+SpringCloudAlibaba)

 


看完我分享的这些学习路线你是否会觉得自己的技术有待加强,思维不应该只停留在表面呢。当然我这里也为想提升自己技术的同学准备了一份架构进阶视频资料和上面的高清思维导图。由于文章篇幅太长,需要的朋友一键三连后添加小助理获取哦



写在文末

作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。

最后提醒一下哦,如果你想要学习,却无奈于没有干货学习资料,以上所有的资料内容都可以免费分享给你,只需你多多支持一下即可

 

 

 


推荐阅读
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文详细记录了一位Java程序员在Lazada的面试经历,涵盖同步机制、JVM调优、Redis应用、线程池配置、Spring框架特性等多个技术点,以及高级面试中的设计问题和解决方案。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
  • 2020年腾讯PCG后端开发实习生面试经历分享
    本文详细记录了2020年腾讯平台与内容事业群(PCG)后端开发实习生岗位的面试过程,包括初试和复试的主要内容和技术考察点。 ... [详细]
  • 深入理解Java类加载机制及安全防护
    本文探讨了Java类加载的过程,包括加载、验证、准备、解析和初始化五个阶段,并详细解释了每个阶段的具体操作和意义。此外,文章还讨论了Java如何通过双亲委派模型来保障核心API的安全性,以及在特定情况下如何打破这一机制。 ... [详细]
  • 成为一名高效的Java架构师不仅需要掌握高级Java编程技巧,还需深入理解JVM的工作原理及其优化方法。此外,对池技术(包括对象池、连接池和线程池)的应用、多线程处理、集合对象的内部机制、以及常用的数据结构和算法的精通也是必不可少的。同时,熟悉Linux操作系统、TCP/IP协议栈、HTTP协议等基础知识,对于构建高效稳定的系统同样重要。 ... [详细]
  • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
    在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
  • 揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节
    揭秘腾讯云CynosDB计算层设计优化背后的不为人知的故事与技术细节 ... [详细]
  • 第三周课堂测试1、使用汇编语言编写指令时,用一些简单的容易记忆的符号来代替二进制指令,比机器语言更为方便,属于高级语言。(B ... [详细]
  • 本文详细介绍了Python中的流程控制与条件判断技术,包括数据导入、数据变换、统计描述、假设检验、可视化以及自定义函数的创建等方面的内容。 ... [详细]
  • 面对日益竞争激烈的就业市场,合理的职业规划对于在校大学生尤为重要。本文旨在探讨如何通过有效的自我认知、技能提升及目标设定,帮助计算机专业的学生构建清晰的职业路径,以增强就业竞争力。 ... [详细]
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 深入解析链表成环问题:剑指Offer第22天的新视角
    本文将详细介绍链表成环问题的多种解法,包括哈希表法、JSON.stringify特殊解法及双指针法,并提供详尽的代码示例。阅读本文,你不仅能够掌握这一经典算法问题的核心技巧,还能了解到更多编程思维的拓展。 ... [详细]
  • 利用Git GUI将本地项目同步至GitHub的方法
    GitHub作为开发者不可或缺的工具,不仅提供了丰富的开源项目资源,还极大地便利了个人项目的管理和版本控制。本文将详细介绍如何使用Git GUI工具将本地开发的项目上传至GitHub。 ... [详细]
author-avatar
血影修罗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有