腾讯qq一面 先深挖拷打,再急急急急

二月底那会tx约面过我一次,结果我当时第一次被约面没经验,当时上着课,就想着先挂了等会打回去,结果发现是虚拟号打不回去一天后喜提流程结束

字节oc了之后又收到了约面电话,不过我意向部门是cdg,约面的是pcg。想到之前还没面过tx,于是就接了尝尝鲜,所以就有了今天的面试

一上来面试官迟到了十分钟

1. 自我介绍
2. redis存商品库存用的什么数据结构?
3. 怎么保证原子性?
4. redis如何配置?集群还是主从?(从这里就是拷打的开始)
5. 如果你主节点完成操作了,从节点还没同步,主节点就挂了怎么办?
6. 看我回答的不好,于是问我主从同步的方式的底层原理。我说了全量同步、增量同步,面试官说我没答到点上
7. 又问我知道kafka生产者将消息发送给broker的三种方式吗?汗流浃背了,说了生产者发送→broker刷盘→返回ack→生产者收到ack的过程,面试官说这是其中的一种

8. 面试官说,你不了解主从同步的原理,所以你实现不了高可用。又问我如果broker返回ack后挂了,副本还没同步就变成主节点导致的消息丢失怎么办(其实和5差不多)。我说我猜一下,于是类比了mysql的同步机制,说让副本读主节点的日志。被面试官否了,说主节点挂了是没法读它的日志的。见我不懂,就给我讲了几种同步策略,比如选出和broker的offset最接近的几个副本作为候选集,将候选集同步完成后才会真正视为刷盘成功并返回ack;比较严格的模式就是强制同步所有副本。具体还要根据业务来选

9. 面试官看我用了雪花算法,于是问时钟回拨怎么解决。我说可以参考美团leaf,引入zk,生成前比较当前时间和此前最后生成id的时间。面试官反问我你引入这么重的一个东西合适么?你这样做损坏了它本身的高性能的优势。我说那可以使用号段模式。预先生成一批id存起来,使用的时候去取,也被面试官否了,说这样做也不是一个好的策略。

10. 然后面试官看了看表,说自己三点还有一场面试,后面得加快速度。于是就开始迅速问一些八股,要求必须快速答出关键部分赶紧下一题:
11. 进程和线程的区别
12. 线程有自己的堆栈吗
13. 线程通信的方式
14. 乐观锁了解吗
15. 线程池由哪些部分组成
16. 你自己使用的哪种拒绝策略?
17. 核心线程数怎么设置?理由是什么
18. 大量出现time_wait有哪些可能的原因?答了一些,面试官不断问还有吗还有吗,最后说想不出来了
19. 一个很大的表查询很慢怎么优化?把分库分表、sql语句优化、索引、innodb调优等角度都说了一遍,面试官继续追问还有吗,我说检查脏页是否过多,继续问还有吗,我说想不到别的了
20. 分库分表的底层原理了解吗?我说沙丁jdbc,或者用中间件,面试官不想听,只想听底层原理。回答不太熟悉

手撕:
此时距离三点还有不到10分钟。一开始出了道二维矩阵中第k个最大值,矩阵中的元素符合按行递增和按列递增。面试官问我觉得这题难度怎么样,我说你想要n方logk的算法我现在就能写,但是要n方的话我得想一想。面试官等不及,于是换成了一维数组。直接优先队列三分钟秒了

反问:
我需要加强哪些方面(了解底层原理并实际运用的能力)

总结:感觉大概率会挂,被挖的很痛但是一些问题面试官主动给出了讲解,冲这点其实也不亏了。可惜由于对方时间紧迫,有些我不懂的点没有来得及讲了,尤其是雪花算法的最佳实践那里,成了永远的遗憾

-------------
更新:一天后流程结束
#互联网回暖,腾讯要招5000人!# #软件开发笔面经# #牛客创作赏金赛#
全部评论
迟到10分钟是因为上一个也是拖堂了吧
7 回复 分享
发布于 03-17 19:18 北京
qq包kpi的面试,莫难过
3 回复 分享
发布于 03-23 20:28 湖北
很有价值的面试,这样问基本能筛选出有技术的人
1 回复 分享
发布于 04-22 11:42 湖北
kafka生产者将消息发送给broker的三种方式?这个指的是 acks 吗 acks = 0 , 无需确认 acks = 1, 需要 leader partition 进行确认 acks = all/-1 需要所有 isr 进行确认
1 回复 分享
发布于 03-18 17:22 江苏
可恶的面试官
1 回复 分享
发布于 03-17 20:09 江苏
从节点还没同步,主节点就挂了怎么办?这里感觉挂了就挂了, 肯定是要丢失一部分数据的, 并不是说时刻一致, 那样的话太严格会导致效率很低, 感觉可以结合base理论里边的ba说一下
1 回复 分享
发布于 03-17 19:15 上海
主从主节点挂了怎么办,主从集群本来就不是CP模型,保保持不了强一致性
1 回复 分享
发布于 03-17 18:35 湖北
优先队列可以直接用Java的priorityqueue吗
1 回复 分享
发布于 03-17 18:01 北京
佬,你的雪花算法时钟回拨怎么答的啊,不用zk的话用什么呢,逻辑时间戳吗
点赞 回复 分享
发布于 03-27 19:19 湖北
南大佬也一面挂腾讯QQ了,释然了,看来真是人才云集啊
点赞 回复 分享
发布于 03-20 23:14 吉林
看着好难啊 下周一汗流浃背了
点赞 回复 分享
发布于 03-20 00:21 湖北
9怎么回答 要我讲也肯定是讲这两个啊,难道把zookeeper换成其他的?
点赞 回复 分享
发布于 03-19 18:19 上海
怎么问这么难
点赞 回复 分享
发布于 03-19 18:08 北京
🐗神,你字节还没入职吗
点赞 回复 分享
发布于 03-19 16:43 北京
面试官迟到真不专业
点赞 回复 分享
发布于 03-19 15:46 天津
接好运
点赞 回复 分享
发布于 03-19 14:24 江苏
面试官迟到真不专业
点赞 回复 分享
发布于 03-19 12:23 北京
一维数组找第k大最佳方法是用快速选择吧,O(n)
点赞 回复 分享
发布于 03-19 04:09 美国
redis 这些面试题有点让我摸不着头脑了这个主从同步底层原理?,第一次同步,从节点连上主节点需要通过 RDB快照进行全量同步,后续通过写命令异步传输增量同步,还有啥关键点吗
点赞 回复 分享
发布于 03-18 17:36 江苏
耐面王
点赞 回复 分享
发布于 03-18 14:55 山东

相关推荐

04-01 16:13
已编辑
华中科技大学 golang
#后端开发#  #暑期实习#  #后端开发#  #美团# 【听说三天没消息自动回人才库,其实已经绝望了,感恩团爹高抬贵手,不面了,当团孝子了】早知道, 还是java(bg双九无实习玩具项目  golang)一面1. 浏览器输入网址到呈现页面过程?  1. Dhcp dns http tcp ip arp 浏览器渲染【经典起手式】2. 你提到tcp协议,讲讲连接过程,具体讲讲序列号确认号关系?  1. 三次握手  2. 确认号 = 收到的对方序列号 + 1【感觉当时没讲清楚他又追问了一下】3. tcp报文结构,具体讲讲包含哪些字段及作用?  1. 说了源端口、目的端口、序列号、确认号、窗口大小、状态位、首部大小、紧急指针、选项,漏了校验和【还好面试前刚整理过】4. 你提到报文长度,这个有上限吗?  1. 有的兄弟,有的。mtu mss,具体大小忘了。【我真不记得数啊 1500好像】5. 传输层除了tcp还有别的吗?  1. UDP 然后说了说区别:数据包、无连接、不可靠,以及适用场景6. 操作系统学过吧,讲讲死锁是什么?如何避免?  1. 说了说什么循环等待不可剥夺,记不太清楚具体词了,干脆举了个例子说明了一下;  2. 破坏三个条件【汗流浃背 忘了这块了】7. 银行家算法有了解过么?具体说下思想?  1. 了解过,避免死锁的,具体忘了【两年前我肯定记得】8. 没关系,那说下cpu中断执行过程?  1. 硬中断保存上下文,然后软中断;  2. 软中断去中断向量表查处理程序入口,执行完恢复现场返回;9. 刚才提到用户态、内核态,解释一下?  1. 权限控制机制,用户空间,内核空间讲了讲【这也没背 全靠老本 感恩攻防实践TnT 】10. 看你项目用到了数据库,mysql、Redis和mongoDB?  1. 前两者用的多【mongoDB语法是真难写,千万别问我】11. 讲讲mysql和redis区别?  1. 原理上关系/非关系,结构固定/灵活;  2. mysql在磁盘中负责持久化;redis在内存中负责缓存,更快;12. 如何定义关系型/非关系型?  1. 关系型行和列,非关系型更灵活,不固定,如redis是Kv对;【浅薄认知 自信说出】13. 关系型数据库的相关规范?  1. 1nf,2nf,3nf,bcnf...【罗列了一下】14. redis为什么快?  1. 内存中;  2. 单线程多路复用;  3. 数据结构优秀,举了sds和跳表例子;15. 跳表上层下层节点数1/2的关系是固定的吗?  1. 不是,添加操作是概率性的,而且这个概率也可以调;16. 讲讲查询过程?  1. 小就向右大就向下17. 跳表节点存的是值还是范围?  1. 值18. redis持久化存储?  1. Aof rdb aof+rdb【背诵小林ing】19. aof缺点?  1. 写入恢复都慢、占内存大20. mongodb是关系型还是?为啥用?  1. 非关系;  2. 用mysql存大文档不理想,并且以后想在文章中扩展更多的内容,了解到mongodb比较合适;21. 能扩展什么类型?  1. 啥都可以,流媒体、评论嵌套都支持;22. 数据库文章会更新吗?不一致性怎么处理?  1. 延迟双删23. 能彻底避免吗?  1. 不能吧,可以考虑优化成分布式锁24. 延迟双删,第二次删除失败了,怎么处理?  1. 项目里这个是异步的,因为感觉影响不大所以没考虑处理错误;  2. 如果要考虑的话,可以引入一个补偿机制,异步删除失败的话可以发一条消息到消息队列,我们收到后去回滚一下msql【即兴发挥 知识盲区了感觉】25. 你这个回滚是mysql原生支持的,他怎么实现的,自己实现怎么办?  1. mvcc,我们也可以仿照mvcc加入版本号字段进行管理;26. kafka使用场景?  1. 异步 削峰 解藕 日志聚合 通信  2. 项目里主要是用于异步点赞数的更新,避免阻塞正常的阅读过程27. 了解kafka之外的消息队列吗?  1. 不太了解【流汗了】28. 为什么选择kafka?  1. 看博客说适合处理数据量大29. 多大?  1. 百万级【流的汗更多了】30. 从底层实现上说说不同消息队列的差异?  1. 有差异但我不清楚,讲了讲kafka的底层【我真不认识别的 呜呜】31. 重复消费问题怎么解决?  1. 幂等生产者,前端限制,加入业务相关的唯一id,加入请求id【想到啥说啥】32. 有实习过吗?  1. 没有,做过一点点开源33. 日常学习途径?  1. 博客、ai、书、前辈【去年双十二的书终于派上用场了,一本本展示】34. 用ai干啥?  1. 科研 学习 写前端35. 写题leetcode143. 重排链表36. 反问业务:交易结算方面37. 反问java怎么学【go选手落泪】---二面1. 自我介绍2. 意向城市3. 转语言吗?  1. 转,早知道还是java4. 实习过吗?  1. 没有【哭了,每次最痛的问题】5. 老师放实习吗?  1. 放的兄弟,放的6. 聊项目7. 是合作的吗?小组分工?8. 技术选型分歧怎么解决?9. 在团队中扮演什么角色?10. 讲讲项目难点,怎么解决的?11. 长短token讲讲,为啥更安全?12. 如何说服合作者重构代码?13. 项目里涉及跨库事务一致性如何处理?14. 项目里redis适用场景,和mysql一致性怎么保证?15. 项目里写了ddd,讲讲  1. 忘记删了,硬着头皮讲,最后免责声明这东西千人千面,也见不得好16. ddd不足?17. 反思你项目架构,哪些可以优化?18. 负载均衡用了啥?不同方法的优缺点?19. 怎么量化你项目的性能提升?20. 你项目的可用性如何进一步提升?21. 如何用ai改造你的项目?22. Mysql update执行过程?23. mvcc设计思路有什么好处?24. java了解吗?  1. 我说只知道语法->讲讲jvm【我直接汗流浃背了】25. 写代码去制造堆的耗尽和溢出  1. 不断Malloc小空间  2. malloc然后越界访问26. url跳转27. 一个页面跳转慢,交给你去处理,你会怎么处理这个问题?  1. 排查确认环节,然后每个环节给出解决措施28. 写题【leetcode129 求根节点到叶节点数字之和】
nihao111:忍耐王
点赞 评论 收藏
分享
评论
41
152
分享

创作者周榜

更多
牛客网
牛客企业服务