2024年年初Java5年实战面试题(北京)
高阶篇:
一、在面对千万条并发请求的情况下,如果数据库频繁查询导致崩溃,可以采取以下措施来解决问题:
1.缓存数据:可以使用缓存技术来减少对数据库的查询次数。将经常查询的数据存储在缓存中,例如使用Redis等内存数据库,以减少每次查询时对数据库的访问。
2.限流和降级:在高并发场景下,需要对请求进行限流和降级,以防止系统过载。这可以通过使用限流算法(如令牌桶、漏桶等)或者设置接口级别的限流规则来实现。降级则是指当系统负载过高时,自动降低部分服务的可用性,以保护整个系统的稳定性。
扩展答案:自行研究elasticsearch
二、有很多个服务,一个功能出现问题,怎么快速定位是哪个服务出现的问题?
ZIPKIN:分布式链路追踪
Zipkin可以确定对应用程序的请求在哪里花费了更多时间。无论是代码内部的调用,还是对另一服务的内部或外部API调用,您都可以对系统进行检测以共享上下文。
微服务应用的响应时间过长,使用Zipkin的话,就可以轻松了解应用程序是否花费了大部分时间来查询数据库。通过 Zipkin 提供的请求延迟时间可视化,可能会发现导致请求时间过长的原因,是由于高速缓存服务器已关闭,所有调用都直接发送到数据库,从而增加了微服务的延迟。
ZIPKIN:扩展问题(面试官会顺流而下继续问的问题)经常问的,能不能具体说说怎么实现的?
1、搭建zipkin-server
2、Zipkin就会以单个 span的形式将跟踪数据异步发送到 Zipkin 的数据追踪收集器(跟踪是通过带有 context header 的 HTTP 协议发送的)。
3、Zipkin 自带有一个可访问的用户界面,可以通过可视化看出哪里浪费了时间,哪里有问题。
三、Zookeeper是怎么注册的?
1.1、当服务启动时,服务的信息会存储到ZooKeeper临时节点上,这就是Zookeeper的注册。
四、Zookeeper什么是临时节点和什么是持久节点?
临时节点: 服务注册后连接丢失或session超时,注册的节点会自动被移除 。
持久节点: 服务注册后保证节点不会丢失,注册中心重启也会存在 。
五、zookeper的选举机制?
Leader 节点宕机了,Zookeeper中的每一个节点都会向集群里面的其他节点发送一个票据 Vote,每个节点都会选自己当 Leader,所以第一次投票的时候携带的是当前节点的信息。接下来每个节点用收到的票据和自己节点的票据做比较,根据 epoch、zxid、myid的顺序逐一比较,以值最大的一方获胜。比较结束以后这个节点下次再投票的时候,发送的投票请求就是获胜的 Vote 信息。然后,通过多轮投票以后,每个节点都会去统计当前达成一致的票据,以少数服从多数的方式,最终获得票据最多的节点成为 Leader。
六、zookeper和nacos的区别?
1、一致性算法,它是一种基于原子广播的一致性算法。它保证了分布式系统中数据的一致性和顺序性。而 Nacos 使用的是基于 Raft 算法实现的一致性协议,也保证了数据的一致性。
zookeper用的是ZAB算法
2、功能特性
Zookeeper 主要用于分布式协调和共享状态的管理,提供了有序的命名空间和监听机制,支持分布式锁、选举、队列等基础功能。Nacos 不仅提供了服务发现和配置管理,还提供了动态配置、流量管理、服务治理、服务路由等更丰富的功能。
3、数据存储
Zookeeper 将数据存储在内存中,并将数据变更写入磁盘中的事务日志中,因此适合存储较小的元数据和配置信息。Nacos 则使用数据库作为持久化存储,可以存储更大量级的配置数据。
4、生态系统
Zookeeper 作为一个成熟的分布式协调服务,拥有广泛的应用和生态系统支持,被广泛用于大型分布式系统。而 Nacos 是阿里巴巴开源的项目,逐渐发展成为云原生领域的服务发现和配置管理的首选工具,受到越来越多的关注和使用。
5、部署模式
Zookeeper 需要以集群模式运行,至少需要三个节点组成一个 ZK 集群,保证高可用性。Nacos 可以以单机模式或集群模式运行,可以根据实际需求进行部署。
七、zookeper节点为什么是奇数?
防止由脑裂造成的集群不可用
选举机制公式:可用节点数量 > 总节点数量/2 ,所以集群仍然能选举出 leader。很明显4个节点下的(b)脑裂不满足选举条件,不能提供服务。
5个节点
(a) 小集群 A:1个节点,小集群 B:4个节点,或A、B互换
(b) 小集群 A:2个节点,小集群 B:3个节点,或A、B互换
4个节点
(a) 小集群 A:1个节点,小集群 B:3个节点,或 A、B互换
(b) 小集群 A:2个节点,小集群 B:2个节点
八、QPS访问量那么大怎么解决的?
8.1、什么是QPS?
QPS 是 Queries Per Second 的缩写,意为每秒查询数。它是衡量系统或服务在单位时间内能够处理的查询或请求的数量。QPS 是评估系统性能和承载能力的重要指标之一。
8.2、什么是TPS?
TPS 是 Transactions Per Second 的缩写,意为每秒事务数。与 QPS 类似,TPS 是衡量系统或服务在单位时间内能够处理的事务数量的指标。事务可以是数据库事务、网络事务或其他系统中定义的操作单元。
8.3、统计QPS的工具
Prometheus:一个开源的监控和警报系统,可以通过使用 Prometheus 的客户端库来收集和记录 QPS 数据。
Grafana:一个用于可视化数据的开源工具,可以与 Prometheus 结合使用来创建仪表盘和图表,以展示 QPS 数据。
8.4、面对上万的QPS怎么解决?
硬件方面:增加服务器、增加资源以处理更多的请求。可以考虑使用负载均衡来分发请求,确保每个服务器都能均衡地处理负载。 例如我们负载下游的节点只有3台虚拟机,那么我们就增加节点,或者增加机器配置。
数据库方面:使用适当的索引和查询优化技术。考虑使用缓存技术,如Redis或Memcached,来减轻数据库的负载。
异步处理:将一些耗时的操作转换为异步任务,如使用消息队列来处理后台任务,从而减少请求的响应时间。
代码优化:检查应用程序代码,识别并优化性能瓶颈,如减少不必要的计算、避免重复查询等。
接下来是重点也是面试官愿意听到的
8.5.1、 降级服务:在面对大流量时,可以暂时关闭或降低某些非关键服务的可用性,以减轻服务器负载。例如,可以关闭某些不必要的功能模块或限制某些操作的访问频率。
8.5.2、 限流措施: 通过设置请求频率限制或并发连接数限制,限制系统接受的请求量。可以使用令牌桶算法或漏桶算法等限流算法来控制请求的流量。
8.5.3、 熔断(Circuit Breaking):熔断是一种针对服务间依赖关系的保护机制。当某个服务出现故障或响应时间过长时,可以进行熔断,即暂时断开对该服务的请求,避免故障的扩散和影响其他服务。熔断可以快速失败,减少对故障服务的依赖,保护整个系统的可用性。
九、QPS是多少?每天访问量是多少?多少台服务器?(高频考点)
标准:120QPS
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器
通过公式得出总访问量为:259.2W(PV即访问量)
单台机器QPS为40QPS
机器数量为:3(120/40 等于3台)
单台机器访问量:86.4W(单台机器PV即访问量)
十、zookeper的缺点?
10.1、单点故障: 在 ZooKeeper 集群中,Leader 是单点,如果 Leader 节点宕机,会导致整个集群的不可用。尽管选举会尽快选出新的 Leader,但仍然存在短暂的不可用性。
10.2、写入性能: 由于所有的写操作都由 Leader 处理,并且需要进行复制,写入性能可能受到影响,特别是在高负载情况下。
10.3、数据限制: ZooKeeper 的数据模型对于每个节点的数据有一定的大小限制,不适合存储大量的数据。
10.4、复杂性: 虽然 ZooKeeper 提供了强大的功能,但对于一些简单的应用场景,使用 ZooKeeper 可能会增加系统的复杂性。
十一、springboot和spring的区别?
11.1、应用程序Spring 是一个开源轻量级框架,广泛用于开发企业应用程序。Spring Boot 建立在传统的 Spring 框架之上,广泛用于开发 RESTAPI。
11.2、Spring 框架最重要的特性是依赖注入。Spring Boot 最重要的特性是自动配置
11.3、Spring有助于创建松散耦合的应用程序。Spring Boot有助于创建一个独立的应用程序,例如微服务等。
11.4、务器要运行 Spring 应用程序,我们需要显式设置服务器。Spring Boot提供Tomcat和Jetty 等嵌入式服务器。
11.5、要运行 Spring 应用程序,需要部署描述符。Spring Boot不需要部署描过符。
11.6、为创建一个 Spring 应用程序,开发人员需要编写大量代码和配置。Spring Boot显著减少了代码和配置行。
11.7、Spring默认不提供内存数据库支持。Spring Boot默认提供了对内存数据库的支持,例如 H2。
十二、redis的哨兵模式?(高频考点)
Redis 官方推荐一种高可用方案,也就是 Redis Sentinel 哨兵模式,它弥补了主从模式的不足。Sentinel 通过监控的方式获取主机的工作状态是否正常,当主机发生故障时, Sentinel 会自动进行 Failover(即故障转移),并将其监控的从机提升主服务器(master),从而保证了系统的高可用性。
哨兵的作用?
master 状态检测;
如果 master 异常,则会进行 master-slave 切换,将其中一个 slave 作为 master,将之前的 master 作为 slave;
master-slave 切换后,master_redis.conf、slave_redis.conf 和 sentinel.conf 的内容都会发生改变,即 master_redis.conf 中会多一行 slaveof 的配置,sentinel.conf 的监控目标会随之调换。
编程篇:
一、波菲那契递归
System.out.println("banc= " + banc(10))
public static int banc(int n){if( n==0 ){return 0;}else if( n==1 ){return 1;}else{return banc(n-1) + banc(n-2);} }
二、冒泡排序
public static void sort(int arr[]) {
//一共进行元素个数减一轮排序
for (int i = 0; i < arr.length - 1; i++) {
//只需要对没有排序的进行排序
for (int j = 0; j < arr.length - 1 - i; j++) {
//将前一个比后一个大的两元素进行交换
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
public static void main(String[] args) {
int arr[] = {5, 8, 6, 3, 9, 2, 1, 7};
sort(arr);
System.out.println(Arrays.toString(arr));
// [1,2,3,4,5,6,7,8,9]
}
基础篇
一、redis基础类型:string(字符串)、hash(哈希)、list(列表)、set(集合)、sort set (有序集合)。
二、多线程有几种实现方式?
四种:①继承Thread类;②实现Runnable接口;③使用Callable和FutureTask实现有返回值的多线程;④使用ExecutorService和Executors工具类实现线程池(如果需要线程的返回值,需要在线程中实现Callable和Future接口)。
三、线程池有哪些?
六种常见线程池:FixedThreadPool(固定线程数的线程池)、CachedThreadPool(缓存线程池)、ScheduledThreadPool(定时线程池)、SingleThreadExecutor(单线程线程池)、SingleThreadScheduleExecutor(单线程线程池)、ForkJoinPool(分而治之)。
四、在Java中有哪些常见的队列?
ArrayList:ArrayList可以被用作队列。
LinkedList:LinkedList也可以用作队列。
ArrayBlockingQueue:ArrayBlockingQueue是一个有界阻塞队列。
LinkedBlockingQueue:LinkedBlockingQueue是一个可选有界或无界的阻塞队列。PriorityBlockingQueue:PriorityBlockingQueue是一个支持优先级的无界阻塞队列。ConcurrentLinkedQueue:ConcurrentLinkedQueue是一个非阻塞无界队列。
五、HashMap和HashTable区别?
1、继承的父类不同
Hashtable继承自Dictionary类,而HashMap继承自AbstractMap类。但二者都实现了Map接口。
2、线程安全性不同
Hashtable 中的方法有Synchronize锁,而HashMap中的方法没有Synchronize锁,在多线程并发的环境下,可以直接使用Hashtable,不需要自己为它的方法实现同步,但使用HashMap时就必须要自己增加同步处理。
六、ConcurrentHashMap和HashMap的区别?
七、ConcurrentHashMap原理是什么?
八、线程生命周期?
new(初始化状态)、Runnable(就绪状态)、Running(运行状态)、Blocked(阻塞状态)、Terminated(终止状态)
相关文章:
2024年年初Java5年实战面试题(北京)
高阶篇: 一、在面对千万条并发请求的情况下,如果数据库频繁查询导致崩溃,可以采取以下措施来解决问题: 1.缓存数据:可以使用缓存技术来减少对数据库的查询次数。将经常查询的数据存储在缓存中,例如使用Redis等内存数据库ÿ…...
【Apache-2.0】springboot-openai-chatgpt超级AI大脑产品架构图
springboot-openai-chatgpt: 一个基于SpringCloud的Chatgpt机器人,已对接GPT-3.5、GPT-4.0、百度文心一言、stable diffusion AI绘图、Midjourney绘图。用户可以在界面上与聊天机器人进行对话,聊天机器人会根据用户的输入自动生成回复。同时也支持画图&a…...
如何在iPhone设备中查看崩溃日志
目录 如何在iPhone设备中查看崩溃日志 摘要 引言 导致iPhone设备崩溃的主要原因是什么? 使用克魔助手查看iPhone设备中的崩溃日志 奔溃日志分析 总结 摘要 本文介绍了如何在iPhone设备中查看崩溃日志,以便调查崩溃的原因。我们将展示三种不同的…...
对接第三方接口鉴权(Spring Boot+Aop+注解实现Api接口签名验证)
前言 一个web系统,从接口的使用范围也可以分为对内和对外两种,对内的接口主要限于一些我们内部系统的调用,多是通过内网进行调用,往往不用考虑太复杂的鉴权操作。但是,对于对外的接口,我们就不得不重视这个…...
微服务-理论(CAP,一致性协议)
CAP理论 关于CAP理论的介绍可以直接看这篇文章 CAP分别是什么? 一致性(Consistency 一致性包括强一致性,弱一致性,最终一致性。 一致性其实是指数据的一致性,为什么数据会不一致呢? 如上面这张图&…...
CTFshow web入门web128-php特性31
开启环境: 一个新的姿势,当php扩展目录下有php_gettext.dll时: _()是一个函数。 _()gettext() 是gettext()的拓展函数,开启text扩展get_defined_vars — 返回由所有已定义变量所组成的数组。 call_user_func — 把第一个参数作为回调函数调…...
再见2023,你好2024(附新年烟花python实现)
亲爱的朋友们: 写点什么呢,我已经停更两个月了。2023年快结束了,时间真的过得好快,总要写点什么留下纪念吧。这一年伴随着许多挑战和机会,给了我无数的成长和体验。坦白说,有时候我觉得自己好像是在时间的…...
Redis 的常用命令
一、Redis 通用命令 TYPE key:返回 key 所储存的值的类型。 OBJECT ENCODING key:返回key所储存的值的底层编码方式。 DEL key:该命令用于在 key 存在时删除 key。 EXPIRE key seconds:设置指定key的过期时间。 RENAME key newke…...
【模拟电路】模拟集成电路之神-NE555
一、集成电路NE555简介 二、功能框图与引脚说明 三、比较器(运放) 四、反相门(非门) 五、或非门 六、双稳态触发器 七、NE555的工作原理 集成电路NE555的芯片手册 C5157696 一、集成电路NE555简介 NE555起源于上个世纪70年代&a…...
收集最新的 Sci-Hub 网址(本文章持续更新2024)
自用收集最新的 Sci-Hub 网址 本文章持续更新收集 Sci-Hub 的可用网址链接仅供交流学习使用,如对您有所帮助,请收藏并推荐给需要的朋友,由于网站限制,不一定所有网址都能在您所在的位置访问,通常情况下,一…...
针对NPC客户端的升级(脚本执行)
上一次我们使用NPS自动注册的方式,在被控端上实现了自动创建NPC客户端链接。 Linux主机自动注册NPS客户端(脚本化) 但是在使用过程中我发现存在很多的问题,如果被控端重启客户端或者出现了多个NPS时会造成冲突,所以考虑…...
[每周一更]-(第51期):Go的调度器GMP
参考文献 https://learnku.com/articles/41728http://go.cyub.vip/gmp/gmp-model.html#g-m-phttps://blog.csdn.net/ByteDanceTech/article/details/129292683https://www.ququ123.top/2022/04/golang_gmp_principle/ 什么是GMP? GMP模型是Go语言并发模型的核心概念&#x…...
阿里云和腾讯云服务器系统盘40G或50G空间够用吗?
云服务器系统盘40G或50G空间够用吗?够用,操作系统一般占用几个GB的存储空间,尤其是Linux操作系统占用空间容量更小,阿里云和腾讯云服务器系统盘默认提供的40GB高效云盘或50G通用型SSD云硬盘,阿腾云atengyun.com分享是否…...
网络层协议 ——— IP协议
文章目录 IP协议基本概念IP协议格式分片与组装网段划分特殊的IP地址IP地址的数量限制私网IP地址和公网IP地址路由路由表生成算法 IP协议 IP协议全称为“网际互连协议(Internet Protocol)”,IP协议是TCP/IP体系中的网络层协议。 基本概念 网…...
MATLAB --- interp1( )函数的用法
interp1() 是 MATLAB 中用于一维插值的函数, 它可以根据给定的数据点进行插值,从而在给定的插值点处估计函数的值 下面是 interp1() 函数的用法: Vq interp1(X, V, Xq) Vq interp1(X, V, Xq, method) Vq interp1(X, V, Xq, method, extr…...
【react-taro-canvas】用canvas手写一个数字、字母混合的行为验证码
用canvas手写一个数字、字母混合的行为验证码 实现效果源码 实现效果 源码 import Taro from "tarojs/taro"; import { View, Canvas, Input, Button } from "tarojs/components"; import { useState, useEffect } from "react"; // 画随机线函…...
ctfshow——信息搜集
文章目录 web 1web 2web 3web 4web 5web 6web 7web 8web 9web 10web 11web 12web 13web 14web 15web 16web 17web 18web 19web 20 web 1 题目提示开发注释未及时删除。 直接右键查看源代码。 web 2 在这关我们会发现:1)无法使用右键查看源代码&…...
【Linux驱动】设备树模型的LED驱动 | 查询方式的按键驱动
🐱作者:一只大喵咪1201 🐱专栏:《Linux驱动》 🔥格言:你只管努力,剩下的交给时间! 目录 🍮设备树模型的LED驱动🍩设备树文件🍩驱动程序 …...
GZ075 云计算应用赛题第4套
2023年全国职业院校技能大赛(高职组) “云计算应用”赛项赛卷4 某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenSt…...
小型肉制品厂废水处理设备加工厂家
诸城市鑫淼环保小编带大家了解一下小型肉制品厂废水处理设备加工厂家 在小型肉制品厂,处理肉类加工废水是非常重要的环保问题。废水中含有蛋白质、脂肪、悬浮物和有机物等,需要进行合适的处理以减少对环境的污染。以下是一些常见的小型肉制品厂废水处理设…...
SpringBoot整合ElasticSearch实现CRUD操作
本文来说下SpringBoot整合ES实现CRUD操作 文章目录 概述项目搭建ES简单的crud操作本文小结 概述 SpringBoot支持两种技术和es交互。一种的jest,还有一种就是SpringData-ElasticSearch。根据引入的依赖不同而选择不同的技术。反正作为spring全家桶,目前是…...
香橙派--关于jammy-xfce-arm64.f12a43b3e629442a073a7236bf9166ce.tar.lz4的rootfs定制与镜像制作
使用 x64 的 Ubuntu22.04 电脑编译 Linux SDK,即 orangepi-build,支持在安装有 Ubuntu 22.04 的电脑上运行,所以下载 orangepi-build 前,请首先确保自己电脑已安装的 Ubuntu 版本是 Ubuntu22.04。查看电脑已安装的 Ubuntu 版本的命…...
前端八股文(HTML篇)一
目录 1.什么是DOCTYPE,有何用呢? 2.说说对html语义化的理解 3.src和href的区别? 4.title与h1的区别,b与strong的区别,i与em的区别? 5.什么是严格模式与混杂模式? 6.前端页面有哪三层构成,分…...
数据结构与算法python版本之线性结构之无序表抽象数据类型有序链表抽象数据类型和总结
我们知道,列表List是一种简单强大的数据集结构,提供了丰富的操作接口;但是并不是所有的编程语言都提供了List数据类型,有时候需要程序员自己实现。 那么什么是列表呐? 列表是一种数据项按照相对位置存放的数据集&…...
识别pdf中论文标题并重命名PDF名称(2024.1.2,第二次更新)判断标题中是否以空格结尾
63~66行增加语句,判断标题是否以空格结尾 83~85行增加语句,判断选句是否以空格结尾 import os import timeimport fitzdef find_largest_font_sentence(pdf_path):largest_font_size 0largest_font_sentence maxsize0# 打开PDF文件document fitz.ope…...
01.02作业
整理思维导图复习课上代码全局变量,int monster 10000;定义英雄类hero,受保护的属性string name,int hp,int attck;公有的无参构造,有参构造,虚成员函数 void Atk(){blood-0;},法师类继承自英雄…...
WPF+Halcon 培训项目实战(11):HS组件封装
文章目录 前言相关链接项目专栏运行环境匹配图片封装组件新增类库项目选择依赖顺序并添加Nuget修改原本矩形方法运行结果: 对矩形进行抽象封装抽象基类矩形抽象改造 圆形抽象封装代码运行结果 前言 为了更好地去学习WPFHalcon,我决定去报个班学一下。原…...
VUE——IDEA 启动前端工程VS文件启动前端工程
IDEA 启动前端 目录 前言一、打开控制台二、输入npm install三、依赖下载完之后,输入npm run dev,运行前端项目1、IDEA启动前端工程2、文件目录启动前端工程 四、点击http://localhost:8080后续敬请期待 前言 启动已有的vue前端项目 一、打开控制台 选…...
自动驾驶论文
文章目录 一、Convolutional Social Pooling for Vehicle Trajectory Prediction二、QCNet:Query-Centric Trajectory Prediction三、VectorNet: Encoding HD Maps and Agent Dynamics from Vectorized Representation 一、Convolutional Social Pooling for Vehicl…...
Java经典框架之SpringDataJPA
SpringDataJPA Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Spring整合Hibernate 2…...
无为建设局网站/seo在线培训
一.Ansible简介ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的…...
最好的网站建设价格/2022年国际十大新闻
Demo: ma125120.github.io/ma-dom/test… 本方法主要使用了 Range 对象和HTML5的Selection API,经过测试,本方法在主流浏览器如谷歌浏览器、火狐浏览器、360安全浏览器、搜狗高速浏览器中均运行良好。 先附上大家最想看的代码: function copy…...
哪个网站做长图免费转高清图片/网页设计培训学校
日子一去不复返了HTML用于造型的网页。今天,CSS规则,很难想象没有它的任何网页设计。CSS在最近非常先进,用于创建复杂的Web设计和风格。那么,我们为什么要使用CSS框架?答案很简单。CSS框架主要包括预定义的书库&#x…...
做网站建设/买卖平台
眼下,HR们最大的痛苦和麻烦之一,便是企业优秀人才频繁跳槽的问题:从一线业务精英到总部技术骨干,从行政人事主管到财务审计专员,从封疆大吏到总监诸候们……似乎都在导演一场跳槽和转行风暴。而且,这股风似…...
学会wordpress 怎么赚钱/网站推广seo
文章目录进程间通信介绍进程间通信的目的进程间通信的技术背景进程间通信的本质进程间通信的一些标准进程间通信意义进程间通信分类管道管道的概念管道的原理匿名管道站在文件描述符角度-深度理解管道站在内核角度-管道本质命名管道system V 共享内存共享内存的理解system V消息…...
做校园网站 怎么备案/百度快速排名优化服务
12月26日,红帽公司(纽交所代码:RHT)公布截止到2016年11月30日的2017财年第三季度的财务业绩。 第三季度总收入达6.15亿美元,按美元计同比增长18%,或者以固定汇率计算增长17%。第三季度订阅收入为5.43亿美元…...