京东java后端久远的面经(已oc)
时隔快两个月东哥终于给我开奖了
无意向直接oc
卷成都终于上岸!
在牛客上看了这么多面经来回报啦~
9.1 视频一面(45min)
- 自我介绍
- 项目做了哪些工作,遇到什么困难,有什么收获等
- 如果用户未登录,加入购物车的东西怎么保证关掉浏览器和再打开还在?用户登录呢?
- 如果有多台服务器呢?如果海量数据访问数据库怎么解决高并发?
- 项目的ER图怎么设计的
- 数据库的表怎么设计的,有哪些表,它们之间的关系?
- tomcat是怎么接收请求传给后端的?
- 数据挖掘的项目是怎么做的?聚类算法和回归算法比较以下?(我面的不是java吗?)
- 有1千万个数据,怎么在最优的情况下找到其中最大的数?
- 堆排序的过程
- Object类里面有些什么方法,各自的职责?
- getClass()方法:返回这个实体的Class对象,可以用来获得这个类的元数据。反射中经常使用。
- clone()方法:通过clone方法复制某一个对象,在该类中必须实现java.lang.Cloneable接口。
- toString()方法:提供对象的字符串表示形式。类Object的默认toString()方法返回一个字符串,该字符串包括该对象的类名称,"@"字符以及该对象的哈希码的无符号十六进制表示形式。
- hashcode()方法:对于每个对象,JVM都会生成一个唯一的数字,即哈希码。它为不同的对象返回不同的整数。
- equals()方法:用来比较两个对象是否相等。在重写equals的时候也需要重写hashCode方法。HashMap和Hashset中判断两个对象是否相等,首先比较hashCode,如果hashCode相等才回执行equals方法。
- finalize()方法:在垃圾回收之前被执行,可以通过重写finalize方法来重置系统资源,执行清理活动并且最大程度的减少内存泄露。
- wait()方法:调用线程放弃锁并且进入睡眠状态,直到其他线程进入同一个monitor并且执行notify唤醒线程。
- notify,notifyAll方法:和wait相反,用于唤醒线程。
- getClass()方法:返回这个实体的Class对象,可以用来获得这个类的元数据。反射中经常使用。
- 深拷贝和浅拷贝
- 一般很多类都是实现序列化接口是为什么?
- java怎么学习的
- 集合类熟悉哪些,hashmap仔细讲讲,怎么扩容,为什么是2的幂次方?
- 线程池的核心参数,如果有很多个优先级高执行时间长和很多个优先级低执行时间短的线程,怎么使执行效率最高?
- jvm中类加载过程
- 怎么打破双亲委派机制?
- 父类和子类中有各种方法,判断执行顺序的场景题
- mysql索引相关的场景题(考察最左匹配原则)
- 索引的底层数据结构,b+树怎么快速定位到数据的?
- 反问
整个人都被问麻了,以为自己肯定凉了没想到很快给我过了。
9.3 电话二面(20min)
- 研究生期间有什么收获?遇到的最大的挑战是什么?
- java怎么学习的?有没有一个明确的学习路线?
- 冒泡的思想、还了解哪些排序算法,哪些用的最多,时间复杂度是怎么样的?
- 算法有在实际项目中用过吗?
- 项目是怎么做的?
- 团队合作中是怎么做的?
9.7 电话hr面(10min)
- 自我介绍
- 为什么转专业
- 看简历python项目更多为什么选择java
- 平常怎么学习的,会自己写博客吗?
- 为什么没有实习?会来实习吗?
- 反问