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

Wesley13
• 阅读 514

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

京东一面:

  1. 自我介绍
  2. 讲一下项目
  3. 面向对象的特征,详细解释一下
  4. 接口和抽象类区别,怎么选用
  5. 线程池的参数
  6. HashMap , CurrentHashMap , Hashtable , ConcurrentSkipListMap
  7. JVM内存区域
  8. volatile synchronized Lock
  9. AQS
  10. CountDownL aunch Cyclic Barrier
  11. 事务特性
  12. MVCC
  13. bin-log redo-log数据库二段提交
  14. AOP , IOC
  15. 索引数据结构(提到了Memory的Hash索引)
  16. 死锁产生的必要条件,怎么避免

京东二面:

  1. 自我介绍
  2. 实习经历
  3. 平时做啥
  4. 职业规划
  5. 可以实习吗
  6. 加过什么社团
  7. 除了技术做过别的啥
  8. 最成功的一件事
  9. 最失败的一件事
  10. 面前有一堵墙,没有任何工具,怎么办
  11. 哪里人
  12. 家里几个人
  13. 工作地点为什么是深圳
  14. 优点是啥
  15. 缺点是啥

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

有赞一面:

  1. 自我介绍
  2. Java集台(问的特别多)
  3. JVM内存划分
  4. 线程的生命周期,创建线程的方法。
  5. 线程池参数(如果想核心线程数使用完之后也可以被回收怎么办? -有参数可以设置
  6. eThreadTimeOut )
  7. GC算法
  8. volatile
  9. 双亲委派(破坏双亲委派的模型是啥)
  10. 事务、分离级别
  11. 数据库读写锁MVCC实现原理
  12. NextKey- -L ock
  13. 聚簇索引二级索引回表索引覆盖索引下推
  14. B+Tree InnoDB的B+Tree叶子节点有啥
  15. AOP IOC ,项目中使用AOP导致的线上问题怎么解决的

有赞二面:

  1. 自我介绍
  2. 实习项目介绍
  3. Dubbo的RPC和SpringCloud的Restul区别
  4. 项目的责任链模式
  5. 幂等性保障
  6. 分布式状态下的数据一致性场景都是怎么保证的,因为分布式可能出现很多的一致性问题,那么怎么保证尽量少的出现,以及出现了怎么应对

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

猫眼一面:

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

  1. Java集合类,能讲多少讲多少。(java.util包下面的全部讲了)。
  2. 你刚才说的是不安全的,讲一下安全的。(java.util下面的和java.util.concurrent下面的全讲了)。
  3. volitile和synchronized。
  4. JVM内存划分。
  5. GC算法。
  6. Java对象的四种代。
  7. HashMap、ConcurrentHashMap1.7和1.8的区别。
  8. 解决Hash冲突的方法 ---四种(链地址、再Hash、公共溢出区、开放定址法)。
  9. 数据库事务隔离级别。
  10. 索引能讲多少讲多少 --- B+Tree、Hash;(非)聚簇索引、二级索引、回表、索引下推。
  11. 线程和进程区别。
  12. 数据包发送和接收涉及的协议 --- 一口气讲了HTTP、HTTPS、DNS、TCP、UDP、NAT、VPN、BGP、RIP、OSPF、ARP。
  13. SQL执行慢怎么排查 --explain,顺便提了下Mysql选错索引。
  14. Linux命令用过哪些。
  15. 手写代码两个,二叉树中路径和为x的路径、快速幂,猫眼基本必写代码。

猫眼二面:

  1. 没有自我介绍。
  2. 画一下JVM的线程模型。
  3. 画一下实习系统的架构。
  4. JDK提供的所有解决线程安全的方法。
  5. 讲一下实习发现的系统隐患和线上问题。
  6. 有时候会采用一种无锁化机制去线程同步,有哪些方案。(---我不会啊,我想,我想,我想想想。。。。。分片。排队。又提了一种奇葩方案,被认可了,哈哈哈),面试官说还有写时复制、线程绑定、ThreadLocal等。
  7. JDK提供的工具,知道哪些。CPU负载高怎么定位。
  8. java.util.concurrent包下都有什么类。 ---分类说,原子变量、并发数据结构、锁、线程控制相关(线程池、CountDownLaunch等)。
  9. CountDownLaunch和CyclicBarrier区别。 ---前者基于AQS、后者基于Condition。具体的源码讲的挺仔细的。
  10. 实习用的Dubbo?对。了解吗?仅限于官网,zk呢、不了解。
  11. 实习项目的链路跟踪,服务治理怎么做的。 ---我确定我们没有链路跟踪。
  12. 注册中心知道哪些。 ---zk、eureka、SpringCloud for Alibaba中的。。。等。
  13. 让你去做选型,你怎么选。
  14. 服务拆分的标准、你会怎么去拆分。
  15. 介意业务吗,介意工作城市吗。
  16. 有时候为了性能,需要写Go介意吗。

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

猫眼三面:

  1. 哪里人。
  2. 考虑读研吗。
  3. 系统出的问题怎么解决的。
  4. 内部通信协议用的啥。
  5. 项目的TPS、QPS多少、响应速度多少。
  6. 工作城市、工作内容有要求吗
  7. 能实习吗
  8. 比较多和杂,记得不太清楚了。

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

贝壳一面:

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

  1. 自我介绍
  2. 手撕二叉树的最长直径
  3. 狂怼实习经历
  4. 数据库索引

贝壳二面:

  1. 手撕句子反转
  2. dubbo会吗?--不会
  3. 主从复制不一致怎么解决?
  4. limit分页为什么慢,怎么优化
  5. 多线程超时抛异常怎么实现
  6. 手撕策略模式
  7. 直到JDK中的哪些设计模式?--模板方法。 讲~~~
  8. 选择公司的标准

GrowingIO一面:

  1. 自我介绍。
  2. 实习。
  3. 分布式ID,雪花算法,问得很细。。。
  4. 线程池怎么线程复用,怎么保证线程不死。
  5. 线程池MAX_VALUE为什么会OOM。new Thread在堆里面分配???
  6. ThreadLocal使用要注意什么问题。---OOM。
  7. 为什么会OOM?---key不引用value,为什么还会OOM?---value被Node引用啊,Node被Map引用啊。
  8. 线程用完了不久回收了吗?为什么还会OOM?---(妈妈呀~~~我怕)
  9. CAS什么时候用?
  10. JVM内存划分
  11. 哪些可以作为GC Root结点?---四种。确定?---确定啊?
  12. 什么叫可重入锁?synchronized可以可以可重入吗?怎么可重入的?用synchronized写一个重入锁,怎么写。
  13. new对象可能分配在哪里?Eden你知道吗?怎么晋升?担保机制怎么担保?
  14. Lock和synchronized怎么选用?
  15. 对象什么时候会被GC啊?
  16. jstack查看线程堆栈,线程都有哪些状态啊?

GrowingIO二面:

  1. 讲讲你看的最深入的源码? 线程池
  2. HashSet的value 看的比较久了忘了,一步步推理出来的用的Object。反正我是被我自己的推理能力吓到了
  3. Dubbo的理解
  4. 计算机网络的理解
  5. 负载均衡所处的位置 Nginx 推理出来4 5 7 LVS 通过NAT协议推理出来在网络层

GrowingIO三面:

  1. 自己做的项目
  2. 分布式锁,异步队列,怎么解决重复发送问题。
  3. 问了问实习。
  4. 最近在看什么书。

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

美团一面:

  1. 两个栈实现队列
  2. 讲实习
  3. 设计一个交易系统怎么设计
  4. 为什么Eden和Serivor比例是8:1:1
  5. 探讨了以下设计的系统

美团二面:

  1. 讲一讲实习
  2. sql(没写出来)
  3. 思考题,男女比例
  4. 讲思路,最近父节点
  5. 手写代码,错了一个地方。。。。
  6. 讲一下网络收发报文的经过
  7. tcp三次握手,拥堵怎么办
  8. 什么是大数据,对创业的理解

老虎一面:

  1. HashMap的理解
  2. 手写代码,和为taget的数组的最小子序列
  3. 手写代码,二维数组顺时针旋转90度(没写出来)
  4. 手写单例,还有什么方法。
  5. volatile作用。
  6. synchronized作用,实现原理。
  7. GCRoot是哪些对象,可以是堆里面的对象吗?为什么。
  8. SpringBoot中AutoConfigure原理。

老虎二面:

  1. 实习
  2. 除了Stackoverflow之外还有什么溢出,OOM对哪里而言的
  3. 垃圾收集器知道哪些
  4. CMS和Parrel Scavage的区别,CMS和G1的区别
  5. Spring如何解决Bean依赖的
  6. Map都讲了一下
  7. synchronized锁膨胀过程,公平吗
  8. synchronized加锁成员方法和静态方法之间有什么区别
  9. ReentrantLock和synchronized的区别
  10. 手写每n个节点反转链表
  11. 手写旋转数组的旋转接点
  12. nginx的负载均衡方式
  13. Mysql的事务隔离级别,可重复读可以解决幻读吗
  14. Redis的数据类型
  15. Mysql的锁

最后

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

获取方式:

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

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

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

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这