普通一本毕业3面京东成功拿到offer上岸,分享我的京东社招Java面试经历!

一面:

面向对象的优点

将对象进行分类,分别封装它们的数据和可以调用的方法,方便了函数、变量、数据的管理,方便方法的调用(减少重复参数等),尤其是在编写大型程序时更有帮助。用面向对象的编程可以把变量当成对象进行操作,让编程思路更加清晰简洁,而且减少了很多冗余变量的出现

java的特点

(1)Java几乎什么都可以做,覆盖了绝大多数主流平台,如果有什么需求,往往用这一门语言就可以解决。

(2)Java格式工整,结构也好,阅读性很好,再配合不错的注释习惯,开发团队可以自由伸缩。

(3)Java资源丰富,可以轻松取得很好的前人研究和开发成果,迅速达成目的和吸取经验。

(4)Java语言的开发工具都很不错,使用方便舒适,很多都是免费的,实在是福音。

3、说一说你做的项目

4、冒泡排序和快速排序有什么区别。

5、手撕代码。牛客题霸上的原题,可以去看看:NC78 反转链表。

二面:

1、简历上写的所有技术基本都问了,问得有点多

2、谈对工作的看法,以及对问题的态度

3、linux的知识

(1)Linux 系统安装

(2)Linux 图形界面使用

(3)Linux 常用命令:玩转 Linux,掌握这些 Linux 命令就够了!

(4)Linux 用户和文件系统管理

(5)Linux 软件安装配置

(6)Linux 网络管理

(7)Linux 系统维护

(8)Shell 编程初步

(9)Linux 服务器领域(数据库、防火墙、 DNS 服务器、VPN 服务器、Web 服务器、Mail 服务器、 FTP 服务器、Samba 服务器、NFS 服务器、 LAMP 服务器、集群服务器)

三面:

1、HashMap实现原理。

HashMap最早出现在JDK1.2中,它的底层是基于的散列算法。我们都知道HashMap是数组+链表组成的,bucket数组是HashMap的主体,而链表是为了解决哈希冲突而存在的。

2、线程池的实现原理

在线程池中存在几个概念:核心线程数、最大线程数、任务队列。核心线程数指的是线程池的基本大小;最大线程数指的是,同一时刻线程池中线程的数量最大不能超过该值;任务队列是当任务较多时,线程池中线程的数量已经达到了核心线程数,这时候就是用任务队列来存储我们提交的任务。 与其他池化技术不同的是,线程池是基于生产者-消费者模式来实现的,任务的提交方是生产者,线程池是消费者。当我们需要执行某个任务时,只需要把任务扔到线程池中即可。

3、让说你自己最熟悉的技术,问得很深。把你自己最过于了解,或者那种学习中映像最深的,拿的出台面的技术。

4、CAS和锁的区别,以及应用场景。
最后我为大家准备了一些Java架构学习资料,学习技术内容包含有:Spring,Dubbo,MyBatis, RPC, 源码分析,高并发、高性能、分布式,性能优化,微服务 高级架构开发等等,点击这里免费获取。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jiagouwgm/article/details/112562260