新奥集团
- spring ioc 的原理,
- bean的作用域
- spring Cloud 的核心组件
- zk的选举机系统的高并发处理
- 项目中系统安全的控制
- dubbo和spring cloud的区别
- spring拦截器和过滤器的区别
- 分布式锁redis 实现
- innodb和myisam区别
- Innodb 索引底层的数据结构
- 服务熔断限流如何实现
- jvm有哪几种垃圾回收机制,怎么回收的
- elasticSearch索引机制
闪送
- redis锁是如何实现的,为什么要用redis锁,如何优化,能不能不用redis锁,用其他方式代替加锁解决并发线程安全?redis原子操作increment()使用场景,可不可以代替redis锁?
- 服务限流如何做的,怎么设计
- 服务降级如何做的,怎么设计
- 上游接口异常,如何设计处理自动感知接口异常
- 订单如何设计?订单状态有哪些状态?
- mysql大数据量分页优化
- Spring SpringBoot SpringCloud 区别?
- SpringBoot Starter 如何实现自动配置,怎么自定义starter?
技术问的不多,结合业务提问题,顺着一个业务线问到底,每一个点是如何解决的,遇到过什么问题,怎么处理的,有没有更好的优化方式?
水滴筹
- 分布式锁如何实现,为什么选择redis作为分布式锁?有没有出现过问题,怎么解决的?
- redis集群怎么搭建的,集群中数据是怎么分布的?
- 怎么保证RocketMq消息的有序性?
- ElasticSearch 数据的写入流程?查询流程?如果集群部署,查询10条数据从哪里查?怎么查?
- mysql如何分库分表?集群部署查询10条数据从哪里查?怎么查?
- Mycat怎么使用的?Sharding-JDBC怎么使用?
- 分布式事物怎么解决的?2PC,3PC的原理,有什么区别,优缺点?
- sychornized加锁的原理?Reentrantlock加锁原理?
- Voliate能实现什么?怎么保证有序性、可见性?
- countdownlatch cyclicbarrier的区别?
- 内存溢出和内存泄露什么区别?有哪些场景?
- 服务限流如何做?有哪几种方式?限流算法?漏桶算法和令牌桶算法
- hystrix怎么实现的限流,信号量还是线程隔离?
- nginx如何限流,哪几种配置方式?
技术点问的比较多,有些会深入的问,业务问的不深。
美团
- redis锁如何实现?有没有出现过问题?怎么优化的?
- Redisson是怎么实现加锁的?怎么自动延长锁的过期时间?如果业务一直不结束,会一直延长吗?
- 缓存穿透是什么?如何解决?
- Redis热点数据超高并发量请求如何解决?
- 为什么用redis作为缓存,在项目中哪些地方用到?
- 缓存跟数据库数据一致性怎么解决?
- redis集群数据如何存储?
- 为什么用Springboot?SpringBoot自动配置原理?如何自定义starter?
- Es查询优化?如果需要根据某个字段查询,这个字段应该设置为什么类型?为什么?
- 算法题:找出一个字符串中最大的回文字符串。
- 算法题:给你一个int 数组,随机从中删除一个,然后找出来删除的那个值
面试模式:首先自我介绍,完了挑一个最熟悉的项目介绍,中间用了哪些技术,然后挑几个技术点问,不仅要会使用,还要明白其原理,甚至问到源码级别,类的名称及包的全路径都会问。之后让你挑一个自己最熟练的技术,然后针对这个技术详细的问到底。最后是算法编程题,如果不会没思路就给你换一个简单的,还不会的话那就等通知了。。。
京东
- redis使用场景,在项目哪地方用到了?
- 分布式锁怎么实现的?redisson原理?
- 项目最大QPS多少,TPS多少,面对突发流量怎么解决?
- redis热点key怎么处理?缓存击穿、缓存穿透、缓存雪崩怎么处理?
- 缓存跟数据库的数据一致性怎么解决?
- 消息中间件用在哪些场景?怎么防丢失?
- BeanFactory 和 FactoryBean 什么区别,各自的使用场景是什么?
- Spring循环依赖怎么解决的?哪种循环依赖不能解决?为什么用三级缓存,二级缓存不行吗?
- innodb底层的索引数据结构是什么?B+树和B树有什么区别?为什么B+树比B树查询速度快?
- 聚簇索引和非聚簇索引什么区别?
- mysql怎么优化的?使用索引的注意事项?
- 什么是回表?
- 如果有一个联合索引a b c ,查询条件是where b = ? And a = ? ,这个时候走索引吗,为什么?
- 有个需求,订单表数据比较多,每个客户的查询要求不一样,这个时候又不能建太多索引,有什么好的解决方案没?不限技术使用范围。
- 单表数据量非常大怎么解决?
- 分布式事物怎么解决?
- elasticSearch大数据量写入怎么优化提升写入速度?
- jdk1.8的增强for循环跟普通的for循环有什么区别?哪个速度快?
- JVM了解多少?怎么优化?平时生产环境有没有遇到问题,怎么处理的?
- 内存使用率满了怎么分析并解决?
- 接口怎么防刷?如果有黑产刷你们接口怎么处理?ip经常更换、手机号、微信都是正常的又是怎么处理?
一面就是问一些技术点,有的深入,有的只是问题表面,项目问的不太多,会出一个业务场景让给出解决方案。
二面针对项目深入了解,对项目中使用的技术点会问的比较深,但还不至于到源码级别,主要考察的是项目中的技术选型和问题解决的能力,也可能会穿插一些其他技术点,
三面就是其他部门的交叉面,跟二面差不多。
四面是一个大boss面,也会问技术,还是先问做了什么项目,在项目中一些问题是怎么处理的,怎么优化的,项目的QPS,TPS多少,业务量有多大,项目团队多少人,怎么分工的。技术就针对一两个点问的深入,同时也会考察技术能力以外的东西。
百度
- redis分布式锁的实现原理?
- redis的底层数据结构有哪些?list的底层数据结构什么?如何实现的?
- 分布式锁redis和zookeeper各自的优缺点?
- redis的缓存淘汰机制?有哪些?
- redis缓存雪崩、缓存击穿、缓存穿透如何解决?布隆过滤器的原理?
- RocketMq怎么防止消息丢失,怎么解决的?
- RocketMq延迟消息的实现原理?
- Mysql索引失效的场景?
- Mysql的存储引擎有哪些?什么区别?底层数据结构?
- 线程池的执行流程?常用注意事项?
- 线程有哪几种状态?分别解释下?
- 除了分布式锁,java里面的锁有哪几种?平常在哪使用?他们的原理?
- ConcurrentHashMap 的执行流程?详细点