为了这次面试也是准备了很长时间,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的锁
最后
为了准备这场面试,我前后后也刷了不少面试题,在这里我也吧这些面试题跟大家分享出来,希望能对正在面试的小伙伴一点帮助!
获取方式:
评论留言+转发文章+关注我后扫一扫获取