京东面试一天一共四面。hr会当天或者择日,差不多一周内会有电话给你谈钱
一面:
1、面向对象的优点
将对象进行分类,分别封装它们的数据和可以调用的方法,方便了函数、变量、数据的管理,方便方法的调用(减少重复参数等),尤其是在编写大型程序时更有帮助。用面向对象的编程可以把变量当成对象进行操作,让编程思路更加清晰简洁,而且减少了很多冗余变量的出现
2、java的特点
1.Java几乎什么都可以做,覆盖了绝大多数主流平台,如果有什么需求,往往用这一门语言就可以解决。
2.Java格式工整,结构也好,阅读性很好,再配合不错的注释习惯,开发团队可以自由伸缩。
3.Java资源丰富,可以轻松取得很好的前人研究和开发成果,迅速达成目的和吸取经验。
4.Java语言的开发工具都很不错,使用方便舒适,很多都是免费的,实在是福音。
5.Java语言还在发展,不断完善。
3、说一说你做的东西
做过很多项目,但是这次想说个复杂点的,也是第一次讲这个项目,描述有点乱,方向带偏了,导致后来面试官没听明白我说的是什么,我也没听明白他问的是什么,导致气氛十分尴尬。可能是为了缓解尴尬气氛,面试官问了个简单的问题,冒泡排序和快速排序有什么区别。
二面:
1、简历上写的所有技术基本都问了,问得有点多,自己都有点乱,会的就说 不会的就说不知道。
2、谈对工作的看法,以及对问题的态度
就是一顿乱编来证明你在以前的公司有多大的学习经历,无非就是证明自己有足够的专业度和职业素养。专业度证明你能否完成业绩,职业素养证明你能否与别人沟通合作。这两样东西在面试前、面试中、面试后都会有体现
3、linux的知识
Linux 初级基础
- Linux 系统安装
- Linux 图形界面使用
- Linux 常用命令:玩转 Linux,掌握这些 Linux 命令就够了!
Linux 中级基础
- Linux 用户和文件系统管理
- Linux 软件安装配置
- Linux 网络管理
- Linux 系统维护
- Shell 编程初步
Linux 高级进阶
- Linux 服务器领域(数据库、防火墙、 DNS 服务器、VPN 服务器、Web 服务器、Mail 服务器、 FTP 服务器、Samba 服务器、NFS 服务器、 LAMP 服务器、集群服务器)
三面:
1、HashMap实现原理。
HashMap最早出现在JDK1.2中,它的底层是基于的散列算法。允许键值对都是Null,并且是非线程安全的,我们先看看这个1.8版本的JDK中HashMap的数据结构吧。
HashMap图解如下:
我们都知道HashMap是数组+链表组成的,bucket数组是HashMap的主体,而链表是为了解决哈希冲突而存在的,但是很多人不知道其实HashMap是包含树结构的,但是得有一点 注意事项,什么时候会出现红黑树这种红树结构的呢?我们就得看源码了,源码解释说默认链表长度大于8的时候会转换为树。
2、线程池的实现原理
在线程池中存在几个概念:核心线程数、最大线程数、任务队列。核心线程数指的是线程池的基本大小;最大线程数指的是,同一时刻线程池中线程的数量最大不能超过该值;任务队列是当任务较多时,线程池中线程的数量已经达到了核心线程数,这时候就是用任务队列来存储我们提交的任务。 与其他池化技术不同的是,线程池是基于生产者-消费者模式来实现的,任务的提交方是生产者,线程池是消费者。当我们需要执行某个任务时,只需要把任务扔到线程池中即可。
3、让说你自己最熟悉的技术,问得很深。
把你自己最过于了解,或者那种学习中映像最深的,拿的出台面的技术。
4、CAS和锁的区别,以及应用场景。
四面:
领导说比较忙,简单聊了聊,问问我为什么要换工作,以及期望薪资。很快就结束了。
分享一些我个人的学习文档,有需要的朋友自行选择获取:
1、面试文档专题整理
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
根据自身面试经历整理以及不断收集的(珍藏版)
电子书源码
阿里技术知识点