字节跳动后端或大数据基础知识面试题及参考答案(2万字长文)

目录

Redis的数据类型

Redis数据类型的底层数据结构

三次握手、四次挥手

Redis持久化机制

购物车为什么用Redis存,是永久存储吗

MySQL的InnoDB索引数据结构

哪些SQL的关键字会让索引失效

队列、栈、数组、链表有什么不同

讲讲爬虫的构成

爬虫抓到的数据不清洗吗?不去重吗?

对爬虫的更多了解

Linux进程间通信机制

进程和线程的区别

线程私有的数据

讲一下堆排序,每次调整的时间复杂度?堆排序是稳定的吗?

哈希表的原理,怎么减小哈希表的冲突,怎么保证哈希表的并行读写?

Kafka用过吗?说说Kafka的原理?怎么保证Kafka的高可用?Kafka怎么保证消息有序?

项目里的set实现点赞,zset实现关注,为什么?

zset底层实现?说一下跳表?节点的高度是多少?怎么决定节点的高度?

https了解吗?

中间人攻击知道吗?怎么做https的抓包?https怎么篡改?

讲讲虚拟地址到物理地址的映射过程?

项目里怎么用ES的,ES怎么支持搜索的?

快排了解吗?介绍一下快排?时间复杂度是多少?为什么会退化成O(n^2)?单链表可以做快排吗?快排最核心的逻辑是什么?写一下单链表快排

线程和进程的区别

Java1.8了解哪些新特性?重点讲讲HashMap和CurrentHashMap。

OSI七层协议和TCP/IP五层协议有什么区别?TCP/UDP在哪一层?对TCP了解多少?

hashmap的底层原理?

红黑树和二叉搜索树,二叉树之间的区别?

为什么HashMap不直接用红黑树?

B+树索引具体是怎么实现的?

B树与B+树的区别?

Arrays.sort底层的排序算法(有三种策略)?

堆排序基本思路?

java锁,关键字区别

公平锁、非公平锁解释一下

为什么静态类中不能使用非静态类(从类加载过程回答)?

java类加载过程

加载阶段中,为什么要有自定义的类加载器?

双亲委派原则的机制

HashMap数据结构

MySQL可以不指定主键建表吗,背后的逻辑是什么

MySQL聚簇索引和其他索引有什么区别

MySQL建唯一索引,插入数据时是怎么处理的?

MySQL重复插入会报错,是怎么处理的?

MySQL不同事物隔离级别的实现

集群环境下,Redis内存里的数据怎么保证一致

Redis怎样清除过期key,有哪些策略

LRU是怎样的过程?

Redis字典底层怎么实现的?

Hashtable是怎样实现的

Ziplist怎样实现的

普通的哈希表怎样实现的


Redis的数据类型

Redis是一个高性能的键值存储数据库,它支持多种数据类型,主要包括:

  1. String(字符串):最基础的数据类型,二进制安全的,可以存储字符串、整数、浮点数等。
  2. List(列表):一个字符串列表,可以进行添加、删除、索引等操作,是简单的列表或队列。
  3. Set(集合):无序集合,可以进行添加、删除、取交集、并集、差集等操作。
  4. Sorted Set(有序集合):与Set类似,但是为每个元素关联了一个分数࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大模型大数据攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值