面试

大数据集群资源预估规划【适用于面试与工作集群规划】

落爺英雄遲暮 提交于 2020-12-18 14:02:10
问题导读 1.如何判断数据增量? 2.QPS如何计算? 3.存储空间需要考虑哪些因素? 4.内存估算和哪些因素有关? 我们在实际工作,或者面试中,经常会遇到这么一个问题,集群该如何规划,一台机器多少磁盘,多少内存,多少core等。 关于公司集群规模,有的几台,有的几百或有的则几千台,那么这几百几千台机器他们的配置是怎么样的? 这里先说下大概,对于大多数公司来说,集群有的10来台,而对于电信行业,一个地方的可能有几百台,对于一线互联网集群规模就比较大一些,上千台是比较常见的。 那么如果我们要搭建大数据平台,集群该如何规划?这是我们初步搭建集群的时候,首次遇到的问题。 对于需要多少台机器,其实这个问题,不能一刀切的回答,具体情况具体分析。虽然一开始我们不知道多少台机器,但是我们可以知道影响的关键因素? 那就是数据的增量是多少? 数据的增量,这里我们来说下数据增量: 其实数据的增量不同的公司,也是不一样的,有的公司数据增量也就是几个G,而有的公司数据增量1T以上,比如物联网大数据。除了数据增量,还有其它影响因素,比如使用的计算组件,使用MapReduce和Spark,Flink在内存的使用上,肯定是有区别的。再比如QPS也影响着系统的资源分配。 除了影响因素,那么我们预估集群包含哪些步骤? 1.判断计算数据增量大小 如何计算数据量得大小,这个其实很多企业已有相关得系统

基于 Token 的多平台身份认证架构设计

浪尽此生 提交于 2020-12-18 13:43:09
点击上方蓝色“ 后端面试那些事儿 ”,选择“设为星标” 学最好的别人,做最好的我们 来源:cnblogs.com/beer/p/6029861.html 1 概述 2 使用场景 3 token的类别 4 token的层级关系 4.1 账号密码 4.2 客户端会话token 4.3 access_token 4.4 pam_token 4.5 map_token 5 小结与展望 1、概述 在存在账号体系的信息系统中,对身份的鉴定是非常重要的事情。 随着移动互联网时代到来,客户端的类型越来越多, 逐渐出现了 一个服务器,N 个客户端的格局 。 不同的客户端产生了不同的用户使用场景,这些场景: 有不同的环境安全威胁 不同的会话生存周期 不同的用户权限控制体系 不同级别的接口调用方式 综上所述,它们的身份认证方式也存在一定的区别。 本文将使用一定的篇幅对这些场景进行一些分析和梳理工作。 2、使用场景 下面是一些在 IT 服务常见的一些使用场景: 用户在 web 浏览器端登录系统, 使用系统服务 用户在手机端(Android/iOS)登录系统, 使用系统服务 用户使用开放接口登录系统, 调用系统服务 用户在 PC 处理登录状态时通过手机扫码授权手机登录(使用得比较少) 用户在手机处理登录状态进通过手机扫码授权 PC 进行登录(比较常见) 通过对场景的细分, 得到如下不同的认证 token

必看!PHP常见面试题——MySQL篇(一)

怎甘沉沦 提交于 2020-12-18 12:55:35
1. 说说自己对于 MySQL 常见的两种存储引擎:MyISAM与InnoDB的理解? InnoDB 引擎: InnoDB 引擎提供了对数据库 acid 事务的支持,并且还提供了行级锁和外键的约束,它的设计的目标就是处理大数据容量的数据库系统。MySQL 运行的时候,InnoDB 会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎是不支持全文搜索,同时启动也比较的慢,它是不会保存表的行数的,所以当进行 select count() from table 指令的时候,需要进行扫描全表。由于锁的粒度小,写操作是不会锁定全表的,所以在并发度较高的场景下使用会提升效率的。 MyIASM 引擎: MySQL 的默认引擎,但不提供事务的支持,也不支持行级锁和外键。因此当执行插入和更新语句时,即执行写操作的时候需要锁定这个表,所以会导致效率会降低。不过和 InnoDB 不同的是,MyIASM 引擎是保存了表的行数,于是当进行 select count() from table 语句时,可以直接的读取已经保存的值而不需要进行扫描全表。所以,如果表的读操作远远多于写操作时,并且不需要事务的支持的,可以将 MyIASM 作为数据库引擎的首选。 2. 谈谈你对MySQL索引的理解? MySQL索引使用的数据结构主要有BTree索引 和 哈希索引 。对于哈希索引来说,底层的数据结构就是哈希表

你是否缺少一个获取Adobe国际认证证书的理由?

情到浓时终转凉″ 提交于 2020-12-18 11:59:26
如果你还对 Adobe国际认证证书是什么? 心存疑惑的话,我建议你看完这篇内容,因为这可能就是你大展身手的 机遇! Adobe国际认证是Adobe公司推出的权威国际认证,面向全球Adobe软件的学习和使用者,提供的一套全面科学,严谨高效的考核体系。 对于上面的官方认证介绍,我在这里就不过多介绍了,毕竟官方内容大家在网上都是可以搜索到的。人人都知道, 数字科技是未来趋势 。在这样的趋势中,要求掌握Adobe软件技能并运用到工作中的公司越来越多,而 如何掌握更多的软件技能,如何从人群中脱颖而出成为一项数字领域的挑战。 并且,根据“德勤高科技、高成长北美500强评选”最新数据,近年来,软件企业占比呈现逐年高增长,从2016年的58%,一路飙升到2020年的73%。数字营销、在线教育、娱乐视频的爆发式增长,使得以 视频创意、图像设计、音乐创作等为代表的数字创意软件企业,成为数字营销的核心 。 德勤据此预测,未来3年,数字创意软件市场规模将达310亿美元。未来10年,将成为数字创意产业爆发式增长的“黄金十年”。 这样的大趋势,让数字创意软件公司变得炙手可热。 2020年9月,全球创意软件龙头Adobe的股价达成536.88美元,市值更突破2577亿美元(1.68万亿人民币,相当于中国平安), 成为全球市值最高的创意软件巨头 。 可想而知,Adobe作为创意工具的全球领军企业

电商数据分析常用报告指标

喜夏-厌秋 提交于 2020-12-18 08:59:46
大家好,我是小五 🐶 很多初入行的小伙伴们,学习了一堆的数据分析工具,如excel、sql、python、spss、r、tableau等。 工具用的很溜,但是对业务指标却不知情,面试的时候技术笔试没问题,面试官稍微问一下业务层面的东西就蒙圈了,甚至很多小伙伴面试过了,但是完全不知道如何进行数据分析,被动的就成为了人们常说的取数机(领导说一点做一点)。 所以今天围绕电商分析,和大家片面的分享一下电商数据分析入门级别的常用分析指标,可以作为参考。 电商人货场重点关注的指标 人货场指标 日常报告重点关注指标 不管是日报/周报/月报。核心围绕销售额(或者公司该阶段制定的考核指标,因为有些非常时期,如新成立的或者新产品一开始更关注“人”),其次拆解销售额或者是其他关键指标的构成,从而发现问题点。 经营日报(简报) 日销售/月累计销售额,销售考核指标完成情况,各指标环比;客单价、转化率、访客数、新增粉丝、新增消费客户数、产品销量、付费ROI。 投资回报率(ROI)=利润/投资总额×100%。如本月截至目前广告投入1万,带来5千元利润,可以说ROI = 50%。 经营周报/月报 简报+市场+交易+商品总览(SKU、动销率等)+销售集中度+主打商品的单个数据变化 流量整体,关注,来源,商品转化; 品类关注度,销量,连带分析,新品追踪等; 交易转化漏斗 内容:能见度,转化粉丝,获客力,引导力,吸引度

大厂必备、前端高薪指南!

房东的猫 提交于 2020-12-18 07:48:11
开课吧前端团队 最新出炉的《 前端开发进阶手册 》终 于来了, 这套系统的前端资料,能够帮助大家更好掌握面试技巧和热门知识点 : 面试多次,老是通过次数少/薪资低人一大截; 了解多个单独的技术点,但缺乏体系化,很难串起来; 对于新框架和语言的出现缺乏敏感度,前沿的技术了解不够深入; 01. 高薪前端开发必备-面试技巧 前端开发想拿高薪 ,除了要有过硬的技术实力,还离不开面试时必备的“谈判”能力,以及应对面试题时思维的广度和深度 : 想拿高薪得这样答 Part 1 通过列举不同薪资等级的前端开发在面对同一问题时分别有哪些回答,并提供参考回答, 来帮助大家快速排坑,掌握套路 。 1、关于面试题-总观点 反对没事就刷题 需建立核心知识体系 2、关于文件上传的不同等级回答 菜鸟 10K 15K 20K 25K 30K 35K ... 3、其他知识点 虚拟dom fiber vue模版编译 ... 02. 大厂面试必考-算法与数据结构 算法和数据结构经常被很多小伙伴忽略,但大厂面试必不可少的内容就包括了算法。 再加上如今前端工作重点逐渐向后端倾斜,需要面临的业务更多, 如果想更上一层楼,就离不开对一些前端常用算法的掌握: 前端必备算法和数据结构 Part 2 重点讲述如何进行算法思想的分类学习,提到的所有数据结构和算法类别都是大厂面试题中出现频率最高的。 1、前端学算法的意义 大厂面试

面试算法实践与国外大厂习题指南

时间秒杀一切 提交于 2020-12-18 07:32:40
在线练习 LeetCode Virtual Judge CareerCup HackerRank CodeFights 在线面试编程 Gainlo 数据结构 Linked List 链表即是由节点(Node)组成的线性集合,每个节点可以利用指针指向其他节点。它是一种包含了多个节点的,能够用于表示序列的数据结构。 Singly-linked list: 链表中的节点仅指向下一个节点。 Doubly-linked list: 链表中的节点不仅指向下一个节点,还指向前一个节点。 时间复杂度: 索引: O(n) 搜索: O(n) 插入: O(1) 移除: O(1) Stack 栈是元素的集合,其包含了两个基本操作:push 操作可以用于将元素压入栈,pop 操作可以将栈顶元素移除。 遵循后入先出(LIFO)原则。 时间复杂度: 索引: O(n) 搜索: O(n) 插入: O(1) 移除: O(1) Queue 队列是元素的集合,其包含了两个基本操作:enqueue 操作可以用于将元素插入到队列中,而 dequeeu 操作则是将元素从队列中移除。 遵循先入先出原则 (FIFO)。 时间复杂度: 索引: O(n) 搜索: O(n) 插入: O(1) 移除: O(1) Tree 树即是无向非循环图。 Binary Tree 二叉树即是每个节点最多包含左子节点与右子节点这两个节点的树形数据结构。

微服务为什么选Spring Cloud?

时间秒杀一切 提交于 2020-12-18 06:59:46
现如今微服务架构十分流行,而采用微服务构建系统也会带来更清晰的业务划分和可扩展性。同时,支持微服务的技术栈也是多种多样的,本系列文章主要介绍这些技术中的翘楚——Spring Cloud。这是序篇,主要讲述我们为什么选择Spring Cloud和它的技术概览。 1、为什么微服务架构需要Spring Cloud 简单来说,服务化的核心就是将传统的一站式应用根据业务拆分成一个一个的服务,而微服务在这个基础上要更彻底地去耦合(不再共享DB、KV,去掉重量级ESB),并且强调DevOps和快速演化。这就要求我们必须采用与一站式时代、泛SOA时代不同的技术栈,而Spring Cloud就是其中的佼佼者。 DevOps是英文Development和Operations的合体,他要求开发、测试、运维进行一体化的合作,进行更小、更频繁、更自动化的应用发布,以及围绕应用架构来构建基础设施的架构。这就要求应用充分的内聚,也方便运维和管理。这个理念与微服务理念不谋而合。 接下来我们从服务化架构演进的角度来看看为什么Spring Cloud更适应微服务架构。点击 这里 查看Spring系列教程集合。 1.1 从使用nginx说起 最初的服务化解决方案是给提供相同服务提供一个统一的域名,然后服务调用者向这个域名发送HTTP请求,由Nginx负责请求的分发和跳转。 这种架构存在很多问题: Nginx作为中间层

面试官:兄弟,说说Java到底是值传递还是引用传递

北战南征 提交于 2020-12-18 04:33:24
面试官:兄弟,说说Java到底是值传递还是引用传递 二哥,好久没更新面试官系列的文章了啊,真的是把我等着急了,所以特意过来催催。我最近一段时间在找工作,能从二哥的文章中学到一点就多一点信心啊! 说句实在话,离读者 trust you 发给我这段信息已经过去 1 周时间了。不是我怠慢,确实是可更新的内容实在是太多了。这不,又有两个读者不约而同地要求我更新一下 Java 到底是值传递还是引用传递方面的文章——其实这个问题我之前是写过的,但现在看起来答案似乎不够尽善尽美,所以打算以面试的角度重写一篇。 七年前,我从温和湿润的苏州回到古色古香的洛阳,抱着一幅“天下我有”的心态“约谈”了几位面试官。其中有一位叫老马,让我印象深刻。因为他当时扔了一个面试题把我砸懵了:说说 Java 到底是值传递还是引用传递吧。 我当时年轻气盛,自认为所有的面试题都能对答如流,没想到被老马“刁难”了——原来洛阳这块互联网的荒漠也有技术专家啊。现在回想起来,脸上不自觉地就泛起了羞愧的红晕:当时真菜!不管怎么说,是时候写篇文章剖析一下值传递还是引用传递的区别了。 将参数传递给方法有两种常见的方式,一种是“值传递”,一种是“引用传递”。C 语言本身只支持值传递,它的衍生品 C++ 既支持值传递,也支持引用传递,而 Java 只支持值传递。 01、值传递 VS 引用传递 首先,我们必须要搞清楚,到底什么是值传递

Maven面试宝典啊

做~自己de王妃 提交于 2020-12-18 03:15:05
一、Maven有哪些优点和缺点 优点如下: 简化了 项目构建.依赖管理 : 易于上手,对于新手可能一个"mvn clean package"命令就可能满足他的工作 便于与持续集成工具(jenkins)整合 便于项目升级,无论是项目本身升级还是项目使用的依赖升级。 有助于多模块项目的开发, 一个模块开发好后,发布到仓库,依赖该模块时可以直接从仓库更新,而不用自己去编译。 maven有很多插件,便于功能扩展,比如生产站点,自动发布版本等 缺点如下: maven是一个庞大的构建系统,学习难度大 maven采用约定优于配置的策略(convention over configuration),虽然上手容易,但是一旦出了问题,难于调试。 当依赖很多时,m2eclipse 老是搞得Eclipse很卡。 中国的网络环境差,很多repository无法访问,比如google code, jboss 仓库无法访问等。 二、Maven坐标 一般maven使用[ groupID,artifactId,version,packaging ] 来表示一个项目的某个版本 ,有时还会使用classifier来表示项目的附属构建,常见的附属构建有javadoc和sources包。 三、Maven常见的依赖范围有哪些? compile: 编译依赖,默认的依赖方式 ,在 编译 (编译项目和编译测试用例), 运行测试用例