懂车帝一面

1.项目亮点说一说
2.mysql有哪些索引类型
3.从数据结构上来说一说,为什么mysql选择b+树索引而不用哈希索引
4.说一说sql执行顺序
5.什么时候会导致索引失效讲一讲
6.数据库事务
7.隔离级别
8.mvcc,怎么实现
9.慢sql排查,怎么分析
10.select a from b where a>5 and a<10能走索引吗
11.如果出现数据库cpu占用率高,连接数溢出,怎么排查问题并解决
12.说一说IO多路复用,select,poll,epoll
13.做题,四道题

一.单例模式,随便写一个熟悉的
二.sql,查询所有不及格学生
三.两个数组,求最长重复子数组
四.lru缓存

题还行都做出来了,许愿能过,收留我吧😭😭芙芙镇楼#面经#
全部评论
mark一下
点赞 回复 分享
发布于 05-02 21:30 湖北
mark一下
点赞 回复 分享
发布于 04-15 11:28 吉林
什么时候面的呀 怎么知道挂没挂呀
点赞 回复 分享
发布于 04-09 22:57 北京
明天面懂车帝佬是日常还是暑期啊
点赞 回复 分享
发布于 04-09 17:08 湖北
一面过了吗
点赞 回复 分享
发布于 04-09 12:04 北京
是北京还是重庆的懂车帝
点赞 回复 分享
发布于 04-09 09:43 重庆

相关推荐

1. 个人介绍2. 实习经历3. 开源经历的项目介绍和个人贡献4. 实习期间项目背景、系统架构、主要技术栈及负责的功能模块7. 常用数据库(MySQL、MongoDB、PostgreSQL等)及使用场景8. select id,name,balance from account where update_time > '2020-09-19' offset 100000 limit 10;8.1 该 SQL 语句做什么事情?8.2 在 update_time 列上加上普通索引,请从数据库引擎层面解释这条SQL的查询过程是怎样的?8.3 在 update_time 这个列对应的索引中,它的叶子节点存的是什么数据?叶子节点会存储整行的所有数据吗?8.4 基于以上过程,这条 SQL 是不是需要执行两次数据库 IO 操作?8.5 原 SQL 加上 for update 的执行语义和执行效果。9. Redis9.1 Redis 常用的数据类型有哪些?String、Set、ZSet 分别适合什么场景?9.2 Redis 的 ZSet 底层是怎么实现的?9.3 跳表的特点是什么?索引是怎么生成的?9.4 Redis 是怎么删除过期键的?9.5 实习期间项目里 Redis 存了什么数据?缓存策略怎么做的?10. Nacos 在项目中怎么用?它的配置更新和服务交互机制是怎样的?11. Kafka11.1 核心组件和概念有哪些?Producer:消息生产者;Consumer:消息消费者;Broker:Kafka 服务器节点;Topic:消息分类主题;Partition:主题的分片,保证单分区内消息有序;Replica:分区副本,保证高可用。11.2 Kafka 消费者组 Rebalance 是什么?11.3 Kafka 是否支持 Exactly Once?会不会丢数据?11.4 Kafka 分区副本是怎么同步的?11.5 Raft 和 Paxos 算法是做什么的?区别是什么?12. 从磁盘把数据加载到内存,操作系统是怎么做的?涉及哪些机制?13. 目前在实习的项目中做了什么?项目背景和流程是什么?14. 给出并解释程序运行结果14.1 程序 Apackage mainimport "fmt"func main() {b := []int{1, 2, 3, 4, 5, 6}c := b[1:3]c[1] = 999fmt.Println(c)fmt.Println(b)}14.2 程序 Bpackage mainimport "fmt"func Append(s []int) {s = append(s, 5)}func Add(s []int) {for i := range s {s[i] = s[i] + 5}}func main() {s := []int{1, 2, 3, 4}Append(s)fmt.Println(s)Add(s)fmt.Println(s)}15. 题目一(leetcode 102. 二叉树的层序遍历)16. 题目二:现在有一个 DelayQueue 结构体,你需要实现它,使它具备延时队列的功能。// DelayQueue 延时队列type DelayQueue struct {}func NewDelayQueue() *DelayQueue {return nil}// Put 将元素放入延时队列func (dq *DelayQueue) Put(value any, delay time.Duration) {}// Get 从延时队列中获取元素,如果当前没有元素,或者元素还没有到期,则阻塞func (dq *DelayQueue) Get() any {return nil}func main() {dq := NewDelayQueue()dq.Put("World", 3*time.Second)dq.Put("Hello", 1*time.Second)// prints "Hello" 1s later// prints "World" 2s laterfor i := 0; i < 2; i++ {println(dq.Get().(string))}}具体要求:1. 调用 Put(value, delay) 时,把一个元素放入队列,并指定它在 delay 时间之后才可被取出。2. 调用 Get() 时,如果当前没有可取的元素(队列为空,或最早的元素还没到时间),则需要阻塞,直到有元素可取为止。多个元素可能有不同的延迟时间,Get() 必须按到期时间的先后顺序依次返回。比如:dq.Put("World", 3*time.Second)dq.Put("Hello", 1*time.Second)运行时应在 1 秒后打印 "Hello",再过 2 秒打印 "World"。3. 要求支持多个 goroutine 并发调用 Put() 和 Get(),不能发生数据竞争。4. 希望实现效率较高,比如 Get() 查找下一个到期元素的时间复杂度尽量低(提示:可以考虑最小堆或优先队列)。你需要在现有的 DelayQueue 代码基础上补全 NewDelayQueue()、Put() 和 Get() 方法,实现上述功能。请你先讲一讲你的设计思路,然后写出代码。
查看27道真题和解析
点赞 评论 收藏
分享
1. 个人介绍2. 实习经历3. 开源经历的项目介绍和个人贡献4. 实习期间项目背景、系统架构、主要技术栈及负责的功能模块7. 常用数据库(MySQL、MongoDB、PostgreSQL等)及使用场景8. select id,name,balance from account where update_time > '2020-09-19' offset 100000 limit 10;8.1 该 SQL 语句做什么事情?8.2 在 update_time 列上加上普通索引,请从数据库引擎层面解释这条SQL的查询过程是怎样的?8.3 在 update_time 这个列对应的索引中,它的叶子节点存的是什么数据?叶子节点会存储整行的所有数据吗?8.4 基于以上过程,这条 SQL 是不是需要执行两次数据库 IO 操作?8.5 原 SQL 加上 for update 的执行语义和执行效果。9. Redis9.1 Redis 常用的数据类型有哪些?String、Set、ZSet 分别适合什么场景?9.2 Redis 的 ZSet 底层是怎么实现的?9.3 跳表的特点是什么?索引是怎么生成的?9.4 Redis 是怎么删除过期键的?9.5 实习期间项目里 Redis 存了什么数据?缓存策略怎么做的?10. Nacos 在项目中怎么用?它的配置更新和服务交互机制是怎样的?11. Kafka11.1 核心组件和概念有哪些?Producer:消息生产者;Consumer:消息消费者;Broker:Kafka 服务器节点;Topic:消息分类主题;Partition:主题的分片,保证单分区内消息有序;Replica:分区副本,保证高可用。11.2 Kafka 消费者组 Rebalance 是什么?11.3 Kafka 是否支持 Exactly Once?会不会丢数据?11.4 Kafka 分区副本是怎么同步的?11.5 Raft 和 Paxos 算法是做什么的?区别是什么?12. 从磁盘把数据加载到内存,操作系统是怎么做的?涉及哪些机制?13. 目前在实习的项目中做了什么?项目背景和流程是什么?14. 给出并解释程序运行结果14.1 程序 Apackage mainimport "fmt"func main() {b := []int{1, 2, 3, 4, 5, 6}c := b[1:3]c[1] = 999fmt.Println(c)fmt.Println(b)}14.2 程序 Bpackage mainimport "fmt"func Append(s []int) {s = append(s, 5)}func Add(s []int) {for i := range s {s[i] = s[i] + 5}}func main() {s := []int{1, 2, 3, 4}Append(s)fmt.Println(s)Add(s)fmt.Println(s)}15. 题目一(leetcode 102. 二叉树的层序遍历)16. 题目二:现在有一个 DelayQueue 结构体,你需要实现它,使它具备延时队列的功能。// DelayQueue 延时队列type DelayQueue struct {}func NewDelayQueue() *DelayQueue {return nil}// Put 将元素放入延时队列func (dq *DelayQueue) Put(value any, delay time.Duration) {}// Get 从延时队列中获取元素,如果当前没有元素,或者元素还没有到期,则阻塞func (dq *DelayQueue) Get() any {return nil}func main() {dq := NewDelayQueue()dq.Put("World", 3*time.Second)dq.Put("Hello", 1*time.Second)// prints "Hello" 1s later// prints "World" 2s laterfor i := 0; i < 2; i++ {println(dq.Get().(string))}}具体要求:1. 调用 Put(value, delay) 时,把一个元素放入队列,并指定它在 delay 时间之后才可被取出。2. 调用 Get() 时,如果当前没有可取的元素(队列为空,或最早的元素还没到时间),则需要阻塞,直到有元素可取为止。多个元素可能有不同的延迟时间,Get() 必须按到期时间的先后顺序依次返回。比如:dq.Put("World", 3*time.Second)dq.Put("Hello", 1*time.Second)运行时应在 1 秒后打印 "Hello",再过 2 秒打印 "World"。3. 要求支持多个 goroutine 并发调用 Put() 和 Get(),不能发生数据竞争。4. 希望实现效率较高,比如 Get() 查找下一个到期元素的时间复杂度尽量低(提示:可以考虑最小堆或优先队列)。你需要在现有的 DelayQueue 代码基础上补全 NewDelayQueue()、Put() 和 Get() 方法,实现上述功能。请你先讲一讲你的设计思路,然后写出代码。
查看27道真题和解析
点赞 评论 收藏
分享
评论
4
29
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务