2020-10-26--头条

记录下目前的面试问题和面试过程

10.26   头条---效能开发工程师

      1.算法题   

              给定数量的红包金额m,随机分发给n个人;每个红包最小为0.01,请输出相应的序列;

     2.mysql主从原理;

     3.redis的key有哪些类型?是否只有string?

     4.nginx的正反向代理

     5.mysql分表如何实现

     6.锁的实现方式?synchronize的原理;

     7.线程池的构建方法;

     8.spring的核心?ioc是单例还是多例?

     9.redis的存储类型有哪些?

 

在面试完成后,也尝试去汇总和归纳一些相关问题,算是一个基本的巩固吧。

答案:

1.红包金额随机拆分问题:

       思路:1.边界条件校验和验证;

                  2.放大金额100倍,保证金额为正整数;

                  3.设置初始化金额和人数,for循环递减

                        一直for到n-1个人,保证每次的金额为1+剩余金额*random();

                   4.最后一个人的红包为总的--前面n-1个人的总和;

                   5.输出;

   2.mysql主从原理;

            其中,在mysql中,主从服务主要是保证主备服务器的数据一致性,在整个流程中,主服务器上执行过的ddl和dml语句都会记录下来,也就是binaryLog(执行的二进制文件),从服务器同时会监控主服务器的变化情况。此时存在两种策略:1 定时监控  2定量监控 ,从服务器获取到更新信息后,将binlog同步到从服务器的redolog,直接执行,从而保证主从服务数据一致。

     3.redis的key有哪些类型?是否只有string?

          redis能够支持的数据类型有五种,分别为:string/set/hashmap/sortset/list;key 的话,只支持string类型的数据结构;

     4.nginx的正反向代理

         nginx呢,在spring cloud中主要在网关层前置,分发控制前端或者是web端流量入口,作为统一的入口,担任着容量限流、服务降级以及路由转发等重要功能。其次便是正反向代理了。正向代理:代理服务器直接和web端相连,能够帮助web访问到它自身无法访问的目标服务,对于服务端而言是没办法准确知道请求方的ip;反向代理:代理服务器和服务端直接相连,作为一个整体,直接是代理服务器暴露给到客户端,客户端是无法知道相应具体的服务端ip的;

     5.mysql分表如何实现

     6.锁的实现方式?synchronize的原理;

     7.线程池的构建方法;

     8.spring的核心?ioc是单例还是多例?

           核心两个:IOC和AOP。其中aop即为面向切面编程,主要应用场景为:日志维护、监控、鉴权等非业务性功能;ioc即为控制反转,最初也叫作好莱坞原则,即用来解决多个bean之间调用时的互相依赖问题。采用ioc的方法,提供调用方不会主动咨询调用方的状态,

  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值