2023.11.29(好未来)

378 阅读4分钟

智能学习工具一面

  1. 自我介绍
  2. 平时工作中用的的技术栈都有哪些
  3. golang中的context一般会用来做什么
  4. 假如有一个异常程序,一直往这个valueContext中添加不同的数据,会有什么问题吗?
  5. 当它运行一段时间以后,服务器内存会涨吗?
  6. 那如果现在设置了很多value,我现在通过Context去取这些值的时候,效率上会有什么问题吗?
  7. 如果现在有个应用运行了一段时间以后,发现内存一直在涨,你会怎么去定位?用什么工具或看什么指标?
  8. 在你的业务场景中,有曾经实践过OOM排查吗?
  9. golang里头的map,如果不初始化就赋值,会有什么问题?
  10. map是线程安全的吗?为什么?
  11. 如果我去map中删除了某个key,它的内存会释放吗?
  12. 假如说这个key对应的value是个指针类型/引用类型的,它会释放内存吗
  13. defer的执行顺序是怎么样,有什么注意事项?
  14. 如果现在初始化了一个切片,有多个协程并发地去往这个切片里头读写数据,会发生panic吗
  15. 这个代码打印结果是怎么样的?
tmp := []int{1,2,3}
for _, v range tmp{
    go func(){
        fmt.Println(v)
    }
}
  1. 那假如我现在在主协程加了一个阻塞等待,最后会打印出来什么?
  2. 一般这种情况,会怎么去解决?讲讲多种方案?
  3. 协程和通道你一般是怎么使用的?在什么场景下采用
  4. golang开发过程中,你有哪些经常采用的第三方包吗
  5. errGroup是用来干什么的
  6. 共享屏幕,写个小代码 假如说现在有1w个字符串,让你来拼接,你会怎么实现?
  7. 有一张打卡记录表,有如下几个字段,写一句SQL,统计7日内打卡次数最多的前10个人的姓名
CREATE TABLE sign (
    id bigint
    name varchar
    age int
    ctime int
)
  1. 再加一个条件,打卡次数超过100,该怎么写?
  2. 说一下MySQL里头的一条查询语句的执行过程
  3. 刚才讲到的回表是个什么概念
  4. Redis平时用得多吗?常用哪些数据结构
  5. 用Redis实现一个简易的延迟队列,该怎么做?(例如有个下单场景,3分钟都还没支付,就要把库存数据回滚,借助这个延迟队列该怎么实现?)
  6. 用Redis实现一个简单的分布式锁该怎么做?
  7. Redis如果有大key,删除的时候会有什么问题
  8. Redis如何保证多条既有写又有读命令的数据一致性呢?例如,对一个key既执行写操作,又立即执行读命令,如何保证这个数据一致性的?
  9. 假设又有读,又有删除的命令,是怎么保证不会发生数据异常的?
  10. 有用过Lua脚本吗?
  11. 对来北京工作能接受吗?期望薪资多少?

居然木有反问环节,草草结束会议...

2023.12.14 二面

  1. 自我介绍
  2. 整个监控数据的采集上报是不侵入式的设计,这个能大概讲讲怎么做的吗(监控切面)
  3. 这里头大概的数据量有多大?
  4. 前端打点上报这个链路是怎么设计的,为什么要请求到你们后端?
  5. OpenAPI网关的最大QPS有多少?
  6. 这里头有做某个接口的限流吗?大概是怎么做的?
  7. 这个是单机限流,如果我想让你做分布式的限流,该怎么做?
  8. 如果用Redis来做,应该用什么数据结构,你讲一下设计逻辑
  9. 哪个项目场景里头MySQL单表的数据量比较大一些,大概有多大?
  10. 水平分表,分了多少张,基于什么算法?
  11. 比如说我想看一个MySQL机器上有哪些慢SQL,是用什么命令?
  12. 怎么看一个慢SQL是否命中索引?
  13. 比如我建立了一个组合索引(a,b,c),现在查询条件where b = ** and c = *** , 会走索引吗?
  14. 比如我现在有个int类型的字段a,查询条件where a = '123',走不走索引?
  15. 消息队列,熟悉哪几个,或者项目中使用了哪些?
  16. 目前是在职还是离职?找工作的原因是?
  17. 对在线教育行业有了解吗?
  18. 反问