最后去快手了
文章目录
- 字节跳动 后端开发实习生-新业务 一面
- TCL 鸿鹄实验室 一面
- 字节跳动 飞书后端 一面
- 快手 Java信息安全 一面
- 快手 Java信息安全 二面
- 快手 Java信息安全 三面
- 比特大陆 软件开发实习生 一面
- 比特大陆 软件开发实习生 二面
字节跳动 后端开发实习生-新业务 一面
-
算法
题目描述
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。
有效字符串需满足:
左括号必须用相同类型的右括号闭合。
左括号必须以正确的顺序闭合。 -
SQL
题目描述
table student
name class score
1查找每个班级中分数>80分的学生的平均分
2取排在前三(按平均分排序)的班级和分数 -
事务隔离级别
-
可序列化用在什么场景中
-
可重复读怎么实现的,MVCC
-
最佳左前缀
-
索引失效的情况
-
模糊查询是否能用索引?like ”%A%B”能使用吗?”ABC%” ?想在模糊匹配用索引应该怎么写
-
B+树和B树的区别
-
什么时候选择Hash索引、B+树索引
-
Redis数据类型
-
Hash如何扩容,如何解决哈希冲突,底层数据结构?什么情况下采用ziplist/hashtable?
-
项目中Redis的String指定了哪种序列化方式,还是以二进制方式存入的?有启动RedisClient查看存储的数据结构吗(字符串长什么样)
-
RBAC是自己独立实现的吗
-
授权部分是怎么做的,如何判断用户拥有某权限
-
用Spring AOP了吗
-
SpringBoot依赖注入的注解,依赖注入有哪些方式
-
静态属性如何注入?@Value注解在哪?和其它几种区别是什么
-
@Resource 和 @Autowired 使用有什么区别
-
Bean的名字不是默认,能用@Autowired吗,要怎么办
TCL 鸿鹄实验室 一面
-
单点登录是怎么实现的
-
token过期是怎么做的
-
MySQL和MongoDB的区别
-
有压测吗
-
重载和重写
-
静态代理和动态代理的区别
-
Java8新特性
-
String可以被继承吗,字符串相加的底层实现,StringBuilder和StringBuffer
-
2*8怎么计算比较高效
-
HashMap什么时候出现红黑树,HashMap的下标是怎么计算的
-
线程池的参数,执行流程,线程池状态,拒绝策略,如何合理设置线程池大小
-
什么是线程安全,线程不安全
-
volatile的作用,禁止指令重排是怎么实现的
-
ThreadLocal的内存泄露问题
-
JVM运行时内存
-
GC Roots,GC算法
-
记录bin log的方式有哪几种
-
表级锁和行级锁,什么时候用行级锁,索引不命中使用行级锁吗
-
B+树
-
索引下推的作用
-
Redis持久化
-
Rabbitmq交换机类型,仲裁队列和镜像队列
-
CAP
字节跳动 飞书后端 一面
-
单点登录如何实现
-
JWT
-
OAuth2 密码模式、授权码模式
-
ConcurrentHashMap 扩容机制
-
Spring 设计模式
-
双亲委派机制
-
线程池原理
-
Redis String 如何实现
-
ZSet 数据结构,什么时候压缩表升级为跳表
-
Redis 使用什么I/O模型,select、poll、epoll 的区别,select 的数量限制是多少,是否可以修改
-
用户态和内核态,select 和 poll 的轮询操作是在哪个空间进行的
-
Redis 集群的方式,哨兵模式,cluster 在服务器扩容时如何 rehash,哈希槽如何计算
-
RabbitMQ 的 binding key 和 routing key,key 的匹配机制(如何路由到队列里)
-
交换机的模式
-
RabbitMQ 应用场景,不同交换机的应用场景
-
RabbitMQ 如何保证消息幂等
-
场景题:用户登录,连续输入密码错误超过五次禁止登录如何实现,用哪种 Redis 数据结构(最后面试官说 ZSet,key 是用户名,value 记录一系列的登录时间),如果是恶意攻击应该怎么办
-
算法题:循环依赖
快手 Java信息安全 一面
-
JVM垃圾回收器
-
MySQL了解哪些原理
-
MVCC如何实现
-
InnoDB如何解决幻读
-
InnoDB如何保证事务的原子性
-
Redis Zset
-
Redis事务,能保证原子性吗,怎么保证持久性
-
Redis持久化,AOF Rewrite怎么实现的
-
用户登录模块,Redis无法使用时的降级方案
-
操作系统作业调度有哪些算法
-
算法1:合并两个单向有序链表
-
算法2:BST转双向有序链表
补充:项目中有没有为高并发做考虑
快手 Java信息安全 二面
-
JWT
-
修改密码怎么办
-
微服务的理解
-
SpringCloud组件、功能
-
RBAC
-
算法:最长回文子串
快手 Java信息安全 三面
-
DNS和ARP协议
-
DNS的递归查询和迭代查询过程
-
DNS为什么有时用TCP,有时用UDP
-
MyISAM和InnoDB的区别
-
用过什么机器学习算法和网络?
-
项目中选用MySQL、MongoDB、Redis的原因
-
为什么采用微服务
比特大陆 软件开发实习生 一面
-
Java集合
-
多线程相关,volatile
-
线程池参数
-
JVM内存
-
JVM垃圾回收器、内存分代
-
Redis基本数据结构,Zset底层实现
-
MySQL最佳左前缀
-
快速排序原理
-
Linux常用命令
比特大陆 软件开发实习生 二面
-
单点登录
-
重新赋予权限怎么处理
-
微服务如何划分
-
SQL如何优化
-
Spring循环依赖