快手校招后端二面

1.面试官上来先介绍业务:内部效率部门,主要为公司内部开发效率软件。
2.微软实习埋点怎么实现的?异步如果出错了该怎么办?如果网络不好,埋点上报不上去该怎么办?
3.阿里云实习MQ怎么用的?解耦 +削峰
4.RocketMQ事务消息内部怎么实现的?两阶段提交:半消息->全消息。
5.RocketMQ内部存储和 Kafka 区别。Segment和 CommitLog。为什么要这样设计?
6.事务消息在 RocketMQ里面是怎么存储的?半消息只写到commitLog,不写到Queue里。为什么这样设计?
7.有10个topic,9个普通消息,1个事务消息,他们应该都是写在一个CommitLog里对吧,然后在写进Queue的时候,如果遇到了还没 commit的事务消息是怎么做?等肯定不可能,那后面还需要回查这个消息吗?如果后面有遇到另一个已commit的事务消息该怎么办?回答的不好hhh,应该是commit的时候直接写进 Queue里。
8.Kafka如何顺序消费?写到一个partition里面。都写到一个partition里面就保证顺序消费了吗?说了消费者需要单线程。
9.redis热key问题。只答了读写分离加分片和改 key放到不同分片上。其实还有复制几份key这个方法。
10.mysql深分页问题
11.算法:不用hashmap,set的两数之和。参照三数之和做法。
12.反问环节
全部评论

相关推荐

Git的工作流程通常包括以下几个步骤:https://www.nowcoder.com/issue/tutorial?zhuanlanId=Mg58Em&uuid=f818c6d22c98401682f8662612b9e57f克隆(Clone):首先,通过克隆一个远程仓库到本地,创建一个本地仓库的副本。这样可以在本地进行开发和修改。添加和修改(Add and Modify):在本地仓库中进行代码的添加和修改。开发者可以通过添加新文件、修改现有文件或删除文件来进行开发工作。暂存(Stage):将修改的文件添加到暂存区(也称为索引),准备提交到版本库。暂存区相当于一个缓冲区,用于存放即将提交的修改。提交(Commit):将暂存区的修改提交到版本库。每次提交都会生成一个唯一的提交记录,包含了修改的详细信息,如作者、时间戳和提交消息。推送(Push):将本地的提交推送到远程仓库,与团队成员共享代码。推送操作将本地的提交同步到远程仓库,使得其他人可以看到和使用这些修改。拉取(Pull):从远程仓库拉取最新的代码更新到本地仓库。当其他人推送了新的修改到远程仓库时,开发者可以通过拉取操作获取这些更新。合并(Merge):将不同分支的修改合并到一起。当开发者在不同的分支上进行并行开发时,可以使用合并操作将分支的修改合并到主分支或其他分支上。冲突解决(Conflict Resolution):当多个分支对同一文件进行了不同的修改时,可能会发生冲突。开发者需要手动解决这些冲突,选择保留哪些修改或进行修改的合并。这些步骤构成了Git的基本工作流程。通过这个工作流程,开发者可以有效地管理代码的版本、协作开发和跟踪修改历史。
前端求职圈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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