返回首页
2025年11月26日·7 阅读·0 评论

面试知识点随记

字节一面(广州Tiktok后端)

CAP一致性原则

一致性:强一致性/最终一致性。

强一致性要求任何时候所有节点看到的数据都是完全相同的;最终一致性相对比较宽松,它允许系统在短时间内存在数据不一致的情况,但保证经过一段时间后,所有节点的数据最终会达到一致的状态。

实现一致性的例子:2PC/3PC协议(通过保证事务的原子性)。

可用性是指系统在正常响应时间内返回合理的响应,即使部分节点出现故障,系统仍然可以继续提供服务。

分区容错性是指当网络分区故障发生时,系统仍然能够继续运行。

CAP不可兼得

分区容错性(P)必须要满足,在CA之间做取舍。

从汇编代码的角度理解局部变量存储在程序的栈空间

rbp基址指针,rsp栈指针

函数被调用时:

保存调用者的基址指针在函数的栈空间:pushq %rbp

将基址指针更新为当前函数的位置,也就是当前的栈指针 movq %rsp, rbp

将传进来的函数参数作为局部变量保存在栈空间(参数可能存储在%edi,%esi)

movl %edi, -4(%rbp) # 将第一个参数a保存到栈帧

movl %esi, -8(%rbp) # 将第二个参数b保存到栈帧

函数运算时将栈空间内的局部变量加载到寄存器完成运算,结果存储在寄存器,可能赋给某个在栈空间的局部变量。

函数返回时,清理栈帧,将基址指针恢复为调用者的基址指针,将返回结果存储在寄存器如eax

popq %rbp # 恢复旧的基址指针

ret

消息队列

解耦、异步、削峰

字节二面(广州Tiktok后端)

  • Lua热更新机制

待补充

PS: 问的计网/操作系统/C++八股居多。

相关文章

评论

登录后即可参与评论。去登录
暂时还没有评论,欢迎留下第一条想法。