智能学习工具一面
- 自我介绍
- 平时工作中用的的技术栈都有哪些
- golang中的context一般会用来做什么
- 假如有一个异常程序,一直往这个valueContext中添加不同的数据,会有什么问题吗?
- 当它运行一段时间以后,服务器内存会涨吗?
- 那如果现在设置了很多value,我现在通过Context去取这些值的时候,效率上会有什么问题吗?
- 如果现在有个应用运行了一段时间以后,发现内存一直在涨,你会怎么去定位?用什么工具或看什么指标?
- 在你的业务场景中,有曾经实践过OOM排查吗?
- golang里头的map,如果不初始化就赋值,会有什么问题?
- map是线程安全的吗?为什么?
- 如果我去map中删除了某个key,它的内存会释放吗?
- 假如说这个key对应的value是个指针类型/引用类型的,它会释放内存吗
- defer的执行顺序是怎么样,有什么注意事项?
- 如果现在初始化了一个切片,有多个协程并发地去往这个切片里头读写数据,会发生panic吗
- 这个代码打印结果是怎么样的?
tmp := []int{1,2,3}
for _, v range tmp{
go func(){
fmt.Println(v)
}
}
- 那假如我现在在主协程加了一个阻塞等待,最后会打印出来什么?
- 一般这种情况,会怎么去解决?讲讲多种方案?
- 协程和通道你一般是怎么使用的?在什么场景下采用
- golang开发过程中,你有哪些经常采用的第三方包吗
- errGroup是用来干什么的
- 共享屏幕,写个小代码
假如说现在有1w个字符串,让你来拼接,你会怎么实现? - 有一张打卡记录表,有如下几个字段,写一句SQL,统计7日内打卡次数最多的前10个人的姓名
CREATE TABLE sign (
id bigint
name varchar
age int
ctime int
)
- 再加一个条件,打卡次数超过100,该怎么写?
- 说一下MySQL里头的一条查询语句的执行过程
- 刚才讲到的回表是个什么概念
- Redis平时用得多吗?常用哪些数据结构
- 用Redis实现一个简易的延迟队列,该怎么做?(例如有个下单场景,3分钟都还没支付,就要把库存数据回滚,借助这个延迟队列该怎么实现?)
- 用Redis实现一个简单的分布式锁该怎么做?
- Redis如果有大key,删除的时候会有什么问题
- Redis如何保证多条既有写又有读命令的数据一致性呢?例如,对一个key既执行写操作,又立即执行读命令,如何保证这个数据一致性的?
- 假设又有读,又有删除的命令,是怎么保证不会发生数据异常的?
- 有用过Lua脚本吗?
- 对来北京工作能接受吗?期望薪资多少?
居然木有反问环节,草草结束会议...
2023.12.14 二面
- 自我介绍
- 整个监控数据的采集上报是不侵入式的设计,这个能大概讲讲怎么做的吗(监控切面)
- 这里头大概的数据量有多大?
- 前端打点上报这个链路是怎么设计的,为什么要请求到你们后端?
- OpenAPI网关的最大QPS有多少?
- 这里头有做某个接口的限流吗?大概是怎么做的?
- 这个是单机限流,如果我想让你做分布式的限流,该怎么做?
- 如果用Redis来做,应该用什么数据结构,你讲一下设计逻辑
- 哪个项目场景里头MySQL单表的数据量比较大一些,大概有多大?
- 水平分表,分了多少张,基于什么算法?
- 比如说我想看一个MySQL机器上有哪些慢SQL,是用什么命令?
- 怎么看一个慢SQL是否命中索引?
- 比如我建立了一个组合索引(a,b,c),现在查询条件where b = ** and c = *** , 会走索引吗?
- 比如我现在有个int类型的字段a,查询条件where a = '123',走不走索引?
- 消息队列,熟悉哪几个,或者项目中使用了哪些?
- 目前是在职还是离职?找工作的原因是?
- 对在线教育行业有了解吗?
- 反问