2024.1.3(美团)
基础研发平台一面
- 上来面试官先简单介绍了下他们组负责的模块和大概的工作内容,问我对这个方向是否有所了解
- 聊聊项目,从最近的开始,讲讲这个促销活动预算池
- 你在这里头遇到的最大难点是什么,或者最有挑战性的点
- Log trace handler这块是做了一个链路追踪的功能是吧?按你现在的做法,要拿到这个trace id,所有的函数都必须传递context参数,那当逻辑调用链路的处理层级比较大时,每一层级都要往下传递吗?
- 假设,你这个服务从上游接收到一个请求,这个请求会再由多个服务共同完成某个功能再汇总,其中有一些老项目可能没有按这个函数签名的规范,入参没有ctx,然后又需要在里头拿到trace id,你有其它的思路吗?
- 你这里涉及金额的计算,并发修改的场景下,你目前是怎么设计的方案?
- select多个channel的方式,你用过吗?
- 了解select底层机制/原理是怎么实现的吗?
- 面试官在屏幕写了一段代码,大概是,有一个函数,入参有一个[]int,进来后逻辑会对该slice进行元素的增加/删除等操作,返回操作完的结果,目前参数传进来的和最后返回出去的数据,你觉得它们之间有什么关系,大概结构之间会有哪些联系,或者你对入参/出参的内存和指针相关有什么理解,都可以展开讲讲?
- 刚才你讲的项目里头,批量功能公共组件是如何去反射的?
- 假设有个程序,偶发GC的问题,大概持续10s,对这种情况你有什么排查的思路吗(反问他是否指STW的时间,比如某个服务大量的申请内存,发生了内存逃逸,就有可能发现,但还没有导致OOM,但是GC时间会比较长)
- sync.pool你用过吗
- 讲一下HTTPS四次握手
- 重点展开讲讲加密通信的流程,从请求开始触发,密钥怎么传递的,不要只停留在一些关键字
- 讲讲TCP拥塞控制
- 代码题:重排链表,leetcode.cn/problems/re… ,但要求空间复杂度O(1),时间复杂度O(n)
- 反问