面经

面经📎断断续续整理了部分,小伙伴可以按需参考

哈啰

哈啰一面:

object的常见方法?
Hashmap put的方法?resize介绍下?有那些线程安全的hash?说下hashtable,说下connrntnHashmap?
线程池说下比较核心的几个参数?线程池处理逻辑
spring有了解吗?
zookeeper有了解吗,简单介绍下?
zookeeper脑裂的时候怎么处理的?异常恢复?
redis的lua用过吗?如果lua处理一批key,从主从角度看看会有什么问题?
Redis 的key失效之后,会怎么处理?
jvm内存有了解妈?
Threadlocal有了解吗?
gc算法有了解妈?cms说一下?stw在那几个阶段?
有自己去分析gc的日志吗?gc的日志的user system 有了解吗?
有处理过一些full gc,新生代gc的情况?
服务异常重启----》有做qps限制吗?,自己限制队列大小是不是还有风险?
场景题:一个2g的文件,500mb的内存机器,对2g的文件进行去重。
答案:对key进行hash,得到对应的值,至少知道那些可能重复,放到hashset中进行去重

哈啰二面:

先做个自我介绍吧?离职原因是什么?
熟悉那方面的东西?
kafka的原理熟悉吗?
说下topic和offset逻辑?
说下mq的优缺点?
多线程怎么使用的?
使用kafka怎么做一个多线程的模型?以及怎么保证有序性?
怎么定位gc问题?
怎么做到线程去关闭另一个线程?

米哈游

米哈游一面:

自我介绍,重点介绍下,主要负责的项目,以及部分有什么难点,能体现技术能力的?
打点系统如果设计的话,需要考虑那些点?–》考察架构设计
一个查询的系统的性能瓶颈会出现在什么地方?
Cpu 100% 的话问题怎么排查?
服务器内存溢出?
堆溢出,和栈溢出?解释下堆和栈的区别?
客户端与服务端的通信机制?服务端向客户端推送消息?
分布式锁的实现方案?设计分布式锁需要考虑什么?Redssion?Redlock?
用到那些类库?Juc?Guava?
集合类中的Map?线程安全吗?有线程版本的吗?声明成voltile是线程安全的吗?
hashmap中的key怎么排序?
Redis的过期策略?
Redis的淘汰策略?
缓存读写不一致有什么好的方案?
redis中的lru有了解吗?自己实现一个lru怎么实现?
平时自己会去学习什么新的知识?这样可以了解你的知识宽度?
hashmap源码?
redis底层实现?

米哈游二面:

push怎么保证消息不丢失?kafka怎么保证数据不丢失?生产者要做那些准备?
talos怎么比kafka更好的?
RabbitMQ了解吗?
Kafka 分区能缩容吗?
tcp怎么保证他的可靠传输?除了三次握手和四次挥手,还有其他的吗?或者他是怎么保证数据的丢失?拥塞控制有了解吗?
udp能实现可靠传输吗?
四次挥手,最后一步的time——wait是什么作用?
关闭的时候,端口的分配导致的阻塞,有什么好的办法优化吗?
jvm类加载的过程?说下验证具体是什么?初始化具体是什么?
jvm中的系统shutdownhook在什么情况下会执行?https://www.cnblogs.com/zhchoutai/p/7271972.html
即使编译器了解吗?
序列化知道吗?java中有两个序列化接口?
connrurntHashMap中的优化简单说说?使用中出现cpu飙升,怎么排查?会有什么原因导致?
lock中的condition有用过吗?有什么区别?
redis的持久化?你一般怎么选择?rdb细节,aof细节,为什么rdb性能更好,页模块共享,提升性能?
跳表介绍下?
mysql中的explain中有一些比较重要的参数?
rpc中的thrift有原理是什么?为什么快

达达

达达一面:

介绍下自己
设计一个用户画像系统业务 + 技术实现
说下所做的项目?
为什么要换工作?
了解过什么技术?说下
想从事什么方向的工作?
kafka与talos的区别?

达达二面:

介绍下你的push业务?说下最复杂的模块?qps多少?怎么做到这么大的qps?怎么优化的
kafka的机制说下?平时怎么设计?parttion比consumer多怎么处理?counsumer宕机了怎么处理?brokeer宕机了怎么处理?这个时候能对外提供服务吗?怎么保证不会重复消费?或者怎么做到业务强一致性?
Hbase 底层存储是hdfs,说下为什么底层会很快?Blockcache 和memcache 如果宕机了怎么处理?
Hbase 列的设计是多少?列族太多是不是不太好?
你有什么要问我的?

得物

得物一面:

介绍下java锁相关得
介绍下hashmap
介绍下chashmao
介绍下代码中哪里用到多线程
介绍下推送系统的架构吧
9点钟推送一个消息,消息推送大概多久?
说下mysql和hbase的对比
hbase的rowkey设计?
业务中zookeeper的应用?说下服务注册与发现?说下zookeeper的内部选举?怎么保证只有一个master?
Mysql介绍下索引?底层实现?innodb中juzu和非juzhu索引底层的存储有什么区别?底层怎么存储的?
redis有了解吗?业务中怎么用的?介绍下分布式锁吧?锁失效怎么控制的?锁需第三方插件?

得物二面:

上一轮面试聊得那些感觉不满意得地方?
为什么换工作?
业务核心的部分是那些?
业务怎么保证高可用的?
hashMap?中的key能添加对象吗?为什么?需要重写Object对象吗?怎么排序一个list中对象?
什么叫高并发?怎么理解高并发的?那redis是高并发的吗?需要做控制吗?
多线程说下有那些?syn和lock的区别?wait和notfit能不能用?除了这些还有那些功能上的区别?
为什么要用多线程,单线程的坏处是什么?平时业务中有用到吗?
线程池简单说下?工厂方法怎么用的?拒绝策略为什么用callable?不是说牺牲一致性了吗,为什么不能直接丢弃?
Mysql 索引一般怎么用的?怎么建索引?一个订单状态只有三个,需要加索引吗?
说下mysql的锁是什么?怎么工作的?什么时候会用到?怎么维护的?索引太多会有什么影响?

叮咚买菜

叮咚买菜一面:

介绍下你项目的主要流程,以及你负责那些模块,以及你担任的位置?还有技术栈?
细化下push整个流程?
你们怎么做业务到内部的的映射?
在线和离线这个两块的逻辑?
如果设备一直不在线,那么离线消息会怎么处理?
说下zk和redis使用场景是什么?
zk作为配置中心怎么使用的?
为什么会去拿zk做服务的注册与发现?说下使用中的优缺点?
因为网络等问题导致zk的重新选举过程?
zk服务如果出现异常,或者是在崩溃恢复的时候导致无法提供服务时怎么处理?
答案:做个多级缓存,存储一些基本的信息,保证服务的正常
redis在业务场景使用情况?缓存策略?缓存穿透的设置策略?
先更新数据库再删除缓存,如果删除缓存失败怎么处理?
redis做分布式锁怎么处理的?业务场景是什么?业务如果出现问题,怎么进行判断是否是异常还是续约场景?对于独立的不可延续的请求怎么处理?

滴滴

滴滴用户增长一面:

说下你做过那些项目,那些比较核心的?有难点的?
你刚刚提到设计模式?说下用到那些?什么是责任链模式?怎么用?
If else 这种你用会用什么设计模式去优化?策略模式?你怎么用?业务场景假如是vip算法,vvip算法?
项目中还有那些是比较熟的?
Redis底层的数据结构你知道吗?跳表知道吗?大概的工作原理是什么?搜索一个数的流程是什么?
redis的集群中哨兵和集群模式的区别?
redis的缓存预防击穿和雪崩的怎么处理的?除了这些还有什么更好的方案?持久化,spring cloud限流防止雪崩;idc分区;定时补偿key的失效时间;设置一个永久/大/多个ket的值的值兜底;续期。
如何设计一个限流器?令牌(信号量)/随机分流,没有严格限制量;针对不同的限流场景,比如针对模糊的,根据实际的场景设计限流机制+时间窗口,比如空闲90%以上量,触发限流。
zk你们只要怎么使用?
kafka跟常见的MQ的对比你知道吗?
kafka怎么保证顺序消费的?
kafka是怎么防止消息重复提交的?broker上存储提交的日志,知道是否提交过
说下hbase和mysql的优缺点?
列存储和行存储在查询上有什么优劣势?
redis的分布式锁?锁到期问题怎么处理?
redis的过期你知道吗?有哪三种?
缓存更新策略?为什么不用先删后写?一是脏数据,二是写请求失败,那数据必脏
数据库的脏读幻读介绍下?

滴滴二面:

自我介绍,还有项目
推送到达率在多少?怎么做到这么高的送达率?为什么用hbase?
Spring aop和ioc?
redis商业化主要的用途?
redis持久化方案说下?
mysql慢查询优化介绍下?
Nginx是进程模型还是线程模型?
算法题:找到所有的非质数

滴滴三面:

自我介绍,介绍下项目
Redis 介绍下常用的数据结构,string和map的底层实现,string底层实现有那些特别的细节
分布式锁有那些实现方式?介绍下,redis实现的分布式锁的具体?
算法题:合并两个集合

我的面试经验汇总

下面先给大家上一个总的目录大纲,基础的东西就不进行过多的赘述,我们将会从面试必问的说起,同时由于每篇的内容过多,我们也只说重点,太过基础的内容谁都会,我就不多敲字浪费大家的时间了!
有需要的朋友点击这里自取就好了,希望资料对你有帮助!

SpringCloud

Redis

JVM

MySQL

Zookeeper

Kafka

Dubbo

spring

Rabbitmq

springboot

最后

由于文章篇幅有限,PDF的内容又很多,全部手敲下来很累…所以需要阅读阅读学习的,大家“一件三连后:“查看下方””即可拿到手之后自己学习吧,博主真的打字打累了。

有需要的朋友点击这里自取就好了,希望资料对你有帮助!
预祝大家前程似锦,工作顺利!