2021年BAT大厂春招面经合集,支付宝+阿里+字节跳动,持续更新中!

前言

2月份第一次面试,也是复习完之后第一次面试,主要是想检验一下自己的复习效果,因为一个月都没有面试了,总体上还是稍微有点紧张,但是自我感觉表现不错,面试官评价基础比较扎实,期待二面!

总体感觉还是不错的,面试官很nice,本来是昨天面试的,因为昨天生病了,所以跟面试官约了今天上午10点,面试官非常守时,10点就准时打电话给我了,给面试官点赞!

深信服一面-2.7

2月份第一次面试,也是复习完之后第一次面试,主要是想检验一下自己的复习效果,因为一个月都没有面试了,总体上还是稍微有点紧张,但是自我感觉表现不错,面试官评价基础比较扎实,期待二面!

总体感觉还是不错的,面试官很nice,本来是昨天面试的,因为昨天生病了,所以跟面试官约了今天上午10点,面试官非常守时,10点就准时打电话给我了,给面试官点赞!

电话面,50分钟

  • 自我介绍,项目介绍

  • 因为项目里面用到了SpringBoot,一上来就直接问SpringBoot

  • SpringBoot跟Spring的关系

  • SpringBoot的自动装配原理

  • 对象的比较有哪几种方式

  • hashcode方法的作用

  • HashMap put方法的流程

  • 线程安全在java中的实现方式

  • 说说volatile

  • 说一下一次完整的 HTTP 请求所经历的步骤,用到了那些协议,具体说一下

  • 说说你是怎么进行sql调优的,举自己遇到的一个场景

  • 联合索引a,b,where a>5 and b=5, 索引会失效吗?

  • 你平时用的是哪种事务隔离机制,简单说说原理

  • 聊聊jvm,jvm内存划分说一下

  • jvm堆的分代思想说一下

  • 大对象的分配流程说一下

  • 多线程有用过吗?你简单说说

  • 这里,我详细说了一下线程池,把线程池的原理说了一下

  • 追问:有自己实现过线程池吗?你是怎么实现的,里面的参数你是怎么设置的。

  • 这里真的给自己挖了一个大坑,没想到会问这么深,当时就顺口说了线程池,其实根本就没怎么用,都是自己写的小玩具,没有考虑这么多!

  • Lock包下的类有了解吗?说说你经常使用的一些并发类库

  • Redis缓存穿透、缓存击穿、缓存雪崩了解吗?详细说说,并给出解决方案

  • 说说Redis的基本数据类型

  • Netty了解吗,你说说他为什么高性能

  • Netty零拷贝了解吗?

  • Netty可以自定义序列化机制吗?有自己实现过自定义的序列化机制吗

  • 有自己实现过chandlehandler吗?就是有自己去处理过一些数据包吗

  • 总结一下,面试官全程根据简历来问,基本上都是自己熟悉的点,面试体验非常棒,许愿二面!

阿里云原生一面-2.20

  • 首先当然是点赞阿里面试官啦,准时,态度友好!再一次感谢阿里给的机会!

  • 上来直接怼项目。

  • 面试官;我看你项目难点只写了怎么实现,但是难在哪里没有提到,你能说一下难在哪里吗?

  • 我:。。。。这里我只能勉强从实现方案上吹了一波,这里还要回去再想想要怎么说才好!(这里真的充分体现了你平时对项目的思考的重要性!)

  • 面试官继续追问:看你用的Redis比较多,你解释一下缓存雪崩吧!你在项目中是怎么解决缓存雪崩的?

  • 面试官:本地缓存你是怎么做的,你具体说说,热帖是怎么存储的!

  • 面试官继续追问:那这个本地缓存实时性如何保证你是怎么解决的。

  • 面试官:那这个缓存雪崩问题还有别的解决方案吗?

  • 我:还可以通过随机化Key的过期时间来解决;请求限流和服务降级:通过限制 DB 的每秒请求数,避免数据库挂掉。对于被限流的请求,采用服务降级处理,比如提供默认的值,或者空白值

  • 好了,我们继续下一个。

  • 说说Redis持久化机制吧,你在项目中是怎么配置的。

  • 说说jvm内存结构的划分和GC算法

  • 我看你简历上写了docker,那K8S了解吗

  • 分布式有了解过吗?

  • 说说进程通信有哪几种方式

  • 说说进程同步机制

  • 手撕LRU

字节教育业务一面-2.22

  • 自我介绍

  • 项目介绍

  • Redis的HyperLogLog的底层实现

  • 为什么不用HashSet,而用 HyperLogLog

  • 说说Bitmap的底层实现,为什么要采用Bitmap

  • 我看你项目也用到了zset,说说zset的底层实现

  • 说说为什么Redis采用跳表而不用红黑树来实现zset

  • 说说有什么开源项目是红黑树实现的

  • 为什么jdk的HashMap要用红黑树

  • 说说红黑树的性质

  • 说说红黑树和AVL树的区别

  • 说说红黑树的红黑节点的数量

  • 说说键盘敲入字符时,操作系统期间发生了什么

  • 说说系统调用的流程写算法:二叉树序列化与反序列化

阿里淘系基础架构一面-2.23

  • 自我介绍

  • 开始怼项目

  • 为什么统计DAU的时候不用HyperLogLog

  • 因为前面吹到了有一个统计用户连续登录的需求,所以你说说怎么实现这个需求

  • 你说说这个redis缓存跟这个本地缓存是怎么设计的(热帖模块)

  • redis在热帖模块用到的数据结构是什么,你是怎么设计的

  • 本地缓存是内存缓存?本地缓存和redis之间是怎么读写的(一致性)?

  • 你的项目是集群部署还是单机部署,如果是集群部署,那有没有优化的空间,也就是说集群部署的话,你这个定时任务的启动时间怎么来统一呢?因为部署时间不一致,很可能会导致定时任务拉的数据会不一致。

  • 那如果数据更新得比较频繁怎么办那怎么做?也就是删除缓存导致缓存失效,就要改变策略!

  • 说说Redis的持久化方案,优缺点、应用场景

  • 你项目实现的feed流是怎么更新的,是实时更新吗,因为数据是有可能一直在变化的。

  • 你做的社区平台的最核心的几个模型是怎么样的,你是怎么设计的,就是问领域驱动模型你是怎么做的?

  • 你MySQL里面主要存的是哪些对象!

  • 有没有进行过SQL优化,说说你怎么做的,比如你拿到一个SQL语句,你要怎么分析?

  • 索引的数据结构一般会有几种

  • 说说B+树

  • MySQL的日志了解吗,说说binlog

  • binlog的主要应用场景

  • 说说主从同步的原理

  • 在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

  • HTTPS和HTTP的区别

  • HTTPS的TLS握手详细说一下

  • 问ThreadLocal,ThreadLocal的应用场景、synchronized,volatile原理和应用场景,原子类跟volatile的区别请举一个场景说说,线程池、concurrentHashMap、HashMap原理

  • equals和hashcode的关系

  • springioc和aop

  • spring怎么解决这个循坏依赖

  • RPC实现原理(最后强行吹牛逼)

阿里云原生(别的团队)一面-2.23

  • 自我介绍

  • 开始怼项目,你在做项目的过程中有没有遇到什么问题,可以突出你的思考能力的。

  • 哪些东西要放到本地缓存里面,哪些东西要放到redis里面?

  • TCP是怎么保证可靠传输的

  • 重传机制详细说一下

  • 详细说说快重传

  • 你理解TIME_WAIT状态吗

  • 为何一定要等 2MSL ?

  • 如果四次挥手最后一个包丢失了怎么办

  • 在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?

  • DNS怎么递归查询

  • 本地域名服务器访问之后,更上一级的DNS服务的ip地址知道吗,是多少

  • 可以配多个DNS服务器吗?它的访问顺序是怎么样的
    我:不了解
    好,继续,假设已经知道IP地址了,下一步怎么做

  • 通过IP地址怎么找到MAC地址,会找到谁的MAC地址

  • 你觉得阿里的公网IP地址会存到我们学校的局域网里面吗

  • 进程跟线程的区别,进程之间怎么通信的,线程之间怎么通信的

  • 为什么线程开销比较少

  • 进程、线程的上下文切换是怎么样的

  • 哪些场景下用到了软中断、哪些场景用到了硬中断(请举场景)

  • 好吧好吧,你好像对网络比较熟,再问你一个网络的问题,***你了解吗?

最后

说一千道一万,也只能给大家提供一些书面上的建议!
最后我为大家准备了java核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!
有需要的朋友点这里备注csdn,自行下载就好了
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jiagouwgm/article/details/114131949