感觉面完人都通透了,还是太菜了,下去沉淀一下1、实习拷打2、项目拷打:介绍一个你简历上做的你认为擅长的项目。(1)你的关注、粉丝表结构都是怎么设计的,都有哪些字段?(2)你做了笔记搜索功能吗?(还没做)(3)如果让你做笔记搜索,你会考虑哪些因素?(4)你刚刚说到like,MySQL里面的%like%有什么问题?如何解决?(5)你刚刚说到RAG,那么基于向量的检索对比你说的关键字检索的优点在哪里?我们知道这种图文社交平台的笔记数是很多的,直接把所有笔记embedding成向量合适吗?(6)了解Elastic Search吗?(7)假如我关注一个用户,这里面发生了哪些事情?(8)为什么要用MQ来异步发送?这里会不会出现一致性问题?(9)详细描述加载一条图文笔记的过程。如何设计算法判断一条笔记为爆火笔记?对于加载一条笔记,你做了哪些优化?(使用了CompletableFuture异步加载)(10)除了用户表和笔记表,还设计了哪些表?(11)除去这些之外,你的项目还有哪些亮点?3、八股文:(1)介绍MySQL索引结构。为什么用B+ tree而不用平衡二叉树?(2)InnoDB引擎的默认隔离级别,能否解决幻读?(3)介绍下MVCC创建快照的流程。(4)redo log和bin log是如何共同工作保证一致性的?(两阶段提交,没背到)(5)说一下HTTPS和HTTP的区别。(6)TCP保障会话可靠性的手段是什么?(7)TCP的流量控制和拥塞控制手段是什么?(没背到)(8)进程、线程和协程的区别。(9)用户态和内核态的区别?(没背到)(10)对于一个CPU爆满的系统,你知道在linux环境下用什么指令来排查问题吗?(11)因为我们平时开发环境用的都是linux,讲讲你用的多的linux语句。(12)讲解一下RocketMQ发送/消费一条消息的底层实现。(13)说下Redis的ZSet结构。使用跳表查询一条消息的时间复杂度是多少(没推出来,但是我现在写了个跳表)4、手撕:小于n的最大数