腾讯后台开发二面

比第一次友好很多,大概一个半小时。
主要偏向于项目介绍,然后项目的一些细节问题,终于没有全篇问企业场景题了,回归八股舒适区(然而也问到了我不会的八股)

算法:
1. leetcode146 LRU缓存变种
在lru的基础上加了一个阈值k,只有访问次数到达k的才进入最近最少使用的淘汰范围,和原题感觉差别不大
2.leetcode56 合并区间
也不难,但是在合并之前得先排序,面试官说可以用内置sort方法,但是我不记得那个comparator怎么重写了,寄

八股:
1. 为什么使用rabbit mq和rocket mq?不用kafka? 你说kafka会丢数据,知道什么情况下会丢吗?
2. 微服务相比单体服务有什么优势?
3. 微服务可能会有什么劣势?
4. 分布式事务的二阶段提交和三阶段提交
5. MySQL和hive,redis的区别与使用场景
6. Es的倒排索引
7. 从hive到mq同步数据,为什么中间要用mq,不能直接同步?
8. MySQL是怎么使用binglog的?用于数据同步? 那全量同步和增量同步是什么区别?(寄,给自己挖坑,全量同步是我主动提的然后又不知道)
9. MySQL的事物特性以及实现原理
10. redolog和undolog是干什么的?事务的每个隔离级别是靠什么实现的?
(回答了redolog undolog  mvcc 间隙锁)
11. 知道MVCC是怎么用的吗?
12. 知道MySQL的底层结构吗?(感觉这个不好回答就主动引到索引了,知道索引的结构)
13.为什么用b+树?不用b树和红黑树?
14. 会用哈希当索引吗?
15. 知道覆盖索引吗?
16.覆盖索引有什么好处?
17. 描述一下red is的哨兵模式,你知道redis集群吗?
18. 你说spring boot用的多,如果spring boot如果要加载一个外部库,它是怎么加载的?可以直接加载吗?(扯了一下类加载器,但是我实在不记得。。寄)
19. 看你用的语言很多,你感觉java,python,c++,PHP有什么区别?
20. 项目中遇到最有挑战的事情是什么?项目中有哪些让您印象深刻的记忆

唉。。。教训是不要啥玩意儿都往简历上写,不然问了你说你只用过不了解原理,会有点尴尬
全部评论
佬是硕士吗,怎么嘎嘎约面啊
点赞 回复 分享
发布于 昨天 20:45 四川
佬 什么bg呀
点赞 回复 分享
发布于 昨天 20:41 河南

相关推荐

昨天 13:58
已编辑
小红书_后端开发
压力有点大,三四个面试官交叉面在公司的持久化方法中,你了解AOF和ROF这些原理吗?你对MySQL的原理了解吗?比如回表是什么意思?对于TCP协议中的黏包和滑动窗口机制,你有何了解?你是否写过基于TCP的示例程序,对TCP内部机制了解多少?操作系统层面的内存管理中,虚拟地址和物理地址有何区别?是否使用过top命令查看内存占用情况,能否区分虚拟地址和物理地址?你是否有编写多线程程序的经验,能否解释一下什么是死锁以及如何避免?读写锁的特点是什么?对于分布式原理,尤其是强同步、常同步和异步同步,你了解过吗?是否了解过分布式一致性协议?在分布式系统中,如何保证全局一致性或通过分布式锁实现原子性操作?两阶段提交协议是什么?ai agent的工作原理是什么?与大模型通信的部分是由你写的吗?对于大语言模型内部的系统提示词和助手提示词有何了解?大模型的历史记录是如何实现的?在小红书的应用中,对大模型进行提示词压缩以降低token消耗的情况是如何处理的?在数据库服务平台的建设中,你遇到过哪些难以解决的问题,又是如何解决的?你如何看待数据库服务平台与你在小红书做的xxAI工作台这两个项目的不同之处?对于未来个人发展规划,你有什么想法?在工作中,对数据库的依赖程度如何?是否在个人环境尝试部署过MySQL或Redis等数据库?问实习,然后从实习接入又开始问八股了:在第一份工作或实习经历中,如何优化数据库查询性能?是否经历过根据自然语言生成查询语句的数据库查询服务开发?你这边是如何实现对接多个数据库的查询服务的?RAG中的向量库使用了什么技术?搜索服务是如何实现的?你对数据库操作熟悉到什么程度?能否举例说明MySQL重命名操作的指令?是否了解数据库同步技术,比如数据同步或数据库集群同步?对于Mongo、Redis等数据库的哨兵模式和分片集群架构是否了解?是否了解Raft协议及其在数据库中的应用?反问:IEG平台上的角色有哪些?答:在IEG平台上,平台上有平台开发的角色,大部分以DBA为主,但也包含开发角色,由专门的Java开发人员配合DBA进行一些监控和其他平台相关工作。平台上的DBA通常自行编写与底层操作相关的代码,而非前端或其他部门来完成,因为这些操作需要专业能力。整个数据库平台是如何构建的?答:整个数据库平台有分层结构,产品经理负责原型设计,产品设计师设计完成后交由前端开发人员实现。同时,数据库相关的存储、内核开发以及平台开发等也是重要组成部分,要求团队成员具备较强多面能力。面试官问:目前是否有offer,以及对中间件部分的理解?目前有一些在上海的offer。在中间件部分,各个团队都有组件开发人员负责数据库内核定制等工作,例如数据库proxy的开发。
点赞 评论 收藏
分享
评论
1
10
分享

创作者周榜

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