金山办公线上二面,纯项目
- 你这个A项目架构如何,以及说你所用的那个 beego ,然后 etcd、 lua、nginx 这些,它都是有什么作用?
- 你的Beego 是在数据面是吧?然后数据面这边的话,你觉得使用 Go 来实现的话,它有一些什么样的优势?
- 你在开发的过程中,就是有没有用到说 goroutine,还有说 channel 这些东西?然后有没有碰到过说会有静态的一个情况,碰到一个静态的场景,或者说碰到死锁,类似这种东西。
- 如果我有几个我有几个并发的一个 goroutine,然后如果他们去读同一个 channel,或者说有一个有有几个生产者同时去那个 channel 里面写那个写数据,然后你觉得什么样的情况下可能会产生一个死锁?
- 比如说你网关的路由的一个数据是存在那个 etcd 里面,是这样子吗?
- 类似于 APISIX 的一个架构,是这样的吗?还是说你们直接用的 APISIX,还是自己做的?
- 你觉得为什么会用 etcd 来做这个配置中心?然后如果如果能不能用其他的呢?如果我我把它换成 mysql,或者说我用 redis 等等这些东西,它有什么不一样呢?
- etcd 是如何实现那个分布式的,它的多节点的一致的吗?
- 你提到的策略模式怎么做的
- 想问一下你们这边是基于一个什么样的考虑说要在那个就是配置的中心去做这个健康检查?为什么不是在 nginx 这一层直接做
- 拿到这个节点是不健康的,它怎么处理?
- 应该叫主动健康检查吧?你的那个管理面上面不支持那个被动的健康检查吗?
- A项目在使用OpenResty编写程序时,是否需要开启实例和worker,并在其中通过coroutine运行,且进行健康检查时是否要为每个任务开启一个coroutine实例?
- 你刚才提到的内容lua独立开了一个虚拟机跑,还是说开了一个协程跑?
- 你了解这个 Nginx 是怎么去集成 Lua 吗?然后它是每一个线线程里面是起多少个虚拟机?
- 你这里启动一个 Lua 的什么东西去让它在这个 Lua 里面跑呢?
- 在使用Go编写健康检查逻辑时,若针对API网关中众多节点按不同检查频率(如2秒或5秒一次)为每个节点启动一个goroutine,会导致资源占用过高,请问有什么优化思路可以减少负载?
- 能解释一下项目里面数据倾斜的一个根本性的原因是什么吗?
- 你这个问题的一个定位的一个过程,具体的一个过程你是怎么去发现这个问题?
- 你能描述一下说大 K 的存在会对 Redis 有哪些影响吗?就是说可以基于一些 Redis 本身的一个实现的一个原理,然后去分析一下说大 K 可能对它有些什么样的影响。
- 从技术的角度来看,你觉得什么样的领域对于你来说,你比较感兴趣一点?
- 从你的角度来说,如果说让你选一个去做工作的话,你觉得你会选什么?原因是什么呢?
- 怎么快速上手学习的go,这一个学习的路径是怎样的?
- 你觉得在实习的过程中,跟你在那个学校里面去做,比如说做大作业这种。会有什么不一样吗?你觉得最不一样的点是什么?然后你是有没有碰到过什么样的一些问题?然后你是怎么去解决的呢?
- 你去跟别人去沟通,产生了一些冲突,你觉得应该怎么去#牛客AI配图神器#解决一下这些冲突?
反问业务,结果什么时候出
查看18道真题和解析