字节后端一面挂

1:拷打实习

2:ES监听binlog怎么做到的,即Canal工作原理,只知道是伪装成从节点获取binlog日志,正解如下

1)canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议

2)MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )

3)canal 解析 binary log 对象(原始为 byte 流);

3:rpc实现原理,不会,只知道咋用,正解如下:

rpc通过动态代理技术在方法执行前后对数据进行封装和解码等,让用于感觉就像是直接调用本地方法一样。

4:进程间通信方式

5:对于微博成千上万的评论,一个评论可能还会有很多回复,你会如何设计这个评论系统?后面问到如何分库,我想着根据评论时间或者地区分库,这些都被提出了缺陷。害,是不是根据评论id分库就行了,求大佬帮忙分析一下。

6:mysql有哪些锁,答得表锁、行锁、全局锁,又问行锁有哪些,答得记录锁、临键锁、间隙锁,后面问到什么时候会设置临键锁、间隙锁,不会,我太菜了 。大家感兴趣可以看看这个https://www.cnblogs.com/Terry-Wu/p/12219019.html

7:联合索引(name、age),name like c% && age = 10,索引会怎么走,理解不深,答得不好。chatgpt解释如下:

(1)范围扫描 name LIKE 'c%':数据库首先使用 name 字段的索引来查找以 'c' 开头的所有记录。这会使用索引的范围扫描,找到所有符合 name LIKE 'c%' 的记录。

(2)过滤 age = 10:对于符合 name LIKE 'c%' 的所有记录,数据库接着使用索引中的 age 字段来过滤符合 age = 10 的记录。因为联合索引已经包含 name 和 age,在扫描 name 字段的同时,age 字段的值也会被同时读取。这意味着在使用索引扫描时,可以直接过滤掉那些 age 不等于 10 的记录,从而避免全表扫描。

8:mysql有哪三个日志。这个还算会

9:六大设计原则,只记得迪米特和开闭

  • 单一职责原则(Single Responsibility Principle);
  • 开闭原则(Open Closed Principle);
  • 里氏替换原则(Liskov Substitution Principle);
  • 迪米特法则(Law of Demeter),又叫"最少知道法则";
  • 接口隔离原则(Interface Segregation Principle);
  • 依赖倒置原则(Dependence Inversion Principle)

10:Redis的String用的什么数据结构,sds的特点,怎么实现扩容的。不知道具体怎么实现扩容的,感觉这里问的有点深。

面完10分钟后挂。

全部评论
好鸡儿难
1 回复 分享
发布于 2024-08-21 17:34 广东
好难
点赞 回复 分享
发布于 2024-09-18 17:40 黑龙江
大佬这个评论表怎么设计呢,我面其他家的时候也遇到这个问题了,但是我不会可以问一下您的思路吗,非常感谢
点赞 回复 分享
发布于 2024-09-09 23:49 广西
好多八股,为什么没写题呢?我昨天写了两道算法
点赞 回复 分享
发布于 2024-08-28 09:19 香港
登哥,怎么后卫转后端了
点赞 回复 分享
发布于 2024-08-23 23:49 北京
哪个部门啊
点赞 回复 分享
发布于 2024-08-21 15:52 广东
评论感觉适合垂直分库
点赞 回复 分享
发布于 2024-08-21 12:39 北京
登哥搞这么难
点赞 回复 分享
发布于 2024-08-21 10:51 广东
感觉问得好难感觉问得好难。我也是同一天面的。问得都比较简单。但是手撕没做出来😅
点赞 回复 分享
发布于 2024-08-21 01:20 浙江
登哥转正了怎么不考公还在面
点赞 回复 分享
发布于 2024-08-21 01:19 广东
10. 如果新字符串小于1M,则新空间为扩展后字符串长度的两倍+1; 如果新字符串大于1M,则新空间为扩展后字符串长度+1M+1
点赞 回复 分享
发布于 2024-08-21 00:48 浙江
5用mongodb比较合适吧
点赞 回复 分享
发布于 2024-08-20 22:54 广东

相关推荐

03-25 14:48
已编辑
成都锦城学院 golang
笔试- 1.操作次数多时,链表什么操作比数组更优?- 2.时间片轮转算法。- 3.哈希表的原理,如何解决哈希冲突。- 4.垃圾回收和标记-清除算法。- 5.逆序对的计算,写一个函数。面试1. 自我介绍2. 什么是内存泄漏?3. 指针和引用的区别。4. C 和 C++ 的区别。5. Go 中 new 和 make 的区别。6. 一开始看我算竞拿了很多奖,问我希尔排序的原理,我说不常用有点遗忘,于是又问了快速排序的原理。7. 二分查找的原理。8. 进程线程和协程的区别。9. MySQL 索引是用什么数据结构实现的?10. 说说 B+ 树的特点。11. MySQL 乐观锁和悲观锁有什么区别?12. 锁是如何实现数据同步的?13. Go 的 Map 是有序还是无序的?14. Go 的 Map 如何实现有序访问?15. Go 的数组和切片的区别。16. MySQL 的慢查询如何优化?(这个不太清楚)17. Redis 了解多少?(就知道有这个东西,会连接)18. 缓存雪崩、击穿、穿透发生原因和解决方案?(我说看到过Redis的这个问题,但确实没了解过)19. 在算竞中是如何解决问题的,在对内担任什么样的角色?反问:1. 公司业务主要做什么?说了我Go学了一个月,经验还不够,进去的话要集中培训,然后要看分到什么项目组,一般一个项目要一两个月,还说我数据库方面也还得多熟悉。2. 面试完大概什么时候会收到通知?人事部到了时间会联系我,大概一两天。总结:    感觉后面几个问题答得太水了,前面问题有些答得比较深,有些只答了一点,第一次面试,经验有点不足,感觉有点悬。
XIaoMo247:一面过了,明天二面
查看25道真题和解析
点赞 评论 收藏
分享
评论
26
180
分享

创作者周榜

更多
牛客网
牛客企业服务