面试记录
# 00. 万得一面(7.10)70分钟(负)
# 01. 用友一面(7.27)60分钟(胜)
自我介绍
集合类有哪些
这些集合是线程安全吗
HashMap底层原理
为什么不用头插法
用了尾插法就线程安全了吗
保证线程安全几种方式
Synchronized锁升级过程
ThreadLocal原理
ThreadLocal需要注意的地方
volatile作用
volatile原理
缓存和主存在操作系统\CPU怎么弄的(MESI)
垃圾回收有哪些回收算法
从哪些对象开始标记
三色标记法
CMS和G1收集器收集过程
G1中为什么划分Region
Redis有哪些数据结构
Redis怎么给Hash中单独的key设置过期时间
AOF和RDB
Redis字符串底层和查询过程用的哪些数据结构
RabbitMQ和Kafka原理机制是什么
RabbitMQ和Kafka怎么不丢失数据
MySQL索引一般怎么用
有哪几种索引
undo log 和 redo log用来干啥的
说说数据页
介绍一下项目,以及难点怎么解决
聊天
# 02. 用友二面(8.02)40分钟(负)
两个面试官聊项目,二级缓存,Redis,消息中间件可靠性
# 03. 快手一面(8.08)60分钟(胜)
- 自我介绍
- 授权怎么实现
- 过滤器和拦截器区别,使用场景
- Redis怎么用,一些底层数据结构
- Kafka原理
- ThreadLocal原理
- volatile作用
- 手撕
- 单例模式
- 两个整数,输出a/b循环小数部分,例如0.1234234234,输出234。(这题写了25分钟)
- 反问
刚好一小时。
# 04. 快手二面(8.15)60分钟(胜)
项目介绍
表怎么设计的
ab ac两个联合索引
- select * from t where a = 3;用哪个索引
- select b from t where a = 3;用哪个索引
主从复制
在什么系统部署的
linux常用命令,查看进程命令。查看占用
部署占用内存设置多少
指定了哪个垃圾回收器
G1和CMS区别,mixedGC什么时候触发
线程池参数,具体表示什么
关闭线程池怎么关闭
怎么查看GC情况
zset做排行,key,value怎么设计
然后挑牛角尖,你项目干啥
zset底层数据结构,介绍一下跳表
介绍一下Raft,为啥做这个,介绍一下RocksDB
1万亿个元素,怎么排序
浏览器输入一个网址过程
(45 mins)
手撕
- 两两交换链表
- 二叉树统计根到叶子节点的所有路径和
反问
(1 h)
# 05. 京东一面(8.16)53分钟(?)
- 自我介绍
- 详细介绍其中一个项目
- 收获了什么
- Zset内部实现
- B+树用在什么地方
- 介绍Raft算法,为什么实现这个Raft算法
- 手撕
- 字符串数字加法
- 滑动窗口最大值
- Java里优先队列,List的实现类有哪些,线程安全吗,有线程安全的List的吗
- LinkedList的一些api的时间复杂度,对于有序的链表,能加快查询吗
- 用户在你的项目站点上发起一个请求之后会发生什么
- 你熟悉这么多种数据库,你总结一下他们的应用场景
- 你哪里人,为什么来北京
- 参加过什么社团
# 06. 腾讯一面(8.18)70分钟(负)
- 手撕
- 判断单链表是否有环
- LRU缓存
- 有序矩阵中第K小的元素
- 你实现的Raft有应用到实际场景吗,你怎么判断测试
- Raft和Paxos的区别
- 实现Raft有什么棘手的问题
- 分布式事务中,共识算法有什么用处
- MySQL是怎么实现单机的事务
- 介绍一下MySQL索引,B+树有什么好处
# 07. 字节一面(8.21)57分钟(胜)
- 死扣项目
- 表设计了哪些
- TCP三次握手
- HTTP状态码
- 阻塞IO与非阻塞IO
- IO多路复用
- Redis使用场景
- RDB和AOF区别,优缺点
- MQ作用
- 消费失败怎么处理
- 幂等怎么做
- B+树和B树区别,优缺点
- 回表
- Spring IOC和AOP原理
- 为什么不都用Cglib来做动态代理
- 手撕
- 查询里有如下这些,问怎么创建索引
- where a = xx;
- where b = xx;
- where c = xx;
- where a = xx and b = xx and c = xx;
- 写SQL,学生表,成绩表。查出所有总分低于100的男生
- 判断两个二叉树是否翻转等价。翻转左右孩子
- 查询里有如下这些,问怎么创建索引
# 08. 京东一面(8.23)35 分钟(胜)
- 自我介绍
- 详细介绍Raft算法,有哪些开源算法使用这个算法,详细怎么使用的
- 闲聊非技术问题
- 问有没有实习,实验室是否有项目
- 为什么选择后端开发,职业规划偏向工程开发,还是数据方向
- 聊我的研究方向(三维重建),介绍我的研究点
- 做这个遇到了什么困难,怎么解决的
- 对自己的认识,优缺点
- 讲一下面向对象和面向过程,有什么应用场景
- 面向对象的三大特性
- 介绍两种设计模式
- 介绍一下Spring
- AOP有什么应用场景
- 给你设计一个服务,有用户的信息,需要存到这个服务中,然后也提供查询功能,讲一下你的设计,思考的点。
- 反问
# 09. 联想一面(8.24)30分钟(负)
- 自我介绍
- 闲聊,有实习吗,又聊三维重建
- 共享屏幕,展示一下你的项目,没有。然后又讲了一下去年的数学建模竞赛,去网上下载了一份题目。介绍了一下分工
- 说GitHub有代码吗,下载了一份打开讲,对着代码讲。挑刺,为什么起这个类名,为什么说MySQL查询慢,说我这个数据量,就算MySQL查也很快,没必要缓存
- 反问
# 10. 字节二面(8.24)70分钟(胜)
- 自我介绍
- 详细问其中一个项目的实现细节
- 认证授权过程详细介绍一下,jwt组成部分,jwt要注意哪些问题
- Kafka消息投递有什么特点
- kafka消息的消费顺序性
- 介绍一下其它类似的MQ,区别
- 手撕,会议室2
- 要访问一个站点,介绍一下访问的过程,常见的负载均衡策略,域名解析过程
- 现在用的IPv4,为什么要推广IPv6
- 给一个场景,假如你是一个视频网站的后台维护人员,发现前一天的播放量骤减。讲一下你的排查思路
- 最近看了什么技术的书,以后的技术方向
# 11. 美团一面(8.24)70分钟(胜)
- 自我介绍
- 闲聊,研究方向
- 讲一个你项目中的亮点,有什么讲究的点
- 假设你这个QPS不是要提升到4000了,要提升到4w,你有什么优化方法
- 为什么用Jwt,有其它登录凭证保存方式吗
- Jwt这个冒用,盗号,怎么解决
- 数组和链表优缺点
- String是不是基本类型,可以被继承吗。用new创建,和""有什么区别
- 保证线程安全有什么方法
- Java里偏向锁,轻量级锁,重量级锁介绍一下
- full GC触发条件
- 动态规划和分治有什么异同,什么情况必须用动态规划
- Redis一致性哈希算法介绍一下
- tcp和udp特点
- cookie和session区别
- 事务的隔离级别,有什么区别
- 手撕,重排链表
- 反问
# 12. 京东二面(8.25)30分钟(负)
- 自我介绍
- 你的职业规划是什么,怎么做到呢
- 你最想去前三个的公司
- 手撕,给一个数组,用三个线程轮流去读数组中的元素
- 反问
# 13. 淘天一面(8.26)50分钟(胜)
- 自我介绍
- 介绍项目实现的一个难点亮点
- 介绍kafka架构
- 消息投递有且仅有一次语义是怎么实现的
- Kafka扩展broker过程
- 负载均衡有哪几种
- kafka消费消息的实时性怎么样
- kafka短轮询有哪些优化方法
- 实现长轮询,在五层网络中,是怎么个过程
- jdk8到jdk20的,说一下新特性
- jdk21虚拟线程和线程有什么区别
- 要你实现Java的虚拟线程,你觉得有什么难点
- Java8和Java9的类加载机制有什么区别
- 类加载机制主要在哪些场景,OSGI了解么
- 介绍一下IOC和AOP概念,原理
- Java像Go那样,编译成exe了解么
- 说一个你熟悉的地方吧(数据库),MySQL事务是怎么实现的
- 闲聊,为什么做后端,人工智能热点风口怎么看
- 反问
# 14. 得物一面(8.27)30分钟(胜)
- 自我介绍
- 介绍一下Tcp/ip协议,各个层
- 加密安全传输怎么做
- 面向对象相比面向过程有什么好处
- 里氏替换原则
- 有哪些树的数据结构,分别什么场景
- 多线程用么,为什么用线程池呢,要注意哪些东西
- 什么是线程安全,怎么保证线程安全
- Spring IOC和DI有什么区别
- 了解哪些MQ,缓存,数据库,分别什么场景
- 反问
# 15. 快手三面(8.28)60分钟
- 自我介绍
- 闲聊
- 细问简历中的项目,用了InfluxDB,为什么InfluxDB查询快
- 让你排查QPS的瓶颈,怎么排查
- 点赞系统,点赞怎么做的啊
- 你MySQL用用户ID分库分表,那假如你要一个查一个帖子,被谁点赞了,你怎么做
- 老家是哪的,为什么想来快手,对未来有什么打算
- 手撕,给你一个回文数,返回他下一个回文数。121,下一个131
- 反问
# 16. 美团二面(8.28)60分钟(负)
- 自我介绍
- 细问项目,为什么用kafka,用kafka遇到什么问题吗
- 主态和客态怎么做
- 为什么用InfluxDB
- 什么是IO多路复用,那三种有什么区别,边缘触发还是水平触发
- 为什么用Caffeine
- 投屏看一下你的成果,打开github看了看截图
- MySQL索引怎么建的
- http1.1,2.0,3.0区别
- 闲聊
# 17. 字节三面(8.31)35分钟(恶心)
吊儿郎当,叼着牙签,目中无人