2020-08-04 晚上面试

2020-08-05  本文已影响0人  yellowone

2020-08-04 晚上面试

今天面试的是一个月前过了一面的一家公司,之前面试完了之后说要等另一个leader来面试我,然后最近才联系我让我面试。

自我介绍的过程中网络一直不稳定,说了好几次,思路有点打断

讲了易用性和一些高级特性。过程中网络又不行。

讲了java只有大学用的多,后面没有怎么用。我当时应该往go的优秀的并发模型和java是利用线程并发方面去说的。思路有点浑浊。

redis雪崩这个现象我记得是我大学的时候一个同学跟我聊天的时候提到的,说到要把机子全下了再上一批去处理。然后面试官就问我雪崩的原因,我答成缓存失效,事后查了下,原来雪崩是因为key值集中失效,但是当时不知道雪崩是个啥,缓存集中失效通常是过期时间设置成了一致,设置过期时间的时候增加一个随机值处理会好很多。

当时讲了减少了锁竞争,主要是最近一直在看mysql的书,感觉mysql大部分的时延都集中在了锁上面,面试官设置了个陷阱说就算用锁,多线程干活也应该快啊。然后就讲了redis中的数据操作相对简单,任务并不好拆分成多个子任务。然后面试官提醒了多路复用,我没仔细了解过这方面的问题,就知道个epoll,是也是在学习go相关的时候顺便了解的。

设置配置无限制。

但是请求速度如果确实跟不上响应速度的话,那应该使用更高性能的redis,或者是在业务代码中,使用多个redis去分担压力?

是的,我们没有用集群,主要原因是我们leader对redis的一些集群问题有顾虑。

mysql,看代码,打日志,通常性能瓶颈都是mysql,通常增加索引能解决部分问题。

讲了聚集索引。

MongoDB用得很少,只有最近在写游戏的时候使用过,至于为什么用,主要是游戏用户数据不像平台业务,比较固定,kv型的数据库更加有优势。

讲不出来,挺早之前看的,就记不得清楚了。只记得kafka对负载均衡控制得很好。更多的时候是使用它。

更多的是配置没有配置好的问题。

讲了pprof调试工具。怎么去使用。其实我们自己有prometheus,通常项目有问题,早期的时候能较快发现。

其实我个人用得最多的就是利用chan这个数据结构去限流,然后还讲了一个WaitGroup,但事实上感觉WaitGroup好像不适合这个场景,然后还讲了一下有些第三方库令牌桶之类的。

当时我想到的是先回滚,再排错,然后面试官说跑了一段时间了。然后我想到的是多起节点分摊压力,面试官还是不满意。。然后我就想到了重启,还说了下有时候重启能解决的部分问题。也许应该往遭受攻击方面去想?让运维高防?然后增加限流的逻辑?主要是我们的框架里面有限流的功能了,也一下子没想到。或者往服务器工具上面讲,比如用vmstat看看具体的cpu调用是因为什么。。有点get不到点。。或者说要改代码增加限流逻辑?

中序遍历,然后讲了一下代码怎么写,没讲明白,就共享屏幕快快打了一段代码。

然后面试官好像还有个会就结束面试了。

总体来讲,面试过程表现不是很好,有很多想法没有说出来。比如我自身对go的理解,go的使用是比较自信的,但是这方面没有体现出来,还有有时候没有引导一些问题,

上一篇下一篇

猜你喜欢

热点阅读