Java后端面经汇总:京东+猫眼+有赞+贝壳+GrowingIO+美团+老虎

为了这次面试也是准备了很长时间,offer没挂的都拿到了,不过我不是刷offer,被春招1offer吓怕了,海投的。各位想要看我为了准备面试的复习大纲可以在文末看到哦!~


京东一面:

自我介绍

讲一下项目

面向对象的特征,详细解释一下

接口和抽象类区别,怎么选用

线程池的参数

HashMap , CurrentHashMap , Hashtable , ConcurrentSkipListMap

JVM内存区域

volatile synchronized Lock

AQS

CountDownL aunch Cyclic Barrier

事务特性

MVCC

bin-log redo-log数据库二段提交

AOP , IOC

索引数据结构(提到了Memory的Hash索引)

死锁产生的必要条件,怎么避免

京东二面:

自我介绍

实习经历

平时做啥

职业规划

可以实习吗

加过什么社团

除了技术做过别的啥

最成功的一件事

最失败的一件事

面前有一堵墙,没有任何工具,怎么办

哪里人

家里几个人

工作地点为什么是深圳

优点是啥

缺点是啥


有赞一面:

自我介绍

Java集台(问的特别多)

JVM内存划分

线程的生命周期,创建线程的方法。

线程池参数(如果想核心线程数使用完之后也可以被回收怎么办? -有参数可以设置

eThreadTimeOut )

GC算法

volatile

双亲委派(破坏双亲委派的模型是啥)

事务、分离级别

数据库读写锁MVCC实现原理

NextKey- -L ock

聚簇索引二级索引回表索引覆盖索引下推

B+Tree InnoDB的B+Tree叶子节点有啥

AOP IOC ,项目中使用AOP导致的线上问题怎么解决的

有赞二面:

自我介绍

实习项目介绍

Dubbo的RPC和SpringCloud的Restul区别

项目的责任链模式

幂等性保障

分布式状态下的数据一致性场景都是怎么保证的,因为分布式可能出现很多的一致性问题,那么怎么保证尽量少的出现,以及出现了怎么应对


猫眼一面:

首先自我介绍啦,一面小姐姐超级超级好。

Java集合类,能讲多少讲多少。(java.util包下面的全部讲了)。

你刚才说的是不安全的,讲一下安全的。(java.util下面的和java.util.concurrent下面的全讲了)。

volitile和synchronized。

JVM内存划分。

GC算法。

Java对象的四种代。

HashMap、ConcurrentHashMap1.7和1.8的区别。

解决Hash冲突的方法 ---四种(链地址、再Hash、公共溢出区、开放定址法)。

数据库事务隔离级别。

索引能讲多少讲多少 --- B+Tree、Hash;(非)聚簇索引、二级索引、回表、索引下推。

线程和进程区别。

数据包发送和接收涉及的协议 --- 一口气讲了HTTP、HTTPS、DNS、TCP、UDP、NAT、VPN、BGP、RIP、OSPF、ARP。

SQL执行慢怎么排查 --explain,顺便提了下Mysql选错索引。

Linux命令用过哪些。

手写代码两个,二叉树中路径和为x的路径、快速幂,猫眼基本必写代码。

猫眼二面:

没有自我介绍。

画一下JVM的线程模型。

画一下实习系统的架构。

JDK提供的所有解决线程安全的方法。

讲一下实习发现的系统隐患和线上问题。

有时候会采用一种无锁化机制去线程同步,有哪些方案。(---我不会啊,我想,我想,我想想想。。。。。分片。排队。又提了一种奇葩方案,被认可了,哈哈哈),面试官说还有写时复制、线程绑定、ThreadLocal等。

JDK提供的工具,知道哪些。CPU负载高怎么定位。

java.util.concurrent包下都有什么类。 ---分类说,原子变量、并发数据结构、锁、线程控制相关(线程池、CountDownLaunch等)。

CountDownLaunch和CyclicBarrier区别。 ---前者基于AQS、后者基于Condition。具体的源码讲的挺仔细的。

实习用的Dubbo?对。了解吗?仅限于官网,zk呢、不了解。

实习项目的链路跟踪,服务治理怎么做的。 ---我确定我们没有链路跟踪。

注册中心知道哪些。 ---zk、eureka、SpringCloud for Alibaba中的。。。等。

让你去做选型,你怎么选。

服务拆分的标准、你会怎么去拆分。

介意业务吗,介意工作城市吗。

有时候为了性能,需要写Go介意吗。

二面真的难度不小,不过面试官超级nice。

猫眼三面:

哪里人。

考虑读研吗。

系统出的问题怎么解决的。

内部通信协议用的啥。

项目的TPS、QPS多少、响应速度多少。

工作城市、工作内容有要求吗

能实习吗

比较多和杂,记得不太清楚了。


贝壳一面:

(贝克的技术面的特点,就是网上找到答案的我不问,我就看看你有没有思维能力)

自我介绍

手撕二叉树的最长直径

狂怼实习经历

数据库索引

贝壳二面:

手撕句子反转

dubbo会吗?--不会

主从复制不一致怎么解决?

limit分页为什么慢,怎么优化

多线程超时抛异常怎么实现

手撕策略模式

直到JDK中的哪些设计模式?--模板方法。 讲~~~

选择公司的标准

GrowingIO一面:

自我介绍。

实习。

分布式ID,雪花算法,问得很细。。。

线程池怎么线程复用,怎么保证线程不死。

线程池MAX_VALUE为什么会OOM。new Thread在堆里面分配???

ThreadLocal使用要注意什么问题。---OOM。

为什么会OOM?---key不引用value,为什么还会OOM?---value被Node引用啊,Node被Map引用啊。

线程用完了不久回收了吗?为什么还会OOM?---(妈妈呀~~~我怕)

CAS什么时候用?

JVM内存划分

哪些可以作为GC Root结点?---四种。确定?---确定啊?

什么叫可重入锁?synchronized可以可以可重入吗?怎么可重入的?用synchronized写一个重入锁,怎么写。

new对象可能分配在哪里?Eden你知道吗?怎么晋升?担保机制怎么担保?

Lock和synchronized怎么选用?

对象什么时候会被GC啊?

jstack查看线程堆栈,线程都有哪些状态啊?

GrowingIO二面:

讲讲你看的最深入的源码? 线程池

HashSet的value 看的比较久了忘了,一步步推理出来的用的Object。反正我是被我自己的推理能力吓到了

Dubbo的理解

计算机网络的理解

负载均衡所处的位置 Nginx 推理出来4 5 7 LVS 通过NAT协议推理出来在网络层

GrowingIO三面:

自己做的项目

分布式锁,异步队列,怎么解决重复发送问题。

问了问实习。

最近在看什么书。


美团一面:

两个栈实现队列

讲实习

设计一个交易系统怎么设计

为什么Eden和Serivor比例是8:1:1

探讨了以下设计的系统

美团二面:

讲一讲实习

sql(没写出来)

思考题,男女比例

讲思路,最近父节点

手写代码,错了一个地方。。。。

讲一下网络收发报文的经过

tcp三次握手,拥堵怎么办

什么是大数据,对创业的理解

老虎一面:

HashMap的理解

手写代码,和为taget的数组的最小子序列

手写代码,二维数组顺时针旋转90度(没写出来)

手写单例,还有什么方法。

volatile作用。

synchronized作用,实现原理。

GCRoot是哪些对象,可以是堆里面的对象吗?为什么。

SpringBoot中AutoConfigure原理。

老虎二面:

实习

除了Stackoverflow之外还有什么溢出,OOM对哪里而言的

垃圾收集器知道哪些

CMS和Parrel Scavage的区别,CMS和G1的区别

Spring如何解决Bean依赖的

Map都讲了一下

synchronized锁膨胀过程,公平吗

synchronized加锁成员方法和静态方法之间有什么区别

ReentrantLock和synchronized的区别

手写每n个节点反转链表

手写旋转数组的旋转接点

nginx的负载均衡方式

Mysql的事务隔离级别,可重复读可以解决幻读吗

Redis的数据类型

Mysql的锁

最后

为了准备这场面试,我前后后也刷了不少面试题,在这里我也吧这些面试题跟大家分享出来,希望能对正在面试的小伙伴一点帮助!

获取方式:

评论留言+转发文章+关注我后 点我获取

你可能感兴趣的:(Java后端面经汇总:京东+猫眼+有赞+贝壳+GrowingIO+美团+老虎)