Java|拿到京东Java社招offer,过来分享面经


Java|拿到京东Java社招offer,过来分享面经
文章图片
Java|拿到京东Java社招offer,过来分享面经
前言:

我觉得目前看源码是必要的 , 比如说常用的java类源码 , 为什么arraylist是支持快速随机访问?为什么他支持序列化 , 其实源码当中不管是JDK作者还是自己看都会找到原因 , 而面试题也是从这里面来的 。 其次是实战 ,必须要做一个Java项目 , 因为你不做 , 对于你投递Java相关的岗位很吃亏 , 面试官可能没法问你相关问题

一面:死问项目 , 你这个东西的原理是啥 , 我说了个单点登录 , 就开始问了很多一直问到你不会为止 , 反正我答的很差
面试官说你的项目不是很难 , 技术深度还有待发掘
然后开始了java基础之路:
1.为什么分为基础数据类型和引用数据类型 , String是不是?
2.String为什么不可以修改?final?那你知道final的作用呢?既然他的底层结构知道了 , 那你知道他的线程安全不?那你知道还知道什么String类线程安全?这三者区别你知道不?(就是String、StringBuiler、StringBuffer) , 你知道String常用方法不?你知道subString原理不?
3.之后就开始了euqals与==的漫长之路 , 两个都是String st1 = \"abc\"是否相等?一个创建对象 , 一个String str1=“abc”相等不?一个是String str1=a+b+c , 一个String str2=abc相等不?两个都是new String对象相等不?不管想不想等 , 都让我说了原因
然后开始了集合家族的问题
hashmap结构?为什么是红黑树?旋转与着色怎么搞?手撕put操作 , 然后hashmap的put与get的时间复杂度 , 哪几种线程安全?ConcurrentHashMap扩容机制 , 为什么 ConcurrentHashMap 比 HashTable 效率要高?hashmap与 ConcurrentHashMap中扩容的区别?arraylist、linkedlist区别和适用场景?treeset、hashset区别和适用场景?
5.问了一下JVM , 我说不太会 , 他就问了我一下垃圾回收机制
6.手撕代码 , 0-1背包问题 , 反正我记得是leetcode原题
7.你觉得你身上最大的优势是什么?
8.反问
问他部门是干啥的
有没有下午茶(最尴尬的一个问题o(╥﹏╥)o)
二面
死问项目 , 然后问承担了什么责任?你觉得一个团队当中你适合什么角色?你对这个项目社会价值的评价(心理一万个TMD)
既然你用到了计算机网络 , 我问你几个问题
1.讲一下Http , HTTP安全不?HTTPS如何解决的?HTTP的数字证书如何认证?
2.TCP与UDP区别? , TCP为什么要四次?为什么TIME_WAIT 等待的时间是 2MSL?已经主动关闭连接了为啥还要保持资源一段时间呢?TIME_WAIT 过多有什么危害?如果已经建?了连接 , 但是客户端突然出现故障了怎么办?保活机制说一下?
3. Cookie 和 Session 的区别
4. 数据库三大范式是什么?并举例
5.ACID靠什么保证的(我认为也就是底层原理) , 说一下undolog , 那redolog说一下 , MySQL如何保证redo log和binlog的数据是一致的 , 如果一个sql执行很慢 , 你能分析一下原因呢?然后说为什么数据库会选错了索引
6.来了个sql场景题
7.两道手撕代码结束全场
8.反问
之后是HR面还是技术面
京东的员工福利((ー`′ー))
部门额待遇
三面 HR面家是哪的?愿不愿意来北京?有没有女朋友?女朋友也来呢?为什么学这个方向 , 你觉得你最大的强项是什么?你觉得你的发展史怎么定位的? 。。。。 很多 , 反正就是通常的hr该问的 , 都问了 。
最后针对最近很多人都在面试 , 我这边也整理了相当多的面试专题资料 , 也有其他大厂的面经 。 希望可以帮助到大家 。


推荐阅读