牛客网2020面经大汇总

网址

当前整理进度:【苏宁】苏宁java管培面经

【阿里】阿里java开发一面凉经

【阿里巴巴】

阿里巴巴Java社招面经

一面(电话面)
Servelt的生命周期
线程的状态
加密算法(非对称,对称,MD5)
数据库事务ACID四大特性

二面(电话面)
Java的内存模型
JVM的垃圾回收机制
HashMap、Hashtable、ConcurrentHashMap的区别,同步器实现机制。
使用过哪些ORM框架,
数据库事务的四大特性
注解处理器
原子类底层机制(cas, Unsafe)
快排实现方式。

三面(视频面)
ES的检索机制(query-then-fetch)
面试官问如果现在要搜一个词,按相关度排序,如何获取排名在(100-120)之间的文档,针对于“用户打车付款-滴滴后台-支付宝后台”设计一个一致性处理方案
数据库事务特性以及隔离级别

菜鸟网络社招面经-4面挂

一面
聊了聊最近的项目,面试官以此为切入点,问了一下相关的知识
http 协议 转 dubbo 协议 怎么做的
dubbo 的架构设计说一下
mq 通知时,消费者没消费到怎么办
redis 是单线程了吗?有什么好处
一般设置过期时间吗,业务场景有哪些,过期策略有哪些
redis 持久化了解不,你们线上怎么用的
你们线上为什么这么用?只用AOF行不行
你有什么想问的?
一面大概用了半个小时,整体没有太大难度,更多是聊了一些项目上的东西,做了一个初步了解。

二面
二面问的技术面比较广,聊了最近做的项目,讲了下项目中用到的单点登录的流程
接着就是java基础:
抽象类和接口你倾向用哪个?什么场景下用抽象类
如何更好的实现一个单例
synchronized 和 lock 区别
公平锁和非公平锁
怎么实现自定注解
类加载机制
如何实现自己的classloader
如何动态加载类
如何触发full gc
用jvm命令如何触发
最后聊了一些开放性的问题
了解过netty吗
微服务了解过吗,Service Mesh呢
五亿数据,找出数量top100
10G数据,在内存小于10G如何分片
分片处理完如何汇总
分布在多个节点上如何汇总
哈希取模如何哈希?哈希冲突怎么办?能完全解决哈希冲突吗
数据库乐观锁和悲观锁
秒杀系统如何设计?
redis分布式锁如何玩?超时时间如何设置
zk的监听原理,你来实现你怎么做
主动推送怎么实现
整个面试聊下来,感觉还算不错,基本都回答出来了。

三面
大概又过来一周,hr通知要到现场面
三面的形式完全出乎意料,来了两个面试官,整个面试过程都让我在黑板上画图讲解,他们会不间断的提问并做记录。
画项目的架构图,面试官会指出我项目中存在的一些问题问我如何解决,然后穿插着对项目中用到的一些技术进行提问
消息如何保证一定被消费,如何没有消费到怎么办
Redis 怎么保证不丢数据,能不能保证严格意义的一定不会丢
Redis 集群,生产环境Redis 如何做数据迁移
一致性hash算法
数据库是怎么保证一定不会丢失数据的
浏览器敲入一个域名,尽可能详情的说下接下来网络协议层面发生了什么
了解过哪些锁,volatile 说下
三面持续了大概一个小时,面的不太好,主要是网络协议那一块,我回答的太烂了

四面
四面是一个非常平易近人的大叔,应该是 Team Leader。整个过程没有聊技术细节,主要聊了一些技术的方向,业务的理解,过往的经历。整个过程还是聊的很愉快的。

菜鸟网络Java一面-社招(挂)

自我介绍,说说自己的项目
什么是双亲委派机制?
你自己定义的类能被最顶级的类加载器加载吗?为什么?
自定义的类会被什么类加载器加载?
如何加载一个不在根目录下的类
什么是动态代理?有几种实现
线程池的实现?
什么是AOP?实现原理是什么?
线程池的几个参数的作用?
synchronize和lock的区别
阻塞队列有哪几个实现?
如何保证线程安全?
说一说volatile关键字的作用?它为什么能保证可见性?
Java堆的内存结构?
在什么地方会发生OOM?
如何分析OOM发生的原因?
让你自己实现OOM,你会怎么做?
mysql的隔离级别,有什么区别?
索引的几种类型?
索引的存储结构?
使用B+树的好处?
索引值改变了,树的结构如何改变?
然后问了一些个人情况,就没了。

蚂蚁金服社招面经Java岗

一面
算法题,给了长度为N的有重复元素的数组,要求输出第10大的数。
需要在2小时内完成。

二面
自我介绍
目前在部门做什么,业务简单介绍下,内部有哪些系统,作用和交互过程说下
Dubbo踩过哪些坑,怎么解决的?
对线程安全的理解
乐观锁和悲观锁的区别?
这两种锁在Java和MySQL分别是怎么实现的?
事务有哪些特性?
怎么理解原子性?
HashMap为什么不是线程安全的?
怎么让HashMap变得线程安全?
jdk1.8对ConcurrentHashMap做了哪些优化?
redis主从机制了解么?怎么实现的?
有过GC调优的经历么?
有什么想问的

三面
自我介绍
接下来就是全部问的项目,对自己的项目细节逐个盘问,最后问了下如何改进方案
有什么想问我么?

四面
问项目
说说Spring的生命周期吧
说说GC的过程
强制young gc会有什么问题?
知道G1么?
回收过程是怎么样的?
你提到的Remember Set底层是怎么实现的?
CMS GC有什么问题?
怎么避免产生浮动垃圾?

五面
HRBP面,主要聊了部门在做的事情、职业发展、福利待遇等。阿里面试官有一票否决权,很看重你的价值观是否match。
HR面一定要诚实,不要说谎,只要你说谎HR都会去证实。
最后HR还对我说目前稳定性保障部挺缺人的,希望我尽快回复。

小结
蚂蚁面试比较重视基础,所以Java那些基本功一定要扎实。

阿里钉钉后台-2年经验

一面电话
介绍做过的项目 (我司用的AWS)
项目用到的AWS 的 service (国内大部分公司不用AWS的,这部分大致说下就可以了)
架构转变中的难点
整个项目CI的大致过程
java 基础(太久了,记不清问了啥了)
gc 算法
hashmap ,concurrentHashMap(put过程,怎么解决冲突的,sizeCtl 等关键成员变量的作用)
volatile
spring IOC 过程
如何自己设计IOC框架
设计一个高并发系统(考虑到我司的业务场景,直接说没经验,哈哈)

阿里菜鸟网络-2年经验

一面电话
项目相关
为什么要用dynamodb
cassandra dynamodb区别
平常业务中的数据都怎么存储的
serveless 架构的问题
lambda都用来干什么了
对java中锁的理解
悲观锁 乐观锁
如何用redis设计分布式悲观锁

二面电话
项目相关
jvm内存模型
volatile,
gc算法,怎么判断对象可被回收
平常前后端开发的比例(四六开)

三面电话
项目相关
对CAS的理解,java中的CAS,如何不用unsafe实现CAS
spring ioc过程,循环依赖怎么解决的
spring aop, jdk 动态代理和 cglib稍微说说了下
redis 实现乐观锁
kafka有哪些组件
cassandra 组件,cassandra 最终一致性怎么做的,一致性哈希
对volatile的理解
详细的说一下concurrentHashMap
给了个设计题
假设公司有上万人,一则通知要快速的推送到每个人,如何通过kafka来实现
期望薪资
看重机遇还是薪资

阿里供应链(新零售)-2年经验

一面电话
给了链接,做了道题,双线程交替打印奇偶
之后电话面。
java基础(问了超级多,记不清了,一道接一道,基本上把常见的问题都问了,问了一个小时, 说的嗓子都哑掉了)

二面电话
先问了看重机遇还是薪资
项目相关
kafka两种消费模式
sellect epoll区别
如何解决C10K问题
(之前没听说过这个,面试官解释了下说是单机高连接,按照tomcat的NIO connector的模型去设计了server,同时调整文件描述符的上限,不知道答的对不对,尽力了)

三面电话
项目相关
kafka怎么做有序消费
为什么要用dynamodb 为什么要放弃cassandra
aws lambda怎么实现的(。。。)
项目中服务发现怎么做的,(说用的aws,没用RPC,loadbalance,服务发现都是AWS做的,哈哈) 让我设计RPC 框架(zookeeper做服务发现,loadbalance客户端做,ip缓存,熔断限流,展开说了一下)
spring BeanDefinition作用
spring @Autowired (@Resource, 类似) 怎么做的

阿里cbu一面 -硕士校招

项目,实习难点
用过的数据结构
树和图和链表都有啥
进程间通信方式,socket和消息队列区别
安全攻击的方式和解决方案
ajax
哈夫曼树和应用
序列化和实现方式,作用
分库分表如何排序
散列知道吗
死锁场景,
ipc的常见方式
微服务是啥
最大堆最小堆添加节点

阿里淘系技术部-硕士校招

一面
java hashMap和concurrentHashMap
volatile关键词,结合内存模型,java为什么可以跨平台,java加载过程
cas原理。aba问题如何解决,原子类
线程不安全的例子,如何解决
异常分类,什么时候throws
==和equals区别
java代码写了多少
hive的优化
讲讲hadoop和mapreduce
讲讲spark
了解什么中间件吗?kafka和redis,zookeeper
kafka的作用和架构
redis回收策略,redis实现分布式锁
zookeeper实现分布式锁
实习重构的难点

二面
mapreduce重构成spark任务的限制
mapreduce和spark的区别
hive的优化
两个很大的数据集,如何判断重复的数字(bitmap),bitmap有数据大小限制吗
mapreduce写udf
hive中udf实际用过吗。具体处理流程
springmvc处理流程
servlet线程安全吗。如何保证安全。servlet全局变量是多个线程都可以访问吗
spark为什么用scala,scala和java的不同

三面
刚从杭州网易hr面回来,状态不好,好多基础题没回答上来,挂掉(二面面试官打电话说特别可惜)

业务平台事业部(会员中台)-(一面挂)

重写hashcode()是否需要重写equals(),不重写会有什么后果
自旋锁和阻塞锁的区别
公平锁和非公平锁的区别
jdk中哪种数据结构或工具可以实现当多个线程到达某个状态时执行一段代码
栅栏和闭锁的区别
如何使用信号量实现上述情况
新生代和年老代的GC算法分别是什么
标记清除和标记整理的区别
了解过CMS收集器吗
解释HTTPs
HTTPs为什么要用对称加密+非对称加密,相对于只使用非对称加密有什么好处
给定一个表,其中有三列(员工名称,工资,部门号),找出每个部门工资最高的员工
LeetCode 863 二叉树中所有距离为K的结点

新零售技术事业群(业务平台事业部)- Java开发(一面挂)

用过哪些Java开源框架
讲一讲对Spring的理解
看过IOC和AOP的源码吗
它们底层是如何实现的
用过其他什么框架
了解过分布式或者微服务的开源框架吗
讲一讲对分布式系统模型的理解
分布式系统中有一个节点宕机怎么办
分布式系统如何实现负载均衡
MySQL和Oracle数据库有哪些不同
数据库有哪些锁
表锁和行锁的区别
哪些场景需要加表锁
插入一条数据需要加什么锁
分布式数据库如何保证数据可靠性
了解过MySQL的主从复制吗

供应链平台事业部 - Java开发(二面挂)

一面
讲一下IOC
对SpringBoot的理解
Mybatis中#和$的区别
HashMap底层实现和扩容机制
Leetcode 206 链表反转
InnoDB和MyISAM的区别
SQL注入

二面
讲一下红黑树
红黑节点的个数
红黑树的插入删除查询时间复杂度
讲一下B+树
B+树的插入删除查询时间复杂度
讲一下堆的性质及应用场景
建堆时间复杂度
各种排序算法的时间复杂度及稳定性
讲一下三范式
为什么要三次握手
二次握手有什么问题
三次握手有哪些缺陷
TCP是如何控制流量的
发送方发送频率过高造成丢包,TCP是如何解决的
讲一下OSI网络架构
HTTP在哪一层
HTTP报文结构
HTTP首部字段
HTTPs加密在哪一层实现
讲一下虚拟内存
如果访问虚拟地址时,该地址在物理内存中不存在,会发生什么
讲一下volatile
volatile底层实现
static修饰用法和区别
讲一下GC算法
JVM内存空间
Leetcode 2 链表相加
函数式编程和面向对象编程的区别
jdk8为什么要引入函数式编程

面经

一面
项目相关介绍,难点在哪?
如何做接口限流和防止超卖
对数据库压力很大怎么解决?说了redis库存预加载和本地内存标记,问还有没有其他方案
redis扛不住的话有哪些解决方案?说了主从同步,但面试官说这对这样对数据一致性要求比较高 对rabbitmq了解哪些?
rabbitmq消息队列如何解决消息丢失
rabbitmq和其他消息队列的对比
对多线程了解吗?
JUC包下面了解哪些?讲了ConcurrentHashMap
atomic下的原子类有用到吗?采用了CAS
CAS算法在哪里有应用?扯了一下乐观锁和悲观锁
讲一下乐观锁和悲观锁
讲一下ConcurrentHashMap
Redis有哪些数据结构,底层实现是怎么样的?hash底层,zset底层?
说了忘记hash底层,问设计一个hash底层如何设计
操作系统的IO模型有哪些
中间件使用哪些IO模型
看你github上面有Leetcode仓库,讲一下动态规划
平时怎么学习的,平时看哪些书
对Zookeeper了解哪些?
Zookeeper如何做分布式锁

代码面
贴一段项目中你认为写得好的代码,讲一下
接口限流的方式有哪些
写一个堆排序

二面
介绍一下项目,一直问一直问,问的很细。
redis的setbit实现是怎么样的?
rabbitmq能避免发送重复数据吗?不清楚,说不可靠
rabbitmq的可靠性如何保证
自增批次号是怎么生成的?
redis的set的底层结构
redis的zset的底层结构,跳跃表结构怎么做到有序性的?
hashmap的结构
讲一下spring的作用是什么?讲了ioc
讲一下ioc容器的启动过程
只给先序和后序遍历能确定唯一的树结构吗?不能,举个例子说明
概率题,第一堆水果(橘子:苹果=5:5),第二堆水果(橘子:苹果=3:7),拿出一个苹果,为第一堆的概率? 我说要明确第一堆和第二堆数量的比值才能确定

三面
讲一下你比较得意的项目,项目接连被问倒了。。。很尴尬
Java基本类型有多少种
线程池的工作原理,核心线程数和最大线程数什么时候用到
Java中的锁如何实现的
分解数字,变成质因数相乘,比如12分成223(代码实现)

阿里(二面挂)菜鸟网络内推

一面
全程就撕项目,提新的需求给方案
tcp udp区别
session和cookie区别

二面:
还是项目,怼了一怼
MySQL的联合索引
哈夫曼树原理
一致性哈希算法
UDP不可靠会丢包,为什么还用它,怎么解决UDP不可靠

2019校招

大数据优化内容
口述程序整数反转
zk的作用
kafka的partition
kafka中一个broker故障,会怎么办
flink如何实现exactly-once语义
flink的实现原理
其他流处理框架与flink的区别
spark如何处理流处理
storm如何处理流处理
lambda框架原理
如何解决超卖问题
如何用算法解决高并发
如何大数据快速查询一条数据
redis存储数据,在工程中的作用
怎么做evaluation验证flink效果

校招面经

一面:
Java的多态
类的关系,组合和聚合的区别、哪个关系更紧密
说一下反射,及你在项目中的应用
线程池,线程池参数
线程间的通信
介绍ThreadLocal
ConcurrentHashMap,JDK1.7和1.8的不同实现
hash算法
什么是时间复杂度
问项目

二面(总监面):
实验室研究方向,自己的研究方向,介绍发表的论文专利等
问项目,项目中数据库的结构设计,整体框架等,并从项目中引出了以下问题
用过数据库索引吗?介绍如何使用,何时使用
介绍B树、B+树、红黑树
数据库分页查询,如何分页,怎么实现
四种隔离级别,虚读和幻读什么意思发生在哪
使用的MySQL版本,和之前版本的区别
使用什么版本的JDK(我答1.8)介绍和之前版本的不同
1.7和1.8的JVM有哪些不同
1.8的垃圾回收算法,介绍你所知道的垃圾回收算法,CMS垃圾回收器简单介绍
ConcurrentHashMap的size()函数1.7和1.8的不同,或者介绍一下如果是你如何设计
排序算法,介绍一下快速排序,快速排序时间复杂度,是不是稳定排序,介绍几种你所知道的稳定排序算法
UDP,TCP,HTTP介绍一下,OSI七层模型
最近阅读的书籍(Spring Cloud、Spring boot),从什么网站学习(Github、知乎、开源社区) 说几种你说熟悉的微服务架构(可以不说属于开放性问题)
Redis支持的数据结构
讲一下一致性哈希
最近拿过什么offer,哪些公司,做什么

三面(交叉面):
介绍一个你觉得最自豪的项目,依托这个项目问了很多问题
说一下你觉得你最熟悉的Java那个领域,根据这个领域问了一些问题
问JVM主要是各种垃圾收集器、GC算法,安全点
介绍volatile
java内存模型
synchronize,以及与Lock的不同
Java内存泄漏如何排查排查

四面(HR面):
一些hr常问的问题,比如:最得意的事,最失败的事,参加的比赛,印象深刻的事,为什么来阿里,对这个部门了解吗,等等。

五面: 第五轮属于调部门后加的一面
1、面试管问了自己做过的项目,挑一个你认为最好的项目讲解,期间问了很多项目中的问题,比如:做项目中遇到的问题如何解决,你觉得你在项目中做的最好的一个点是什么,还有什么改进的地方,并发访问量有多少,数据库如何设计等等。
2、问了科研情况,发表的论文以及论文中的主要工作。
这两个问的都挺细的

六面(部门leader和hr一起视频面):
leader也是问了做过的项目,问的比较细,讨论的比较多(建议一定要准备一到两个拿得出手的项目,而且一定要实际做过,了解其中的问题和难点,这样才能和面试官聊)
hr问的问题和第四面差不多。

阿里六面

一面
登陆鉴权服务是怎么做的(用户信息,利用https加密后明文变为秘文,直接存储)
session存什么信息
session和cookie的区别和关系 用户信息存储的架构(主要基于项目问了很多链路上的问题)
服务发现的链路
线程和协程的区别
联合索引,如何创建联合索引,联合索引的数据结构
Kafka局部有序

代码面
动物园里面有三种动物,给年龄最小的10个先喂饭。应用面向对象。
用了堆排序(前一天刚写过堆排)
java内存模型
java垃圾回收
where和having的区别

二面
有两个整数数组,计算两个数组的交集。
分库分表
分布式系统的设计

三面
4G内存,2T硬盘,有1T数据。这1T数据是一行一个字符串,字符串里面有字母数字符号;求出现频率最高的10个字符串。
面向对象的原则
单例模式
为什么uniqueInstance声明使用volitie修饰
你还会什么其他模式吗
对称加密,非对称加密,https加密流程
一个网站访问的全流程
计算机网络的statusCode

hr面
谈笑风生(并不)
用hr能听懂的方法介绍项目
在校期间做了什么事情
介绍自己的优点和缺点

交叉面 谈笑风生

校招

集合用过哪些(ArrayList、LinkedList、HashMap、ConcurrentHashMap、TreeMap、TreeSet这些)
ArrayList和LinkedList区别
两个list求差集(没理解意思)
HashMp讲讲(说了1.7和1.8区别,自己还说了1.7会造成链表死循环)
死循环怎么造成的(balabala)
如何检测链表死循环(这里又理解错了,说了上线排查,给自己埋了一个坑,后面理解了,就是链表如何确认存在循环,这里说了双指针)
好,既然你说到上线排查,那你说说你用过哪些jvm指令(这里忘了。。。)
看你项目里用了Speing和Mybatis,那你说说看Spring吧(说了IOC和AOP)
bean的生命周期(把自己讲糊涂了,生命周期里面有好多好长的方法名和类名,记混了。。。)
Mybatis 原理以及如何与Mapper体育映射的(这可没了解过,直接说不会)
Mybatis缓存听说过没(这里说了下一级缓存和二级缓存)
问项目里的秒杀系统怎么设计的(这里主要说了下通过redis预减库存、消息队列异步下单)
缓存如何与数据库保持一致(先更新在删除)
如果缓存清空了,大量请求落到db上,怎么办(这里说了限流器,由于我也实现了一个简单的限流器,后面就接着问上了)
讲讲你的限流器怎么是实现的(漏桶算法,利用了atomic原子类balabala)

菜鸟Java研发工程师(社招)面经

一面:
JVM垃圾回收,fullgc是否可以回收方法区
redis支持的数据类型到跳跃表,redis同步策略
如何自己实现lru
mysql索引的数据结构,为什么用B+树不用B树
事务隔离级别,聚集锁非聚集锁(问到了一个非常细节的问题:如何用可重复读的隔离级别避免幻读)
线程池的构造函数参数,队列的拒绝策略
spring相关、bean的生命周期,循环引用问题spring如何处理
concurrentHashmap1.8为什么放弃了分段锁
数据库分库分表相关
感觉一面主要考察的是知识广度。

二面:
springAOP的原理,动态代理是怎么实现的
snmp
fullgc的时候会导致接口的响应速度特别慢,如何排查和解决
netty,如何避免的NIO空循环,零拷贝
问了一些简单的算法,说一下思路
二面考察的主要是知识的深度以及解决问题的能力。开篇常规先简单自我介绍以及介绍项目。

三面:
kafka的replicas的作用,为什么比其他的消息队列好。
微博评论长链接短链接的问题,让我设计一个服务来处理长链接短链接,包括怎么读怎么存等。
三面面试官特别关注项目的实现和细节。为什么分这几个模块,每个模块做什么以及为什么要用这些技术,都需要非常清楚地解释,中间如果他有疑问会立马打断来问问题。

四面:
去菜鸟总部参加的面试。hr说这次是两名p8一起面,如果这轮能过,下一轮就是p9和hr一起,这面没过。
个人感觉这一轮面试着重点是项目设计上。面我的是两位面试官,简单的自我介绍后让我在白板上画最近负责的项目的流程图,期间经常问我为什么要这样设计?这样设计的好处是什么?有没有更好的设计方式?项目的数据量有多大?如果再增大100倍呢?碰到的真正的难题是什么?这两位面试官面了大概一个小时。
四面面试结束后让我等结果,大概这两位面试官和hr讨论了20分钟,最后hr进来告诉我不好意思这一轮面试没有通过,今天的面试流程就此结束了。
我觉得第四轮挂掉肯定是有很多原因的,自己的项目设计能力太差了,在分析项目的时候很多种情况没有考虑到。

阿里妈妈-广告部门-Java一二面面经

一面:
多台机器都可以操作一个事情,但这个事情只需要被执行一次,怎么办?
聊一聊我项目中vue和react的区别,react的virtual dom和vue的双向绑定、生命周期钩子方法
jvm中的堆知道什么(堆是高频考点),堆分为哪几块(新生代、永生代,然后各自介绍下),young gc和full gc是对哪一块,频繁full gc怎么办??
NIO(非阻塞型IO)
在浏览器输入网址,会发生一系列什么?
cookie 和 session的区别:存放位置、什么时候过期,sessionId、哪个更安全
spring boot和spring有什么区别,我说上手更快,不用再写xml配置了,然后问我这些注解和xml配置是怎么起作用的,应该是在问控制反转和依赖注入这一套。
用docker吗?我说我们不用。
说10个linux命令
写过shell脚本吗?我说写过groovy,然后随便讲了一些。
算法题:二叉树的镜像,我没想到递归的形式,用的队列。但继续往下深问就卡壳了:问如果一个节点里有一些数据结构,这些结构不是子节点,但也要把它们镜像反转该怎么办?应该用递归+广度遍历来做
mysql中的utf-8和mb4的区别:mb4:most bytes 4。mysql的utf8只能拿出3个字节来保存字符,因为要为char类型数据保留足够的长度,所以只能保存大多数字符,如少量汉字、emoji表情,而mb4就有4个字节可以用来保存汉字,能覆盖所有的字符。
mysql: 如何建索引(要考虑什么),如何提高mysql语句的效率,如何提高模糊匹配的效率,group by之后再对结果进行筛选怎么办(having) ,left join和join的区别

天猫

一面:
jvm如何支持编解码?
口头做题
(1)25匹马,5个赛道,选出最快3匹(竞赛树)
(2)2,3,5面额硬币,用最少数目得到250
(3)选出时钟分钟重合次数算法
BIO和NIO区别?
各种树的时间复杂度?
两种动态代理区别以及如何使用?
wait,notify?
StringBuilder 为什么比String快?
前台页面出现乱码怎么办?

二面:
TCP拥塞控制
自定义类加载器
数据库一致性方案?
HTTP1.0 2.0 3.0

三面:
python的垃圾回收和java的垃圾回收有什么区别?
cms会STW吗?
cglib原理?
spring bean是什么?
上过那些技术网站?
8和CPU可不可以同时运行16个进程?
为什么要进行分代回收?
老年代用别的回收算法行不行?

四面
自我介绍?
提到了专利,你是第几发明人?
自己的职业规划?
提到了成为架构师,那你有没有了解过负载方面的知识?
使用天猫过程中有没有考虑过一些技术问题?
电商、云计算、这些部门中,对哪一块比较感兴趣?为什么?

阿里面经

一面电话
HashMap 和 ConcurrentHashMap;
追问具体内容;
ArrayList 和 LinkedList;
接口与抽象类;
Exception 与 Error;
JVM 的内存结构;
垃圾回收(器);
线程池原理;
悲观锁与乐观锁(Java 中);
JVM 调优;
数据库数据结构,索引;
数据库隔离级别,锁协议,并发问题等;
InnoBD 多版本并发控制;
InnoBD 与 MyISAM;
Redis;
数据库读写分离、分库分表;
TCP 细节;
Spring IOC、AOP;
java代理与 CGLib;
RabbitMQ 的某个问题;
都看些什么书,什么博客;
对技术有什么看法;

二面电话
项目追问;
一个项目中影响性能的点(大问题,然后细分);
负载均衡,微服务等;
网络方面,怎么影响性能,不同层的问题等;
HTTP 和 RPC 等;
IO 方面,BIO 和 NIO,内核态,零拷贝,Netty 等;
数据库方面,读写分离,分库分表等,涉及到一个场景题;
Java 定位问题;
还有一些我忘记了;
学 Java 多久了,平时怎么学习,有什么爱好,对未来的规划之类的;

技术三面
时间:不到三十分钟;
主要是挖项目;

交叉面 聊 RPC 和 数据库事务问题;

HR面
主要介绍个人情况,目前秋招进展,未来发展意向,平时时间安排等。

淘系技术部

一面(50分钟)
synchronized关键字
volatile关键字以及底层的实现,主要的使用场景
JVM方面的知识
垃圾回收相关的内容
concurrentHashMap扩容
让我讲讲HashTable和HashMap key和value是否可以为空,我扩展了TreeMap(是否自己实现了compartpor接口)还有concurrentHashMap的情况
为什么链表长度为8要转为红黑树,具体可以看看TreeNode下面的解释,我是按照那个说的,然后为什么HashMap不安全
线程池的内容,如何定义自己的拒绝策略
还有一些不太记得清楚
一面全程聊感觉还不错

二面(80+分钟)
自我介绍,讲项目
由于项目中写了webSocket,问了这方面的内容,以及和HTTP2.0的区别
从object类的几个方法问起(着重讲了hashcode和equals)
问了AQS已经根据AQS实现的几种锁
Redis的主从复制
CMS的回收过程,G1的回收过程,两者的比较
硬软弱虚引用,以及软引用的回收时机
JDK的动态代理
beanFactory和factoryBean的区别
Spring的启动过程
事务的传播
线程池的内容,场景设计,回答不好,要根据IO密集型和CPU密集型来设计

三面(80+分钟)
三面都是从大方向的来问的,没有问什么基础方面的只是
让我比较了BAT三家的云平台
自己如何设计一个API
还问了Docker方面的内容,namespace和Cgroups等等
三面之后加了一个笔试面,两道算法题,20分写完了。一个模式匹配,一个字符对应一个字符串,看最后能不能匹配。还有一个就是醉汉喝酒,空瓶和瓶盖可以换酒的问题。

交叉面(30+)
凉了
问我实习,但是我实习时间太短,没有太多讲了,也和他讲明了,但是还是再问。
而且最后一面体验不好,面试官那边用电脑打过来的,全程有杂音,有的时候问题听不清
可能觉得我答的不好,半个多小时就变成以回绝,同时又被捞到哪个不知道的部门,重新开始一面

阿里云 Java研发工程师

一面:40分钟
TCP如何保证可靠传输
数据中心网络下TCP的缺陷不足
Http2.0和http的区别,2.0多了什么 进程线程区别
jvm相关,内存模型,垃圾回收,运行时常量池具体讲一下,final static存在哪里
B树、B+树 (数据结构)
nio讲一下,selector和epoll的区别

二面:57分钟(两个面试官,距离上一面隔三天)
Java中,char型变量能不能存储一个汉字
不加任何修饰符的java最像哪个访问修饰符(public、protected、private、默认)
java线程启动、终止方式
一个对象调用hashcode返回的是什么?重写equals还是重写hashcode还是同时,为什么?
http post和get区别?http请求过来之后如何查找用户名?http协议cokkie相关?如何让无状态的http协议使得登录过程变得有状态(具体记不清了,有点迷……就是http问了好多好细那种)
设计模式讲一下。单例模式,用什么方法确保懒汉式线程安全(这里给自己挖坑了,关于线程安不安全的)
java中如何实现共享内存?如何在两个进程共享数据?如何让两个线程共享数据?
线程生命周期及互相转化?wait、notify等方法属于哪个类(Object)?为什么不属于Thread?(锁是对象)
关系型数据库相关:乐观锁悲观锁、使用场景、哪个性能好
java、python怎么同时用?(和我的毕设有点关系,我自己提到的)
hashmap相关、为社么用红黑树

三面:26分钟(蚂蚁的声音甜美的小姐姐给我进行的交叉面,隔一天)
自我介绍
实习经历详细讲
项目方面各种讲、实验室研究方向、项目遇到最大的困难等等
java企业级应用有没有实际用过?(我说Spring这些没用过,但是看过概念性的东西,然后就没有继续问我了)

四面:38分钟(交叉面,隔4天)
自我介绍
问项目(有个项目写的是安卓,就问起了安卓…… 然后我就把知道的回答了,讲不下去了我说我投的Java开发,所以要前面说清楚……)
问java哪方面熟悉,(我说后台)然后……开始给自己挖坑了……
final各种问…… 出了个题目(面试官口述代码出题) 大概意思是:final引用不能再修改了……(对于引用类型,final 使引用不变,也就不能引用其它对象,但是被引用的对象本身是可以修改的。)
引用(四个强度之类的)
后台哪里平时会觉得很难
自己实现hashmap
问自己最熟悉的成就最大的项目(让我从技术方面讲…… 我感觉我说的乱七八糟的……)
http相关 cookie为啥要用,如何实现有状态啥的

五面:26分钟,HR面(隔五天)
关于地点选择,纯聊天,没技术,当时马老师996轰动一时,HR问我怎么看待996,然后解释了一下马老师为啥说996😂

直通终面:27min 最后一轮技术面(9/4)
自我介绍
网络七层模型、TCP一些(基本概念、怎么保证可靠之类的)
数据结构哪些,用哪些,咋用的(我就链表、树、堆、栈这些)我说我树看的会多一点,因为后面项目里巴拉巴拉,然后他说那树搜索说一说,(反正我自己挖的坑,爬也得爬出来,学名记不住我就举例子,诶)
hashmap (面试官继续问我,那map这些用过吗,我才反应过来,hhh其实我在上面如果说了hashmap他就不会问上面的了自己挖坑)
数据库三大范式
找了一个项目给他讲(比较细)
实习经历(实习里的东西略细)
地点选择
有啥要问他的

直通终面:HR面 22min (9/6)
直通终面技术面P9面的我,自己感觉那里是很能胜任的,哪里还需要继续向师兄师姐学习的?
关于选择的问题:你有哪些选择,(选择之间的比较)、如果给了你offer你拒绝了(必须成立假设)那会是什么原因、工作地等,大概就是这些,HR真的好厉害!就是能随时从你说的话里提出问题和难题扔给你!
hr面完时隔5天,收到意向书。

面经

无序数组,将数据处理成无重复,有序状态,需要什么数据结构 Set、Map、List适用场景 如何实现一个线程安全的List 后面这几个锁的问题,平时没用过真的不会啊。答得不好。 synchronized如何使用
加锁的静态方法和普通方法区别
有没有用过TreadLocal
GC回收年轻代和老年代都用了什么算法,什么垃圾收集器
mysql查询加行锁怎么写
数据库事务的隔离级别
可重复读解决了什么问题
什么是幻读,举个例子
聚类索引和非聚类索引的区别,
查询表中最后的一条记录,那个索引更快?为什么?
设计模式有用过吗?没有。。。。。
linux常用命令用过吗?用过,问了如何找出一个日志中,某个关键字出现的次数

【腾讯】

TEG - 后端开发(一面挂)

B+树与红黑树的区别
HashMap的底层数据结构,局限性与线程安全
如何实现线程安全的HashMap
Collections.sychronizedMap与ConcurrentHashMap的区别
HashMap与ConcurrentHashMap的性能比较
类的编译过程
类的加载过程
JVM的内存空间
JVM的GC机制
进程与线程的区别
进程间如何通信
共享内存与Socket的优缺点与性能比较
子进程从父进程继承了什么
什么是僵尸进程
线程与协程的区别
TCP的四次挥手
TIME_WAIT状态处在哪一方以及为什么需要它
TCP与UDP的区别与可靠性
如何实现UDP的可靠传输
解释ACID四大特性
原子性的底层实现
数据库宕机后恢复的过程
如何保证事务的ACID特性
MySQL日志类型
谈谈对分布式系统的理解
分布式数据库的实现
如何保证不同数据库之间的数据一致性
如何实现主从数据库间的同步

FIT - 后端开发(一面挂)

TCP三次握手/四次挥手
TIME_WAIT状态
网络延迟大的情况怎么处理
HTTP请求到响应全过程(服务端)
HTTP请求头及其作用
HTTP和HTTPs
HTTPs的握手过程

【微软】

dynamic365 -2年经验

一面onsite
项目
英文自我介绍,项目介绍(半小时)
算法
给了道题,用自己的IDE完成
字典序排数

二面现场(中文)
项目
介绍项目,项目用到的service,log怎么做的,DAO层转化遇到的问题,cassandra和dynamodb的区别,项目中消息队列的作用,写出部分表结构,问了下为什么要来面微软。
算法
判断完全n叉树(自己设计数据结构)

三面现场(中文)
项目
项目相关
翻转字符串里的单词 自己设计测试用例

四面现场 (英文)
项目中测试怎么做的,what is your passion 哈哈,为什么要用DDB 而不是在aws 上自己搭cassandra,data migration (spark 相关)
给了个开放性的问题
假设你是一个篮球制造厂商的测试总监,你要如何保证篮球的质量

【拼多多】

社招面经Java岗

一面
聊项目
Java中的HashMap、TreeMap解释下?
TreeMap查询写入的时间复杂度多少?
ConcurrentHashMap怎么实现线程安全的?
HashMap多线程有什么问题?怎么解决?
CAS和synchronize有什么区别?都用synchronize不行么?
get需要加锁么,为什么?
volatile的作用是什么?
给我一张纸,画了一个九方格,都填了数字,给一个MN矩阵,从1开始逆时针打印这MN个数,要求时间复杂度尽可能低,可以先说下思路

二面
手上还有其他offer么?
部门组织结构是怎样的
系统有哪些模块,每个模块用了哪些技术,数据怎么流转的?给了我一张纸,我在上面简单画了下
系统之间的流转情况
链路追踪的信息是怎么传递的?
SpanId怎么保证唯一性?
RpcContext是在什么维度传递的?
Dubbo的远程调用怎么实现的?
Spring的单例是怎么实现的?
为什么要单独实现一个服务治理框架?
谁主导的?内部还在使用么?
逆向有想过怎么做成通用么?

HR面
主要问了些职业发展、是否有其他offer、以及入职意向等问题,顺便说了下公司的福利待遇等,手上有其他offer或者大厂经历会有一定加分。

拼多多IM部门 -2年经验

一面现场
项目
介绍项目
elastic beanstalk部署怎么搞的
用到docker了吗
lambda部署怎么搞的
websocket
linux IPC
进程 线程 协程
java 字节流 字符流
java 线程创建方式
ACID
浏览器输入url发生了什么(经典问题)
由此深入问了相关的问题, TCP 握手, 挥手, DNS解析过程, hosts, ARP协议
HTTPS怎么工作的, HTTPS建立连接的流程
HTTPS中间人攻击问题
算法
判断整数是否为二的幂次方
手写堆排序

二面现场
项目
介绍项目
完全按照简历来问的问题
jvm 内存模型
为什么要做架构迁移,迁移中遇到的问题
cassandra dynamodb区别
cassandra 网络组件
kafka 重消费解决
lambda 耗时任务拆分怎么做的
备忘录模式 命令模式
算法
二叉树宽度

HR面
架构迁移遇到的难题,加班的看法,期望薪资
最终有了非常满意的offer啦,面试真的好辛苦,休息一下,迎接更辛苦的工作

【京东】

2019校招

简单介绍自己,做没做过java项目,你这些项目都是c 的啊~~~(确实是这样,因为在实验室自己负责的项目都是C和c++)
java的arraylist linklist有什么区别,什么数据结构,hashmap是啥结构,线程安全不?如果要线程安全怎么办?答con-hashmap,怎么实现的,还有没有优化!
数据库的最左匹配原则是啥?怎么用?
事务的定义,特性。
spring是啥?yong
java的io,nio,bio等啥区别
还有一个cas了解吗
你有什么问题要问吗?

京东社招面试真题分享

一面
自我介绍,主要问了做了什么和擅长什么
hashmap原理,处理哈希冲突用的哪种方法?
讲讲Java GC机制?
红黑树需要比较大小才能进行插入,是依据什么进行比较的?其他Hash冲突解决方式?
vm内存模型jmm 知道的全讲讲
说说Java线程池的原理?线程池有哪些?线程池工厂有哪些线程池类型,及其线程池参数是什么?
HashMap的时间复杂度?HashMap中Hash冲突是怎么解决的?Java8中的HashMap有什么变化?
BIO、NIO、AIO的区别和联系?
jhash和B+树的区别?分别应用于什么场景?哪个比较好?
索引是什么概念有什么作用?

二面(数据库问的比较多)
自我介绍
Java web过滤器的生命周期?
讲讲TCP协议的三次握手和四次挥手过程?
mysql数据库默认存储引擎,有什么优点
MySQL的事务隔离级别,分别解决什么问题。
说说事务特性(ACID)?

三面(综合面主要分布式及缓存)
自我介绍,讲下项目!
线上的服务器监控指标,你认为哪些指标是最需要关注的?为什么?
soa和微服务的区别?
JVM相关的分析工具有使用过哪些?具体的性能调优步骤吗?
加锁有什么机制?
项目中消息队列怎么用的?使用哪些具体业务场景?
设计一个秒杀系统?

【小米】

硕士2019秋招

一面:
String,Stringbuffer,StringBuilder的区别,为什么被final修饰就不能被继承。
讲一下volitale关键字,说一下为什么不保证原子性。
抽象类和接口的区别。
用没有用过多线程?讲一下多线程的实现方式,call和run的区别。
讲一下线程池的执行步骤,以及参数设置。
将数组里面非0的元素移到前面,0元素移到后面(不改变相对位置)。

二面:
用两个栈实现一个队列。
对你之前写的代码进行一些修改,写成泛型。
对1中的方法进行线程安全的改造。
Synchronized用法,锁。
数据结构,树的遍历,排序算法复杂度分析。
TCP,UDP,Http,Http请求头,Https。
项目细节,思考。

【滴滴】

滴滴三面面经

一面
手撕单例模式,我笑了(请看我上一篇面头条)
Java多线程各种参数,线程池
Java 内存管理
Java GC
手撕two linkedlist megre to one
算法一个二叉树给一个target,找到所有sum==target的路径
Linux命令, 各种操作命令,没用过的话还真说不出来
MapReduce原理
Spark优化
数据处理,数据优化,比如hive sql函数处理数据,数据倾斜等等
Hive和HBase原理
数据库,索引等等
HashMap (这次我是把所有背了个遍)

二面
项目
Offer
工作意向
为什么很早就出国
喜欢互联网还是制造业
为什么这么多机器学习项目,那为什么要面Java
CNN 是啥

三面
Java 内存泄漏如何定位,命令 手撕线程池,多线程
Hive调优
HBase原理
Spark SQL
Spark和Spring boot定时任务
Spring boot注解和原理
Inner join,left, right
Spring boot JDBC + Kerberos + HIVE + HBase (简历上的)
Bean周期

社招面经

java基础
线程池
设计模式
模型设计
接口设计的原则
分布式缓存
rpc原理
消息幂等怎么实现
redis、zookeeper原理
HSF和Dubbo区别,整体跟之前面试问的差不多。
前端写过一些,所以问了些react和nodejs
HR:离职原因,这么多公司offer你会考虑滴滴吗

面经

一面
项目相关
消息队列消费积压如何解决
dubbo服务导出,服务引入
zookeeper作用
四则运算(提示使用栈) 讲一下思路
LRU算法
TCP拥塞控制

二面
项目相关
根据项目延申的场景题:设计任务调度系统,确保每个服务器处理的任务数量均衡
如何做分布式锁
如何做到抗高并发
四则运算,和一面一样的问题,讲了思路
找到出现次数大于一半的数字代码(代码)

三面
学的好的课程有哪些?说了数据库
Mysql和Redis的区别
数据库Mysql的架构
缓存Redis的底层结构
讲一下B+树性质
判断链表是否有环?刚讲快慢指针,要求只能用一个指针
进程和线程的区别?不要背书上概念,有实现过吗
一个线程修改值,另外一个线程能看到修改吗
Redis的数据结构
Redis的set的底层实现
反射讲一下,写一个反射的例子
TCP层和IP层讲一下区别
有在Linux下编程吗
分布式锁怎么做的
zookeeper底层如何去只让一个客户端成功创建临时节点
redis持久化,aof持久化怎么写入的
redis集群的实现
一致性哈希
判断树状结构有没有环(代码实现)

【美团】

社招面经

分布式缓存redis,dubbo原理,分布式缓存锁的实现
mysql分库分表原则
为什么要分这么多库这么多表
基于什么考虑?
如何实现数据库动态扩容?
线程池coreSize,maxSize怎么设置,依据是什么?场景1:单台机器4核,服务A请求时间为5S,但是A调用的某个服务B耗时4.98S,A服务超时时间是10S,问100QPS的访问量,动态线程池 CoreSize,maxSize,等待队列怎么指定?
设计一个订餐排队系统,底层模型有哪些

2019校招

简单说一下,tcp,udp异同点;
区别在哪,如果我要做一款聊天软件,用到什么协议,为什么?
如果tcp还不够安全怎么办?
简单说说avl树,有什么特征。
树的遍历,深度优先,手写,用到了什么数据结构
string example=“一个网址”,求一个example的实例,手写。(说要用反射我没写出来,当时还没复习到)
已知一个正整数组,一k,任取两个数,问两个数之和大于k的概率,手写。
同步锁,线程安全的单例,手写。
mysql的非聚簇索引,说一说
线程池了解吗?讲讲那个函数有几个形参,分别是什么,最重要的是什么,corepoolSize和 maxpoolsize区别,如果来了一个线程,过程是什么。

大数据开发-硕士校招

一面:
spark输出文件的个数,如何合并小文件
hbase的预分区。
storm的反压机制,在哪触发的反压zookeeper的watch机制,ack机制
kafka用的哪个版本,offset存在哪
class文件在1.8存储在哪
如何预防数据倾斜

二面:
计算机的分页
storm的消息保证
hdfs的ferderation
hdfs中namenode请求太多
信号量ipc通信
判断是不是二叉搜索树
贪吃蛇用什么数据结构
计算机网络中分页,虚拟内存是什么
ACID是什么

三面:
redis一致性
kafka一致性
kafka相对于其他的优点
roi从哪来。供谁使用

美团点评社招

二面
首先还是问项目。问的比较细,比较全。
String,StringBuffer,StringBuilder的区别,为什么String是不可变的,StringBuffer和StringBuilder哪个是线程安全的,他们分别适用于什么场景。
java类加载过程是怎么样的,说一下volatile。
并发包了解吗?假如几个线程之间相互等待,可以用哪个并发类来实现,他的原理是什么?
数据库慢查询优化了解哪些?说了很多,面试官说假如这些都已经做好了还是很慢怎么办?最后不清楚问了下面试官,面试官主要想了解数据库分区的知识。
说一下spring容器的启动过程?
讲一下分布式锁,基于zookeeper实现和redis实现在性能上有什么差异?
kafka如何保证不丢消息又不会重复消费。了解大数据相关的一些技术吗?
最后写了道题,leetcode55. 跳跃游戏
最快什么时候能过来?有什么问题想问的?然后说后面有hr再和你联系。

三面
面试官首先问了很多简历中的一些基本信息.画一下你这个项目与哪些工程交互,它在你们的产品中处于什么样一个位置
画一下你们这个项目的架构图,挑一个你觉得比较难的业务场景来讲一下,
你们这个项目中都遇到了哪些问题呢?说说你们最后都怎么解决的
写了一段代码,问这个代码最后输出什么?申请多大的内存空间,都在什么位置申请的

 public class Test {
     public static void main(String[] args) {
         String str = "hello";
         test(str);
         System.out.println(str);
     }
     public static void test(String str){
         str = str + "world";
         System.out.println(str);
         int[] a = new int[1024];
     }
 }

hashmap了解吗?他的set和get的时间复杂度是多少?为什么是O(1),说下详细过程,hashmap是线程安全的吗?
Jvm了解吗?jvm中哪些可以作为垃圾回收的gcroot?为什么呢?
什么时候能过来上班?然后就说等会hr面。

hr面
问了下基本情况,什么时候能过来,为什么想换工作?在上家的绩效和薪水情况,期望工资是多少

硕士2019秋招

一面:
final关键字。
重写equals,hashcode。
线程池。
JVM内存与GC。
MQ选型对比。
Redis基本数据类型以及持久化方式,Redis底层数据结构,Redis淘汰策略。
Mysql事务,不可重复读和幻读的区别,可重复读底层实现。
Redis,数据库同步,Mysql优化。
编程:实现2个线程循环打印。

二面
项目细节,难点。
Synchronized和reentrantLock实现区别。
Spring中IOC的实现。
Bean的生命周期。
场景题:如何采集10个商铺的商品信息。
常用数据结构以及应用。
常用算法以及应用(贪心,dp,分治,回溯,分支限界)。

三面:
项目实现。
MQ对比,项目思考,反思中间件。
实现字符串的字典序排序(编码风格规范)。
面向对象改造。
将长URL变为固定长度的短URL。
微服务理解,如何划分。
讲一讲常用数据结构。

美团点评社招java一面面经

做一下自我介绍吧,简单说一下你的项目?
有遇到过内存泄漏吗?你们是怎么解决的?这个前阵子确实遇到过一次,还算运气比较好。
java的基本类型有哪几个?String是不是java的基本类型?String为什么要是final类型的?
反射机制的底层实现是什么?动态代理呢?动态代理的实现原理?
hashmap了解吗?说一下hashmap相关的一些东西?hashmap是线程安全的吗?为什么是线程安全的?concureenthashmap了解吗?他是如何实现线程安全的?你刚才说1.8基于cas?cas的ABA问题怎么解决?
说一下JVM的线程模型?这些区域都分别是干啥用的?java线程模型和jvm线程模型注意区分、总结下,网上很多文章都是错的。
说一下java类加载器的工作机制?类加载在那个区域进行的?
说一下java的线程模型?violate了解吗?他的原理是什么?violate是线程安全的吗?为什么不是?
保证线程安全的解决方法有哪些?说一说读写锁吧,读写锁的读
数据库的索引有哪几种?为什么要用B+树来做索引?组合索引和几个单个的索引有什么区别?数据库的大表查询优化了解吗?MVCC机制了解不?MVCC机制有什么问题?怎么去解决这个问题? mysql慢语句调优做过吗?说说你是怎么做的?
redis了解吗?你说说怎么用redis实现分布式锁?
spring中Bean的作用域,springMVC的controller是线程安全的吗?怎么去保证线程安全呢?
消息队列有用过吗?说说你怎么用的?你这么用感觉不大对吧。。大写的尴尬。。
计算机网络了解吗?说一说TCP三次握手和四次挥手吧,感觉这个真的是计算机网络必考知识点啊 ,每次问到计算机网络都会问这个。time_wait状态产生的原因是什么?,有什么危害?可以如何避免?
leetcode153. 寻找旋转排序数组中的最小值

【字节跳动】

社招面经

一面:
自我介绍
做的项目价值,架构设计,给你一个集群你会怎么分布,考虑哪些因素,容灾、负载均衡 让你来设计咸鱼,你会怎么设计?模型设计 linux常用指令

二面:
算法在线编程
项目,主要做了什么,项目中碰到的问题有哪些,都市怎么解决?你觉得那个项目是最有挑战的 java多线程,线程池选型,为什么要选这个,底层实现原理

三面:
你最熟悉的项目,做了什么,为什么这么做,项目价值
推广广告,你会怎么设计?
java基础,JVM内存模型 G1和CMS垃圾回收器
如何中断线程,await和sleep区别
设计秒杀系统
spring生命周期,几种scope区别

四面:
跟上面差不多

五面:
主管面,问项目,然后说部门现在在做的内容

六面HR:
期望薪资,为什么要离职,现在的级别

社招面经Java岗

一面
自我介绍
聊项目
Redis熟悉么,了解哪些数据结构? zset底层怎么实现的?
红黑树了解么,时间复杂度?
既然两个数据结构时间复杂度都是O(logN),zset为什么不用红黑树
线程池的线程数怎么确定?
如果是IO操作为主怎么确定?
如果计算型操作又怎么确定?
跳表的查询过程是怎么样的,查询和插入的时间复杂度?
说下Dubbo的原理?
CAS了解么?还了解其他同步机制么?
做题:数组A,2n个元素,n个奇数、n个偶数,设计一个算法,使得数组奇数下标位置放置的都是奇数,偶数下标位置放置的都是偶数。先说下你的思路
你有什么想问我的?

二面
分布式追踪的上下文是怎么存储和传递的?
SpringMVC不同用户登录的信息怎么保证线程安全的?
我们聊聊mysql吧,说下索引结构,为什么使用B+树?
Dubbo的RpcContext是怎么传递的?主线程的ThreadLocal怎么传递到线程池?你说的内存泄漏具体是怎么产生的?
线程池的线程是不是必须手动remove才可以回收value?那你说的内存泄漏是指主线程还是线程池?
什么是索引覆盖?
Java为什么要设计双亲委派模型?
什么时候需要自定义类加载器?
做题:手写一个对象池
有什么想问我的

小结
头条的面试确实很专业,而且面试官最后给我了一点建议,就是研究技术的时候一定要结合技术的背景。
面试官都有一个特点,会抓住一个值得深入的点或者你没说清楚的点深入下去直到你把这个点讲清楚,不然面试官会觉得你并没有真正理解。

字节跳动效率工程 -2年经验

一面现场
项目
Java 泛型的理解
hashmap
AWS架构图
lambda warmer 以及可能的问题,
乐观锁
websocket相关
JWT以及可能的问题
cassandra dynamodb 区别
为什么选择了dynamodb
IO多路复用
协程(结合网络编程说协程的优势)

算法
数组中的第K个最大元素

抖音 -2年经验

五分钟介绍一下自己和自己做的项目(???)
java 中数组和链表的区别,各自优势
如何设计拥有高效的随机读取能力的的链表(跳表)
设计跳表,跳表插入开销,跳表随机读取过程
java 泛型理解 concurrentHashMap put流程
二叉树中的最大路径和
消息的推拉模型
如何设计推送系统
知道B+树吗(说了知道就不继续问了),知道LSM吗
LSM 在cassandra 存储模型中的体现
memtable, sstable, bloomfilter, SSTable合并策略
cassandra 删除怎么做的
memtable怎么实现的(跳表),SSTable(index + 二分)
kafka 只有一次生产 只有一次消费怎么做

2年经验

被HR喊去面试(这次面试的体验很nice,面试官人都很不错)

一面现场

第一阶段
项目介绍
项目中用到的AWS的service,表结构设计,消息推拉模型
怎么解决follower过多时的消息发送问题
为什么要用dynamodb,为什么要用nosql,而不是rdb(被吐槽没有tx,答这个不是我能决定的,要我就不用nosql)
nosql counter问题(为什么要维护counter表, 而不是调用count,面试官说mongodb里count很快,解释了下cassandra ,ddb 和mongodb 不一样)
第二阶段
问了个他们项目中现在遇到的问题
怎么设计 json formatter(一行压缩后的json转化为prettyJson,若输入违法需要输出错误的位置以及预期值),要求写出代码框架,关健的组件
第三阶段
数论题 十进制 转化 负三进制

二面现场
项目
项目介绍
AWS架构图
表构成
websocket
uuid怎么做的,了解哪些UUID生成策略(雪花)
算法
反转单链表中指定start到end的节点(问了下start, end非法怎么办,说让我自己想,我说这个可以有不同的行为,面试官说非法就不反转)
代码长度比较长,难度一般,思路清晰一点点写就可以了,注意边界

2019秋招校招

自我介绍,主要看项目经历,一直问一直问,问到答不上来为止。
了解计算机网络协议嘛?
了解java虚拟机吗?说说垃圾回收,都有哪些算法?
java线程池了解吗,看过源码吗?说一说
hashmap的东西
红黑树,avl区别。(时间太久,有些忘了)
手写一道编程题,记得是字符串的截取,具体题目不记得了。
数据库了解吗,事务的特性,带来的隔离级别和问题,非关系型数据库用过没,说一说。

后端开发(二面挂)

一面
讲一讲进程和线程
讲一讲多线程和线程池
Linux的最大进程数限制
输入URL到页面加载的过程
后端怎么处理前端传过来的文件
GC机制(GC算法,分代收集,收集器,STW)
给定一个数组a[N]和一个整数P,求a[i] + a[j] + a[k] =P,保证i<j<k ;

二面
身份证如何有效建立索引
Innodb索引类型
聚簇索引和非聚簇索引的区别
索引失效的情况
写一个分页查询
JMM内存模型
Classloader双亲委派机制
讲一下ThreadLocal
线程间如何通信

客户端开发(已拿offer)

一面
讲一下进程和线程
讲一下线程安全
两个人抛硬币,先抛的人赢的概率
单链表排序,奇数位升序,偶数位降序

二面
HTML,JS,CSS的区别
输入URL到页面加载的过程
HTTP的长连接和实现原理
创建和终止一个线程
讲一下熟悉的容器类
ArrayList中如何删除某个元素的所有相同元素
讲一下迭代器的实现原理
学生表 Student (S#,Sname,Sage,Ssex),课程表 Course (C#,Cname),成绩表SC (S#,C#,score),查询平均成绩大于 60 分的同学的学号和平均成绩
Leetcode 283 移动零

三面
扑克牌的移动
乐观锁和悲观锁的区别
两种锁在Java中的具体实现
两种锁的使用场景

字节跳动面试

一面
二叉树最长路径(代码)
爬虫生成的8G的URL文件,只有1G的内存,如何查找出重复的URL
MySQL的隔离级别
讲讲可重复读隔离级别
流量控制和拥塞控制
三次握手和四次挥手
讲讲你理解的分布式系统 讲到了分布式锁
分布式锁redis和zookeeper实现区别,使用场景
索引底层实现结构
B+树的好处
B+树和B树的区别

二面
讲讲你所理解的Java面向对象
讲一下GC
讲一下Java的数据结构
讲一下ConcurrentHashmap
www.toutiao.com反转成com.toutiao.www(代码)
洗牌算法(代码)
项目相关,压测情况,如何继续优化

**三面 **
合并N个有序数组,每个数组的长度为M,合并为N×M的有序数组,时间复杂度要求最低
逻辑题:想象一个地球表面,飞机可以从机场正着飞,也可以逆着飞,每个飞机的油最多能飞半圈,飞机之间可以互相加油,每一个飞机都要求飞回机场,要出动多少台飞机才可以保证一台飞机飞行完一圈
Innodb和myisam的区别
联合索引的最左匹配原则
项目相关

**四面 **
全程问简历上的项目相关内容,会问一些根据项目延申出的场景题,包括如何做改进

【快手】

大数据平台部-硕士秋招

一面: kafka中patiton如何保证有序 storm数据倾斜,某个省数据量特别大。 storm进行join 很多数据,一个namenode不够用 storm中数据量很大,acker影响性能吗 udf写用户经纬度是否在 数据库acid如何保证一致性 hdfs为什么128M zookeeper中CAP怎么哪个 storm中bolt数量 hbase的高可用 多个表full join hive sql编译过程 数据仓库,星型模型和雪花模型,适用于什么

二面: 累计报表 父子关系,统计出来 公司业务(分为哪几块) hive大表进行join,如何分库分表减少数据倾斜 如何确定map数量 如何处理小文件

三面: 杀死线程池中线程的方法 hbase有什么缺点 多线程进行1到100加和操作。开10个线程进行加和 spark提交job流程 hashMap的扩容

四面: 累计报表优化,每日新增 concurrentHashMap默认桶数量,多线程写时冲突概率 线程池数量和io型、cpu型,原因 多线程原因

【华为】

社招面经

一面:
结构数据库和非结构数据库区别,你了解的非结构数据库有哪些
频繁的增删数据量某个表,数据库最终数据只有几万或者更少,为什么查询会变慢
数据如果出现了阻塞,你是怎么排查的,top和jstack命令用过没,jstack命令的nid是什么意思,怎么查看java某个进程的线程
大数据算法聚类算法有哪些
写一个算法判断某个数是2的n次方
说你最熟悉的项目

二面HR:
薪资级别
如何抗压
平时喜欢做什么 对加班什么看法

三面业务主管:
你想做什么,介绍他们部门做的东西
你自己做的项目,怎么设计的

硕士2019秋招

一面:
做题:选择填空题,编程题(数组里面的每一个元素,找到该元素后面第一个比他大的数)
项目介绍。
JVM内存和GC。
类加载机制。
Java多线程。

二面:
做题:翻译,编程题(不大于n的数中1的个数)。
HTTPs。
SSL。
TCP,UDP。
Java性能调优。
Linux基本操作。

【网易】

社招面经

一面:
RPC原理,netty原理
hashMap原理
redis缓存回收机制,准备同步,哨兵机制
统计10分钟内订单的亏损,你会怎么设计
项目:你做了什么,为什么要这么做,用了什么技术要解决什么问题

二面:
分布式缓存redis原理,zookeeper锁是如何实现的
分布式缓存读写不一致问题
java线程你怎么使用
数据库是如何调优的
git rebase命令发生了什么
讨论项目

三面HR:
薪资,为什么要离开,级别

【有赞】

社招面经

一面:
hashMap原理,put和resize过程
线程池类型
concurrentHashMap分段锁原理,用java8实现和java7有什么区别
B-树B+树区别,数据库索引原理,组合索引怎么使用?最左匹配的原理
spring生命周期,几种scope区别,aop实现有哪几种实现,接口和类会有什么区别

二面:
项目介绍
斐波拉契数列非递归实现
短URL实现

三面:HR+主管
你现在做的事情,为什么要离职?对你性格生活薪资全面了解

硕士2019秋招

项目。
HashMap(头插,扩容为什么是2,成环,转红黑树节点数目为什么是8)。
开放性,HashMap不用同步/并发容器,实现线程安全。
JVM运行时内存,高并发环境如何避免OOM。
类加载机制,不同加载器之间的关系。
GC,不同收集器区别。
线程池,如果服务下线如何处理线程池。
谈谈对Spring里面IOC和AOP的理解,Spring如何解决循环依赖。
平时对python的使用,和Java对比区别。
学习习惯。

【联想】

2019校招

一面
自我介绍
问简历中项目,问的比较深
介绍部门职责,偏底层,问调剂意向,在介绍自己部门的发展。
问java和c++区别
java的垃圾回收
面向对象的特性
聊生活,聊职业规划

二面:
自我介绍
他们还是介绍部门职责,偏底层,能不能接受
java的线程池说一下
java的GC,说一下,
标记清除和标记整理的区别。
说一下,JVM那些东西
你用过联想手机吗?你觉得市面上手机哪个好,你用过的手机都有哪些问题,你觉得是怎么造成的,有改进方法吗?

【OPPO】

OPPO社招-Java岗一面挂经

自我介绍,为什么打算到深圳发展,然后从项目开始问起
用什么解析的Excel?
POI解析Excel会存在什么问题?
当时为什么考虑用POI?
写过JVM调参,问了下当时调参的情况
MQ怎样保证消息的可靠性以及当时如何做消息幂等处理的。
sql如何优化?
索引的实现原理?
事务的隔离级别及解决的问题?
知道范围锁吗?
redis常用的数据类型?
redis为什么快?
都用过redis做过什么?
redis的持久化机制?
redis的集群?
redis怎么实现分布式锁?
平时用的设计模式
spring源码
Spring的AOP说一下。
AOP实现原理。
JDK动态代理和CGLIB代理的区别。
ELK
分布式事务
线程池实现原理
怎么防止sql注入
JVM内存结构
常见的垃圾回收算法
怎么样判断对象不可达
你有什么要问我的吗

【平安产险】

平安寿险社招4面面经 -2年经验Java岗

一面
自我介绍、问项目,聊技术。前面两项没什么好说,不过这边聊技术从我项目开始的。 聊了一下项目
项目中有写到采集报文数据,报文传输是否会进行加密,加密的方式是什么?
知道对称加密和非对称加密的区别和应用场景吗?
用MQ采集消息的时候,有没有做消息重复消费处理?怎么做的?
RocketMQ的commitLog的作用
为什么commitLog每个文件的大小是1G?
什么是自旋锁?
有看过synchronize的源码吗? synchronize的实现原理
jdk对synchronize的优化 搭建过hadoop吗?
nameServer的作用?
有了zk和eureka为什么还需要nameServer?
nameServer所有的节点数据是一致的吗?
synchronize和lock的区别?
双亲委派机制,为什么要有双亲委派机制?双亲委派机制是怎样实现的
现在的公司平时加班多吗?来深圳能加班吗?

二面
自己一面感觉答的不是很好,应该挂了,但是两个星期后居然接到了二面的面试邀请,是现场面试。二面面试官告诉我他是一面面试官其中的一个。 问项目,对项目中的点进行提问
常见的垃圾回收算法和垃圾回收器?
jdk1.8用的是哪个垃圾回收器?
springAOP说一下。
SQL注入怎么预防?
数据库优化思路
数据库索引原理
数据库索存储用的什么数据结构?
B树和B+树的区别?
各种索引存储结构的应用场景。
HASH与B+树对比?哪种场景下应用更合适?
存储过程知道不?
Netty
分布式任务调度怎么做?
Redis的高可用?
你们JDK用的哪个版本?
JDK1.8的新特性?
你还有什么问题想问我的吗?
我大概问了下技术栈和做的主要业务,然后评价了一下面试题目,感觉有点难。面试官说除了要考察广度,还有深度也很重要。

三面
我的流程有点不太一样,因为正好碰上部长出差,因此首先进行的是HR面。
说一个你最熟悉的项目,和你在其中的作用?
你做过最困难的事情是什么?
如果你和你的上司意见不一致,你会立刻说出来吗?
说一说你的同事对你的评价?
说一说你的期望薪资?
你愿意降低你的薪资期望来平安吗?
后面收了我的毕业证,学位证还有薪资证明。

四面
四面是部长面。
说一个你最熟悉的项目、在其中的工作、解决过最难的问题是什么?
你对深圳有什么看法?
你在深圳的同学呢?都在哪些公司?
对薪资有什么期望?
期间不停地看了两次表,居然又重复问,你对深圳有什么看法?。。。。

平安银行Java社招五面面经-2年经验

一面 当时似乎是一位猎头,说平安银行有两个部门要面我,我说没问题,第一个部门在星期一晚上,第二个部门在星期二晚上,但很懵逼的是,星期二晚上并没有来电话,有可能是星期一晚上一面过了的原因。一面是在七月初。
自我介绍,聊项目,这边挺常规的,从项目入手。
解析Excel为什么用POI?POI存在的问题?
还知道哪些解析Excel的工具吗?
你们项目中用过MQ,平时都用MQ来做什么?
你处理过MQ得幂等问题,当时是怎么做的?
MQ的可靠性怎么保证?
redis你们都用来做什么?
redis的持久化机制?
怎么样保证redis的高可用?
HashMap和ConcurrentHashMap的区别?
ConcurrentHashMap不同版本的差异?
用过多线程吗?
多线程的几种实现方式。
做过微服务开发吗?
说一说对重构的看法
有什么问题要问我的吗?
时间不长,大概二十分钟,面试官人不错。一面结果:通过。

二面 过了一个星期,由于当地有平安的子公司,就去了子公司的会议室进行视频面试。
二面看上去是个组长的人,年纪并不轻。同样的自我介绍开始,然后聊来深圳发展的意愿,个人的情况,然后问了一下做的项目,就开始问问题了。
项目中处理了哪些格式的数据类型?
数据传输过程用的什么加密?
对称加密和非对称加密的区别?
http和https的区别?
为什么https使用混合加密的方式?
说一说JVM调优的思路及你是怎么样调优的。
JVM常见的算法。
抽象类和接口的区别和应用场景?(挺新鲜的,第一次碰到)
平时有没有用到什么设计模式?
看过什么源码没有?
什么是SpringAOP?
AOP实现的原理。
sql优化的思路。
索引实现原理。
有时候索引失效,为什么?
问了我期望薪资,本来说月薪了,后面他说他们那里是按年薪算的。然后让我等一下,他去找部长去了,大概去了二十分钟。
二面结果:通过。

三面 面试官找人去了,确实等了挺久的。印象中第三轮一般是部门负责人面试,然而等来的却不是部长,部长有事不在,授权了面试官面试。
自我介绍,然后开始聊项目。
数据采集的时候有没有对数据进行校验?
有没有做加密处理?
对称加密和非对称加密的区别?
如何保证数据不丢失呢?(对账)
你们项目中redis用来干什么了?
redis常用的数据类型?
redis持久化机制?
分布式锁的实现?
场景题:一个SQL的TOP N问题
JVM参数调优及JVM内存结构。
常见的垃圾回收算法。
dubbo整个调用过程。
SpringMVC、Spring和SpringBoot的区别?
线程池实现原理。
sql优化的思路。
索引实现原理。
聚簇索引和非聚簇索引的区别。
你有什么要问我的吗?(你是部长?他说不是,部长授权面试。)
三面结果:通过。

四面
过了一个星期,收到电话面试,各位以为是HR面,错了,这个叫业务经理面。HR说这个一般都能过。
自我介绍,说一个你最熟悉的项目,你在其中承担什么样的角色,开发过程中碰到最大的难题是什么?
聊一聊SOA和微服务。
大学挂过科没有。
哪科学得最好。
大概总共聊了15分钟左右。
四面结果:通过。

五面

又过了一个星期。才到HR面,是当地子公司视频面试。
自我介绍,项目类型。
为什么考虑到深圳发展?
为什么选择平安银行?
现在在面试哪些公司?
如何规划自己的生活?
期望薪资。
简单聊了一下,HR没有寿险看起来刻薄,大概十几分钟就结束了。
五面结果:通过。

【浦发】

浦发面经回忆版

机试内容
判断字符串是不是包含数字
反转矩阵
判断字符串的不重复最长字串

面试内容
String是否可以被继承及相关原因
说说对包装类的理解
了解浅拷贝和深拷贝的区别吗
接口和抽象类的区别
做过什么项目,项目里用过什么框架(注:我网申的时候只填了基本信息 )
谈谈你对springMVC的理解,以及它的流程
了解注解吗
自己写过注解吗(注意:不是问你在项目里使用过没有 )
父母的支持与否等 都是些类似hr的问题 听说主要还是招省内的
代码题:判断一个字符串是否是另一个的字串 ?时间复杂度

[微众银行]

Java社招一面挂经

我看你们项目用过redis,你知道redis常见的数据类型有哪些吗?
你们平时用redis做些什么?
你知道redis为什么快吗?
redis的持久化机制说一下。
redis如何实现分布式锁?(答完redis的一系列问题,后面回答的问题,面试官小哥都会说,OK,OK,当时真的给了我一点幻觉,感觉他对我很满意,让我放松了戒备,套路得一批)
你知道什么是Spring的AOP吗?
你知道AOP的底层实现原理吗?
JDK动态代理和CGLIB动态代理的区别?
哪种情况下用JDK动态代理,哪种情况下用CGLIB动态代理?
用过什么设计模式吗?(我说平时基本都是开发功能模块的多,用到设计模式的比较少,但是读源码时会注意一些设计模式的实现,如JDK IO的体系,HttpServlet,Spring中的设计模式)
单例模式的几种实现方式?
说一下数据库优化思路?
你知道回表吗?(第一次听说这个词,就说不知道)
mysql常见的执行引擎有哪些?
索引的实现原理?
B树和B+树的区别?
线程池原理?
ConcurrentHashMap各版本的差异?
HashTable为什么效率低?
HashTable有没有对整个类加锁
你有什么问题要问我的吗?

【顺丰】

顺丰java两面

一面:
项目问题
volatile语意
线程同步方法
数据库索引结构,为什么快
synchronize关键字
jvm内存模型,有哪几块,程序计数器是干嘛的

二面:
有什么设计模式
装饰者模式讲讲
Hashmap内存结构,扩容问题
创建线程的几种方式
Runnable和callable区别
线程池参数, 队列,核心线程池和最大线程池关系
sql注入
哈希一致性
分布式缓存

硕士2019秋招

项目中的算法实现。 网络7层模型有哪些,wifi属于哪一层。 随机数产生算法。 索引原理,索引失效,索引优化。 死锁 不借助中间变量交换2个数。

【新浪】

硕士2019秋招

一面

20个有序数组,找出其中最大的10个数。
URL请求过程,DNS端口,三次握手,四次挥手,拥塞控制。
HashMap源码。
新建一个对象的流程。(从类加载开始讲)
Java内存模型和线程安全,讲一讲volatile。
Java线程池。
JVM内存和GC。
项目算法实现,如何自定义数据库连接池,如何保证连接存活,意义是什么。

二面
项目细节,实现原理。
JVM与GC,如果大访问量,哪部分可能会OOM,如何处理。
索引原理,索引失效。

【阅文集团】

阅文面试结束,一共四面Java

(一面)

开头
自我介绍。
介绍一下你自己觉得不错的项目,和做完这个项目所带来的收获(说实话,听到这句话我甚至感觉有点 HR 面试的意味哈哈哈)。
JVM
先简要介绍一下 JVM。
哪些是线程共有的,和私有的。
GC 算法简要概述。
垃圾回收器简要介绍,讲一个单线程和一个多线程的。
堆这块的概述,我主要说了关于 GC 和划分的代。
并发
synchronized 和 volatile 关键词的区别。
线程池的几个参数的解释,和用在哪里,以及线程池的好处。
数据库
你在建表的时候应该注意什么。
使用过索引吗,应该怎么建立索引,建立索引要注意什么。
索引的原则(这个好像没有回答得很好)。

(二面)
Redis(项目中的)
分布式锁
并发
过期策略的具体过期方法
其他分布式锁的实现方式
Redis 集群一致性
多线程/并发
线程池的好处
线程池的参数
关于公司
了解我们公司吗,做什么的
在做阅读类产品上的优势
学习方式
非课程上的学习方式
Spring 是怎么学的
数据库
索引的结构
查询主键/非主键索引的实现方式
谈人生
未来两年的发展
学校课程的剩下安排
为啥不读研
有什么 offer
期望的薪资(说个大概,HR 会联系谈)
可以视频面试吧?后续安排你 HR 的视频面试。

(三面)

【所谓的 HR 面,微信视频,被吊打】
开头
自我介绍,一句话的【我:从性格方面说了一下我自己】
算法
【我们那进入正题,来做一道题目吧】
【准备一下纸笔,然后写完给我看看】
第一题 手撕:多叉树的最大深度
第二题 手撕:不额外的空间,进行俩排序链表的合并
第三题 口述:快排的主要步骤。优化快排的算法。
JVM
CPU 总是 100%,怎么定位问题,并且解决
CPU 时而 100%,内存经常 100%,怎么定位问题,并且解决
查看一个线程的信息
数据库
事务的隔离级别
幻读和重复读
事务的传播行为

设计思维
前件条件:你手里有一个购物网站
思考一
网站首页应该怎么设计
刚刚从业务上说了,那么从技术和后台设计呢
思考二
购物车上,从后台方面考虑有哪些可以设计的
思考三
前期用户量较少,后期多了,推送广告性能变慢,从后台角度怎么优化提升性能
总结
二面发挥正常,不算太差。二面最后说是给我安排 HR 的微信视频面试,我刚自我介绍完毕,就开始算法和后台的技术轰炸,所以说好的 HR 的谈人生的呢??还我 HR 面试!!
这个三面就是被吊打,从十月开始放任自己以来,就没有学习过 Java,二面还能混过去,三面就是全程被压制,还被鞭挞了一个多点小时,太难了。由于面了一个多小时,应该忘记了一些问题和细节,将就一下吧。不就是个秋招补录么,我滴天。要不是阅文在上海我才不面试呢。

【深圳开思时代科技】

社招Java工程师

(一面)
谈谈你对多线程锁的理解,以及JDK有怎样的措施来应对多线程并发的问题的
那谈谈Lock接口的API以及其实现类相关的了解
ReentrantLock的理解
那么公平锁是怎样的底层实现
那么ReentrantLock中的lock和unlock之间的同步如何进行线程间的通信
对于其通信方式有哪些应用?举个简单的案例出来
JUC包下的计数锁?CountDownLatch
Semaphore类的了解
Spring的了解
Spring的AOP理解
什么静态代理和动态代理?它们的优缺点
动态静态的方式有哪些
SpringIOC的理解

(二面)
说说你对乐观锁、悲观锁的理解
什么是CAS算法
CyclicBarrier的理解
ReadWriteLock与ReentrantReadWriteLock的理解和区别
ReentrantReadWriteLock哪些特性
线程池的理解
MyBatis框架的理解
${}和#{}的区别
对于XML映射文件和Mapper接口对应,这Mapper接口的原理是什么
什么是分页
Mybatis如何进行分页?
MyBatis是如何将sql执行结果封装为目标对象并返回的
Mybatis的延迟加载以及实现原理
一级、二级缓存

(三面)
谈谈你对JVM的了解
JVM内存区域
垃圾收集算法
你了解哪些垃圾收集器
创建线程的方式
怎么保证多线程的运行安全性
关于多线程锁的升级原理
HTTPS原理,以及安全的概念是怎样理解的
MySQL数据库的事务以及事务的特性
MySQL的隔离级别
谈谈你对SpringBoot的了解
SpringBoot是如何工作的
聊项目,特别其中的项目架构设计模式

【深圳强时科技】

深圳强时科技有限公司

(二面)
聊项目
如何对Java服务进行调优
你了解哪些常用的设计模式
简单阐述下Java内存模型内部原理
Java中多线程操作下的三个特性
volatile关键字是如何保证可见性的
谈谈你对SpringIOC和DI的理解
SpringAOP的理解
SpringMVC处理请求的流程
你分析过mybatis工作流程原理吗
mybatis中的配置映射文件中#{}和一些${}的区别
mybatis的一二级缓存
让你设计一个秒杀系统,你会如何设计和思考?

(三面)
在工作中你遇到过哪些棘手的坑?简单列举个说说
谈谈你对AbstractQueuedSynchronizer的理解
谈谈你对Redis的了解
Redis事务的了解
Redis的持久化
关于Redis的主从复制
关于哨兵机制
用过springboot吗
Springboot的自动配置
你了解那些数据库引擎,说说它们的异同优劣
数据库的范式
数据库的事务属性

【Shopee】

社招-java-视频面2

coding : nums=[1,2,3,4] => products=[24,12,8,6], products[i] = nums[0] ~ nums[nums.length - 1] except nums[i], 考虑nums[i] == 0, 考虑多个0
主键索引与二级索引的区别
主键索引存储什么数据
为什么主键用auto_increment
如何生成唯一主键 A:UUID
UUID的缺点
mysql如何实现事务中持久性
间隙锁
kafka如何保证可靠,高可用,幂等
redis的IO模型
解释同步/异步/阻塞/非阻塞
一致性哈希的工作原理,优点,缺点
redis持久化的方式
hashtable的操作get和put的时间复杂度
解决哈希冲突的方法
keep_alive
四次挥手为什么要等Timewait
timewait为多少
cookies和session的区别
多个微服务如何共享session

【金证科技】

社招Java工程师

一面
Java虚拟就运行数据区的了解
分别说说它们各自的作用
堆的原理和分代了解吗
那么GC方式有哪些?它们的原理是什么
谈谈你对上面GC中回收对象中提出的对象有什么理解?回收那些对象,需要怎么分辨
你了解的垃圾收集算法有哪些
你了解那些垃圾收集器
TCP的了解,以及TCP三次握手过程
四次挥手过程
Java程序启动至少启动几个线程
创建线程以及线程运行时代码的方式
线程的中断、休眠相关以及区别
聊项目,以及项目中的一些大数据相关。hadoop集群部署了解吗?你们公司是如何部署的

二面
直接聊项目,你们公司对分库分表,避免热点是怎么处理的
除了分库分表,你还了解些MySQL什么优化
谈谈对BigDecimal的理解
Spring的IOC和DI、AOP
SpringMVC的执行流程
MyBatis中#{}和${}的区别
Mybatis的缓存
谈谈你所了解的IO模型
你是如何理解同步/异步,并发/并行的概念的
如何理解锁的概念,列举出几个锁来说明它
两个有序数组,数组中包括一些重复元素,合并成一个有序数组,并且去重,如何通过代码实现

【依图科技】

安防后台-2年经验

一面现场
两个栈实现队列
一个任务需要一定的人和时间,先有不同的任务,问最少需要多少人(不太记得了,挺简单的一道题,估计小哥自己出的)

二面现场
交错字符串 变种
二数之和变种
三数之和变种

三面现场
判断子序列

四面现场(boss面)
cassandra 在网络中有哪些组件,CAP,cassandra CAP怎么做的,一致性哈希,hint handoff,readrepair, gossip(稍微说了下)
kafka 最早是为了解决什么问题设计的
kafka 网络中有哪些组件,为什么kafka 用zookeeper来存储metadata,而不是用db来存储

HR面
稍微聊了下,谈了下薪水,了解了下安防业务,依图是非常不错的一家公司