【听说三天没消息自动回人才库,其实已经绝望了,感恩团爹高抬贵手,不面了,当团孝子了】早知道, 还是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 求根节点到叶节点数字之和】