阿里巴巴

一面:

自我介绍

1、介绍一下最近在做的项目,项目难点是什么?怎么解决的?

2、讲一下SprIngBoot的优点,SpringBoot和SpringCloud的关系是什么?

3、消息队列有哪些作用?在实际中怎么使用的?

4、redis的作用是什么?在实际中怎么使用的?

5、缓存雪崩是什么?怎么解决?一致性hash算法是什么?

6、redis数据淘汰策略有哪些?具体是怎么进行数据淘汰的,是用定时器吗?LRU算法是怎样的?

7、讲一下nginx的反向代理,负载均衡有哪些策略?当使用ip hash策略时,如果进行应用扩展,如何解决缓存雪崩问题(使用一致性hash算法解决)?

8、讲一下JVM分区、为什么移除永久代?有哪些垃圾收集器,每种收集器使用的是什么收集算法?

9、B端产品的数据安全性及系统稳定性如何解决的?(安全性:对数据进行加密传输,稳定性:系统采用高可用架构部署)

二面:

1、介绍一下最近在做的项目,讲一下它的架构是怎么设计的?有哪些模块?

2、rabbitmq和kafka的区别是什么?

3、最近在看什么书?有哪些章节?

总结:阿里既考察理论,也考察实际解决问题的能力,并会结合两者考察。

 

腾讯

0、笔试题:根据题目手写代码

1、介绍一下最熟悉的项目

2、线上OOM问题如何排查的,知道哪些JVM调试工具?如何查找大对象?

3、如何保证消息不被重复消费?

4、批量任务执行时,如何解决任务中途失败的问题?

5、JVM内存分区,有哪些垃圾收集器?

6、mysql有哪些索引?

总结:腾讯十分重视实际解决问题的能力,基本都是围绕项目问当出现某种问题时如何解决的?

 

美团

1、介绍一下最近的项目,介绍项目中最难的点是什么以及怎么解决的?

2、redis有哪些数据结构类型,每种数据结构类型分别适用于什么场景,排行榜用什么数据结构类型?

3、redis有哪些常用命令?

4、Java中有哪些锁,有什么区别?

5、线程池有哪几个参数,分别代表什么意思?为什么不使用Java自带的线程池工具类而要自己创建?

6、Java异步编程了解吗,Comparablefuture,CountDownLatch、CyclicBarrier分别是做什么的?

7、MySQL有哪些索引,如何设计索引?

8、项目中sql优化怎么做的?explain怎么用的?

9、滑动窗口算法了解吗?

10、算法:反转指定区间内的链表

总结:美团面试会根据实际工作经验来考察,毕业1-2年的主要考察基础知识的掌握(八股文)。

 

虾皮

1、算法题:用两个栈实现一个队列,实现pop和push功能

2、0、1、2、3、4、5六个数能组成多少个四位数?

3、TCP拥塞控制有哪几种算法

4、JVM年轻代有哪些垃圾收集算法

5、Hashmap原理,为什么用红黑树,红黑树结构是怎样的?

6、Mysql用什么索引,B+树有哪些优点,B+树为什么把数据放叶子节点?

7、zk从节点接收到一个写请求后是如何处理的?

8、10亿个整型数据,如何快速判断某一个数据是否存在于这里面?

9、布隆过滤器和bitmap的关系是什么?

10、分库分表用的什么插件?

11、MySQL如何找出慢查询语句,explain有哪些参数,分别代表什么意思?

12、springmvc处理请求的流程

13、spring循环依赖是怎么解决的?

总结:虾皮的面试涉及的还是比较广的,而且基本都是概念性、理论性知识。