首全网发!2021 最新版字节面经刷题笔记,已霸榜 GitHub
================
字节一面:
1、自我介绍
2、聊项目相关
介绍项目
怎么保证 redis 与 Mysql 的数据一致性
见你写了个加随机数预防缓存雪崩,解释一下
未改进和改进后的 Jmter 测试性能对比
3、Redis
为什么选择 Redis 作为缓存?
为什么 Redis 的性能十分的高?
说一下单进程、单线程的 Redis 和你平时写的多线程程序的对比
如何保证 Redis 的高可用?(哨兵、持久化策略 RDB、AOF)
解释一下哨兵、RDB、AOF
主从一致性
Redis 数据淘汰策略
能说一下分布式事务吗?
setnx 是事务吗?
4、Mysql
解释一下事务
讲一讲事务隔离级别
为什么使用 B+树作为索引
聚簇索引和非聚簇索引的区别
5、Java
Java 是如何保证其安全性的
刚见你说了 Java 内存泄漏问题,解释一下什么情况下会出现
说一下 BIO、NIO、AIO
6、手撕算法
一个数组找出出现次数最多的一个数,如果多个数出现的次数相同则输出第一个
生产者消费者(一对一)
7、其它
平时怎么学习的
有什么需要问的吗?
字节二面:
1、手撕算法
10 个多线程保证 i 从 0 加到 10 (差点翻车,主线程忙等另外 10 个线程完结)
反转链表
上台阶(n=80)
2、操作系统
常用的 linux 命令说一下
操作系统中的信号 和 信号量有什么关系
epoll 和 Selector 有什么区别?
3、计算机网络
说一下拥塞控制
4、数据结构
说一下红黑树,你平时用的技术哪里用到了它?
哈希表怎么处理冲突?
5、项目相关
把项目放到服务器上运行的时候有没有遇到什么问题?查看项目运行的状态怎么做?
spring 和 springboot 的关系你是怎么理解的?
Spring IOC 和 AOP 说一下你的理解
为什么用消息队列?
对于消息的重复消费你有什么设计方案吗?
字节三面:
你怎么学的 Java 啊?
设计模式了解吗?单例讲一下,懒汉饿汉 double-check,怎么实现。策略模式,外观模式,适配器模式,装饰器模式,分别讲一下
联合索引什么时候不会触发索引?
AOP 了解么,有什么好处,如何使用,怎么实现的?
支付宝到银行的转账业务怎么实现?
redis 实现分布式锁
三台机器集群,按不同权重访问,怎么做?
字节四面(hr):
先介绍一下你自己吧
说一下四种 IO 模型
平时怎么去学习的?
为什么你说学习了要去实践?
说一下的最大的优点和缺点
举一下你缺点的例子
想象一下你几十年后是怎样的生活?
你觉得最痛苦的一段时间
对你影响最大的一件事情
在安排活动的过程中有没有发生什么冲突?
你有什么崇拜的人吗?
你有什么想问的?
让“努力”成为自己的背景(如何学习?)
===================
1、看视频进行系统学习
这 1 年多的 Crud 经历,让我明白自己真的算是菜鸡中的战斗机,也正因为 Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去 B 站进行学习,B 站上有很多学习视频,唯一的缺点就是免费的容易过时。
评论