美文网首页
一次技术负责人的面试题,redis,高并发

一次技术负责人的面试题,redis,高并发

作者: 提米锅锅 | 来源:发表于2019-09-28 21:06 被阅读0次

    1 谈谈高并发的一些设计规范或者最佳实践:

    高并发是个很大问题,我结合自己做途牛机票的项目情况作答:

    1 肯定是群集架构可以横向扩展,不管是用springcloud或是dubbo等服务治理框架,思路一样。

    2 基于缓存设计,用reids应对大量的查询,因为直接插数据库磁盘io肯定有瓶颈。

    3 针对业务场景做线程池隔离,这样部分业务超流不会把服务器拖垮。

    4 请求超时熔断设计,这样有超时可以尽早暴露出来,也是防御使编程最重要的一点。

    还有个利用队列来做秒杀的没加进去,感觉这点也属于。

    2 一致性hash的理解

    回答要点:

    1背景是redis按服务器个数分片来取模,服务器个数变化会导致大量key取模结果不同。

    2解决方法是不要让服务器总长变化,用hash环实现。

    3 假设服务器10台,设总数为100(这个数不能变),假设按服务器名字对100取模,可以得到10,20,40,50,60,70,80,90,95,100。匹配的时候key取模得到一个数,比如12,那么从小到达找到一个比12大的服务器,此时是20,这个key就落到20上,好处是假设20坏了,我们把20去掉,那么11,12到19都会落4到40上,只会影响10-20之间key,其他的key在另外的区间不会受影响。

    参考文章:深入浅出一致性Hash原理 - 简书 一致性hash算法的理解-技术开发专区

    3 spring框架优缺点以及可以改进的地方

    最近才开始看源代码,好处简单说了下,改进没啥想法。。

    Ioc 和Aop降低代码耦合,依赖接口和容器,不依赖实现

    约定即配置,spring starter的设计,自动扫描starter内的包

    4 服务端tcp编程

    技术盲点,没有实践过,只知道netty,nio,长连接这些概念。

    5 简单介绍下jekins

    集成和发布工具,原理:1拉代码2执行本地构建,打包3上传到服务器。

    我们项目测试环境配置了定时构建,出错会发邮件。

    自动化的每日发布没做,因为单元测试太少,意义不大。

    6 docker

    用过没有自己制作过,也属于技术盲点。

    相关文章

      网友评论

          本文标题:一次技术负责人的面试题,redis,高并发

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