一面
- 自我介绍
- 围绕项目问一些问题
- 第一个团队任职期间从一个下单入口扩充到3大入口,肯定是有一些数据结构的改造或其它兼容性的处理的,能否展开讲讲这其中你自己做了哪些事?
- 再聊聊最近团队做的这个项目吧,可以就里头的低代码的设计展开讲讲?
- 你刚提到的分页,这么多外部数据是怎么去分的?
- 所以这里头基本的数据会先从一个实体里头获取出来,然后再去其它的实体中找关联数据吗?
- 只能根据一个order_id去查吗,假设我现在想要的是今天内产生的一些order数据?
- 但是我现在不知道有多少order_id,我只是想知道今天产生了多少订单
- 条件搜索功能,我理解就是查询过滤,如果是涉及第三方的数据,这个功能是在你这层实现的还是外部API?
- 代码题:本地IDE手撕+单测
给定两个 非空链表 l1和 l2 来代表两个非负整数。
数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相减的绝对值返回一个新的链表。
可以假设除了数字 0 之外,这两个数字都不会以零开头。
输入:l1 = [7,2,4,3], l2 = [5,6,4]
输出:[6,6,7,9]
输入:l1 = [2,4,3], l2 = [5,6,4]
输出:[3,2,1]
- 平时对MySQL和Redis接触得多吗
- Redis熟悉哪些数据结构?
- 说一下MySQL的数据插入流程,插入一条数据底层经历了什么过程?从发送insert命令开始讲
- golang的defer执行流程是怎样的
- 有了解过哪些场景的报错是没法捕获住?为什么?
- 反问
2025.3.10 二面
- 回顾一面,你觉得自己有什么回答得好或者不好的地方吗?
- 为什么golang里头并发读写map不是抛可以捕获的panic,而是直接fatal error呢?
- 切片的并发读写会怎么样?
- 那最终具体的表现会是怎样,会panic吗?为什么呢?
- 如果是你来设计这个slice,你会报错panic,还是其它error,还是就不管呢?
- 遇到线上的死锁问题,一般怎么去排查?
- 如果锁比较多,也有嵌套的情况,例如先加锁A,再加锁B,再加锁C,就比较容易出现问题,该怎么优化解决?
- 22年获得的奖项,是做了什么贡献,可以介绍一下吗?
- 那22年之后怎么就没有再获奖了?
- 这次会什么看广东以外的机会?
- 代码题:
// Do executes and returns the results of the given function, making
// sure that only one execution is in-flight for a given key at a
// time. If a duplicate comes in, the duplicate caller waits for the
// original to complete and receives the same results.
// The return value shared indicates whether v was given to multiple callers.
func (g *Group) Do(key string, fn func() (interface{}, error)) (v interface{}, err error, shared bool) {
// 实现该函数
}
- 反问