美文网首页
2020-08-04 晚上面试

2020-08-04 晚上面试

作者: yellowone | 来源:发表于2020-08-05 09:28 被阅读0次

    2020-08-04 晚上面试

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

    • 自我介绍

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

    • 对go使用得比较久,那你还用过其他语言吗?相比其他语言go语言什么吸引你。

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

    • 你刚刚说到了go的并发性很强,你之前用过java的并发和go的并发测试对比过吗?

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

    • redis用得比较多是吧,都用过哪些数据结构。
    • redis雪崩遇到过吗?怎么处理的?

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

    • redis单线程为什么还那么快?

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

    • 遇到过redis连接池被用完的情况吗?怎么处理?

    设置配置无限制。

    • 那这样会导致redis性能问题吧?

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

    • 你们都是在业务代码进行区分请求到哪个redis中的吗?

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

    • 都用过什么数据库,发现自己的业务比较慢的情况下怎么办?

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

    • 除了增加索引以外还有什么办法优化。

    讲了聚集索引。

    • 刚刚你讲了回表,回表是什么?
    • mysql中如果是abc联合索引,如果用bc能用聚集索引吗?为什么?
    • MongoDB用过吗?使用场景是?

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

    • 消息队列用过哪些?可以讲讲kafka为什么能那么快吗?

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

    • 在使用kafka的时候有遇到什么问题吗?

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

    • 平时你在go程序中遇到性能问题怎么办?

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

    • go程序限流怎么限流。

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

    • 现在你的程序在线上跑了一段时间,发现了性能问题,cpu突然高居不下,怎么办?

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

    • 有一棵二叉搜索树,怎么按顺序打印。

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

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

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

    相关文章

      网友评论

          本文标题:2020-08-04 晚上面试

          本文链接:https://www.haomeiwen.com/subject/elcnrktx.html