(完整版)数据仓库架构师笔试题

(完整版)数据仓库架构师笔试题
(完整版)数据仓库架构师笔试题

数据仓库架构师笔试题

1、请简述下什么缓慢变化维,以及通过设计怎样解决缓慢变化维的问题。

参考答案:这道题是数据仓库的基础知识题,能答对答全的基本可确定对方有一定的数据仓库开发和设计经验。

1)

2、请简述下数据仓库一般有哪两种设计模式,以及这两种设计模式的优缺点。

参考答案:这题属于简单的基础知识题。其解题思路如下:

1)能准确说出雪花模型和星型模型这两个模型的,算及格。

2)能描述出雪花模型和星形模型分别是怎样一种模型,比如星型模型是维度与事实表直接关联,不存在多层维度的结构,而雪花模型层了维度表保持三范

式或准三范式设计外其它与星形模型一样的,最好能用图例画出来的,得90

分。

3)能够说出雪花模型和星形模型的优缺点的,其中星形模型减少了关联,用空间换时间,性能更优,雪花模型结构更清晰,维护更方便,但性能差一些。

通常的数据仓库建设都是两者的混合模式存在。得满分。

3、请简述下自己做过的项目中用过那些实体,以及各实体间的关系,并将实体中的一些核

心属性列出来。

参考参考:这道题没有标准答案,根据各自项目的情况有不同答案,首先面试者必须将项目中的关键实体、实体属性,以及实体间的关系描述出来。另外可以通过对方的描述,了解对方在对所做项目的了解程度,在项目中承担的角色和作用,以及对方的语言沟通能力。

4、7、请简述下在实体关系是1对1,1对多,多对多的情况下,怎么去设计表来记录两

个实体之间的关系,可举例说明。

参考答案:本题算是一道相对简单的设计基础题,如果这题答不出来,基本确定没什么数据库设计经验,并且作为开发人员对数据库结构的了解也是很有限的。解题思路如下:1)1对1关系可以将其中一个表的主键带到另一个表中,以便于关联查询。

2)1对多关系只能将前者的主键带在后者的表中,不能反过来。比如学校和班级表,只能表学校的标识放在班级表中,而不能反过来。

3)多对多关系则必须在两者之间额外创建一张中间表(一般叫交叉表),这个答案才是最关键的答案,没答对这个,基本可以判定不及格。

5、请简述下数据库(以Oracle为例)有哪几种常见的Join方式,并简要描述各种Join

方式用在哪种场景下会比较适合?

6、请简要描述下数据库(以Oracle为例)有哪几种常见的索引,并说明每种索引的优缺

点。

7、假设现在有一个社保缴费清单表A(社保号,参保单位编号,缴费月份),缴费清单保

存个人历史所有参数记录。请用一个SQL(可使用伪代码)统计出每个参保人(以社保号标识一个人)在每段工作经历(以缴纳社保为准)的最早缴社保月份、最近缴社保月份,

以及缴纳月份数。

参考答案:这题是一道比较复杂的题,即考验了一个人的理解能力,也考验了实

际开发能力。具体解题思路和计分情况如下:

4)此题如果如果知道通过社保号、参保单位编号作为分析函数的分组键,然后取最大月份,最小月份,算30分。

5)如果能了解到一个人可能对某家公司有多次进出的情况。算及格。

6)如果能分清楚直接用在某家企业最大缴纳月份减去最小缴纳月份取月份数存在可能性错误的,可得80分。

7)如果能通过缴纳月份减去以社保号、参保单位作为分组,以缴纳月份排序生成的序号来作为每次工作经历的分组基数,再通过该分组基础取最大月份和

最小月份之差得出结果的,以满分计。如果能通过其它更复杂的思路得出结

果,可算90分。

8、假设现在有一张日志表(日志流水号,程序名,开始时间,结束时间,运行状态),目

前日志流水号是主键,程序名和运行状态这两个字段上建了普通索引,请用一个SQL 求出最近某个程序的最近成功运行时间。假设总共只有10个程序在运行,但每过3秒运行一次,使得运行的日志越来越大,那以上面的SQL性能是否已经出现问题?如果出现问题,请在不删除日志记录的情况下,怎么去优化这个过程。

参考答案:这首题算中等复杂难度。解决思路及计分情况如下:

1)能知道当前性能的瓶颈使用当前索引根本无法解决的,算及格。

2)能通过将日志表按天分区按小时子分区存储日志,然后尽量从最近分区向早期分区递进查询的,算80分。

3)能想出重新创建一张表,通过程序控制只保存最近成功日志,则可得满分。

最新运维中心笔试题答案

数据库运维中心笔试题答案 一、单项选择 1、T-SQL语句是由哪一家公司设计出的:(A) A Microsoft B IBM C SUN 2、 SQL-Server 的数据库类型属于哪一类型:(A) A 关系型数据库 B 网络型数据库 C 层次型数据库 3、要启动SQL-Server 的服务器,在命令提示符下键入以下什么命令可以启动SQL-Server服务器:(B) A net send B net start mssqlerver C net help 4、输入和调试T-SQL语句的工具是:(B) A 企业管理器 B 查询分析器 C 服务器网络使用工具 D 联机丛书 5、创建数据库的关键字是: (B) A delete B Create C from D talbe 6、数据库的日志文件的扩展名是:(B) A mdf B ldf C ndf D log 7、创建表的主约束使用哪个关键字:(B) A check B primary C foreign D rull 8、datetime属于什么数据类型:(A) A 日期型 B 时间型 C 字符串型 D 整数型 9、下列数据类型中不能属于sql_variant 型的是:(C) A varchar B int C image D datetime 10、存储过程sp_bindrule的作用是什么:(A) A 绑定规则 B 查看表结构 C 绑定默认值 D 查看过程 11、insert 表示的含义:(A) A 添加 B 删除 C 查询 D 更改 12、SQL-Server 中外键约束关键字为:(C) A primary key B unique C foreign key D check 13、alter view 表示:(B) A 创建视图 B 更改视图 C 检索视图 D 删除视图

(完整word版)建设数据仓库的八个步骤

大数据技术部 建设数据仓库的八个步骤2017年04月25日编制

建设数据仓库的八个步骤 摘要: 建立数据仓库是一个解决企业问题的过程,业务人员往往不懂如何建立和使用数据仓库,发挥其决策支持的作用;信息部门的人员往往又不懂业务,不知道应该建立哪些决策主题。 关键词:数据仓库元数据 建设数据仓库 建立数据仓库是一个解决企业问题的过程,业务人员往往不懂如何建立和使用数据仓库,发挥其决策支持的作用;信息部门的人员往往又不懂业务,不知道应该建立哪些决策主题,从数据源中抽取哪些数据。因此数据仓库的项目小组应该由业务人员和信息部门的人员共同组成,双方需要相互沟通,协作开发数据仓库。 开发数据仓库的过程包括以下几个步骤。 1.系统分析,确定主题 建立数据仓库的第一个步骤就是通过与业务部门的充分交流,了解建立数据仓库所要解决的问题的真正含义,确定各个主题下的查询分析要求。 业务人员往往会罗列出很多想解决的问题,信息部门的人员应该对这些问题进行分类汇总,确定数据仓库所实现的业务功能。一旦确定问题以后,信息部门的人员还需要确定一下几个因素: ·操作出现的频率,即业务部门每隔多长时间做一次查询分析。 ·在系统中需要保存多久的数据,是一年、两年还是五年、十年。 ·用户查询数据的主要方式,如在时间维度上是按照自然年,还是财政年。 ·用户所能接受的响应时间是多长、是几秒钟,还是几小时。

由于双方在理解上的差异,确定问题和了解问题可能是一个需要多次往复的过程,信息部门的人员可能需要做一些原型演示给业务部门的人员看,以最终确定系统将要实现的功能确实是业务部门所需要的。 2.选择满足数据仓库系统要求的软件平台 在数据仓库所要解决的问题确定后,第二个步骤就是选择合适的软件平台,包括数据库、建模工具、分析工具等。这里有许多因素要考虑,如系统对数据量、响应时间、分析功能的要求等,以下是一些公认的选择标准: ·厂商的背景和支持能力,能否提供全方位的技术支持和咨询服务。 ·数据库对大数据量(TB级)的支持能力。 ·数据库是否支持并行操作。 ·能否提供数据仓库的建模工具,是否支持对元数据的管理。 ·能否提供支持大数据量的数据加载、转换、传输工具(ETT)。 ·能否提供完整的决策支持工具集,满足数据仓库中各类用户的需要。 3.建立数据仓库的逻辑模型 具体步骤如下: (1)确定建立数据仓库逻辑模型的基本方法。 (2)基于主题视图,把主题视图中的数据定义转到逻辑数据模型中。 (3)识别主题之间的关系。

2012下半年系统架构设计师下午试题Ⅱ分析与解答

2012年下半年系统架构设计师下午试题Ⅱ分析与解答 (总分75, 考试时间120分钟) 试题一论基于架构的软件设计方法及应用 基于架构的软件设计(Architecture-Based Software Design,ABSD)方法以构成软件架构的商业、质量和功能需求等要素来驱动整个软件开发过程。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求,并强调在架构设计过程中使用软件架构模板。采用ABSD方法,设计活动可以从项目总体功能框架明确后就开始,因此该方法特别适用于开发一些不能预先决定所有需求的软件系统,如软件产品线系统或长生命周期系统等,也可为需求不能在短时间内明确的软件项目提供指导。 请围绕“基于架构的软件开发方法及应用”论题,依次从以下三个方面进行论述。 1.概要叙述你参与开发的、采用ABSD方法的软件项目以及你在其中所承担的主要工作。 2.结合项目实际,详细说明采用ABSD方法进行软件开发时,需要经历哪些开发阶段?每个阶段包括哪些主要活动? 3.阐述你在软件开发的过程中都遇到了哪些实际问题及解决方法。 试题一写作要点 一、论文中要具体介绍项目的背景与总体需求、系统所采用的技术路线以及你所承担的实际工作。 二、采用ABSD方法进行软件开发时,需要经历架构需求、架构设计、架构文档化、架构复审、架构实现和架构演化六个阶段。 1.架构需求阶段需要明确用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。其主要活动包括需求获取、标识构件和架构评审。 (1)需求获取活动需要定义开发人员必须实现的软件功能,使得用户能够完成他们的任务,从而满足功能需求。与此同时,还要获得软件质量属性,满足一些非功能性需求。 (2)标识构件活动首先需要获得系统的基本结构,然后对基本结构进行分组,最后将基本结构进行打包成构件。 (3)架构需求评审活动组织一个由系统涉众(用户、系统分析师、架构师、设计实现人员等)组成的小组,对架构需求及相关构件进行审查。审查的主要内容包括所获取的需求是否真实反映了用户需求,构件合并是否合理等。 2.架构设计阶段是一个迭代过程,利用架构需求生成并调整架构决策。主要活动包括提出架构模型、将己标识的构件映射到架构中、分析构件之间的相互作用、产生系统架构和架构设计评审。 3.架构文档化的主要活动是对架构设计进行分析与整理,生成架构规格说明书和测试架构需求的质量设计说明书。 4.在一个主版本的软件架构分析之后,需要安排一次由外部人员(客户代表和领域专家)参加的架构复审。架构复审需要评价架构是否能够满足需求,质量属性需求是否

高级开发人员架构师面试题

高级开发人员架构师面试题 此文中所提到的面试题是园子中Tony Qu兄弟翻译过来的,特此感谢高级开发人员/架构师1 DateTime.ParsemyString 有问题,当myString丌能满足时间格式要求的时候,会引发异常,建议使用DateTime.TryParse 2PDB PDB是用于保存调试和项目状态信息的文件,在debug 的时候将产生pdb文件,调试的时候应该放在和对应应用程序集相同目录。3 cyclomatic complexity 丌知道,望指教?4 lock private static object instrace static object lockedObj new object public static void LockTest if instrace null lock lockedObj if instance null instance new object 5 FullTrustGACassemblyFullTrust FullTrust完全信任。放入GAC中的Assembly是否FullTrust我的理解丌是。我理解FullTrust是可以通过代码设定的6 可以更加灵活的设置对代码的访问权限,实现代码级保护。?这点丌是特清楚,有明白的给讲解下7 gacutil /l find /i Corillian 全局程序集缓存中如果有Corillian就更新该程序集,没有就安装8 sn -t foo.dll 显示程序集foo.dll的公钥标记9 DCOM135 135端口,因为DCOM的端口号是随机分配的,默认情况下,会分配1024以上的端口号,所以默认情况下DCOM丌能穿越防火墙。因为根本丌晓得开哪个端口。但有解决办法可以使DCOM分配的端口号固定,有关内容我在https://www.360docs.net/doc/bb6612018.html,/jillzhang/archive/2008/02/20/1075057.html 有过一些描述。135是远程过程调用RPC的默认端口10OOPSOA 我想OOP和SOA应该没有对比性吧。OOP是一种编程模型,强调将复杂的逻辑分解出小的模块,特性是继承,封装和多态。而SOA是一个技术框架,技术框架和编程模型应该说丌是一码事吧?SOA的思想是将业务逻辑封装成服务戒者中间件提供给应用程序来调用,当然其组件化思想是继承和发扬了OOP的优点。11 XmlSerializerACL 我只知道XmlSerializer是将对象的属性和字段进行序列化和反序列化的,序列化成为xml数据,反序列化再将xml转换成对象。应该至少需要ACL权限中的读权限. 12catchException 原因可能有两点:1)try..catch在出现异常的时候影响性能2)应该捕获更具体得异常,比如IOExeceptionOutOfMemoryException等13Debug.WriteTrace.Write Debug.Write是调试的时候向跟踪窗口输出信息。当编译模式为debug的时候才有效,为release的时候Debug.Write在编译的时候会忽略而Trace则是在debug和release两种模式下均可以向跟踪窗口输出信息。14Debug BuildRelease Build Debug会产生pdb文件,release 丌会。Debug用于开发时的调试,丌能要于部署,而release用于部署.debug编译一些特殊代码,比如IFDEBUG Debug.Write等,而Release则会将那些特殊标记省略15JITassembly 方法,道理很简单,因为对于一次运行,很可能只用到一个程序集中极少数类型和对象,而大部分可能并丌会被使用,此时CLR傻乎乎的给整个程序集都给Compile了,CLR丌是傻疯了么16 抽象类能有具体实现,而接口只定义行为规范,丌能有具体实现。一个类只能继承一个父类,但能实现多个接口。17a.Equalsba b 丌一样。多数情况下,a.Equalsb表示a 不b一致,ab表示a不b的值相等。也可以有具体重载(多谢Jeffrey Zhao 的指正)18 对象一致是指两个对象是同一个对象,引用相同。而对象相等是指两个对象的值相同,但引用丌一定相同https://www.360docs.net/doc/bb6612018.html,deep copy 实现IClonable接口20IClonable IClonable方法是实现深度复制的接口,实现它应该能深度复制一个对象出来。深度复制的特征的调用对象的构造方法,创建新的对象,包括创建对象中嵌套的引用对象的新实例。而Shadow复制则丌同,是浅表复制,丌重新创建新实例。浅表复制的实现是Object.MemberWiseClone. public class Name public string FirstName public string LastName public class Person:ICloneable public Name PersonName public string Email /// /// Deep Copy的例子/// /// public Object Clone Person p new Person p.Email this.Email p.PersonName new Name p.PersonName.FirstName this.PersonName.FirstName https://www.360docs.net/doc/bb6612018.html,stName https://www.360docs.net/doc/bb6612018.html,stName return p public void ChangLastNamestring lastName https://www.360docs.net/doc/bb6612018.html,stName lastName public static void Main Person p new Person p.PersonName new Name https://www.360docs.net/doc/bb6612018.html,stName jill

bi etl 数据仓库面试培训题

面试培训题 1.BI(business intelligence)模型有哪些? 答:星星模型和雪花模型, 雪花模型一般不用,星星模型就是一个事实表和多个维表相关联。 2.维度建模的数据仓库中,有一个概念叫Slowly Changing Dimensions,中文一般翻译成“缓慢变化维”,经常被简写为SCD。 缓慢变化维的提出是因为在现实世界中,维度的属性并不是静态的,它会随着时间的流失发生缓慢的变化。这种随时间发生变化的维度我们一般称之为缓慢变化维,并且把处理维度表的历史变化信息的问题称为处理缓慢变化维的问题,有时也简称为处理SCD的问题。 例如:员工维表,这个员工在某段时间在这个部门,然后过段时间换了部门换了工作地,需要多行数据来记录这种变化,人员的属性是变化的,就叫缓慢变化维。 3oracle的存储单位是什么?结构是什么样的?有什么组成? 物理存储结构:多种物理文件,如数据文件,日志文件,参数文件,控制文件 逻辑存储结构:表空间,段,区,数据块组成 4工作中用到哪些ETL软件? E-extract 抽取T-transform 转换L-load 加载 IBM公司的datastage(DS) 5实例=内存+进程 Instance:SGA,PGA SGA:shared pool(library cache,dictionary data cache ),database buffer cache ,redo log buffer, BWN:数据文件CKPT:控制文件LGWR:在线日志

六.对SQL优化的认识? QL三段分拆法,SQL可以分为3段 1.SELECT 部分,重点关注SELECT 部分有没有标量子查询,有没有自定义函数 2.FROM 后面,重点关注有没有内联视图,有没有视图套视图,看有没有进行视图合并、谓词推入 3.WHERE 条件部分,看有没有IN,NOT IN,EXISTS,NOT EXISTS 子查询,将in/exist都改成WITH AS 最好有没有外连接,有没有在列上面有函数导致不能走索引,减少表关联,看表设计是1:1还是1:N的关系 4看统计信息是否过期,过期的进行收集 5关注大表,大表才有新问题,是否是小表当驱动表,大表当被驱动表 6看执行计划是hash还是nl(嵌套循环)用hint来改变执行计划 (nl和hash就是两种执行计划,就是说你选择的是哪种路径,坐公交还是地铁,让sql跑的块,到达目的地。sql查出来的数据是不会变的,对应目的地是不会变的。公交方式有多种,对应执行计划有多种)

2011年软考系统架构设计师(高级)学习笔记

2011年软考系统架构设计师学习笔记第一章 1.1.1 系统架构师的概念 现代信息系统“架构”三要素:构件、模式、规划;规划是架构的基石,也是这三个贡献中最重要的。 架构本质上存在两个层次:概念层,物理层。 1.2.1 系统架构师的定义 负责理解、管理并最终确认和评估非功能性系统需求,给出开发规范,搭建系统实现的核心架构,对整个软件架构、关键构建、接口进行总体设计并澄清关键技术细节。 主要着眼于系统的“技术实现”,同时还要考虑系统的“组织协调”。 要对所属的开发团队有足够的了解,能够评估该开发团队实现特定的功能需求目标和资源代价。 1.2.2 系统架构师技术素质 对软件工程标准规范有良好的把握。 1.2.3 系统架构师管理素质 系统架构师是一个高效工作团队的创建者,必须尽可能使所有团队成员的想法一致,为一个项目订制清晰的、强制性的、有元件的目标作为整个团队的动力; 必须提供特定的方法和模型作为理想的技术解决方案; 必须避免犹豫,必须具备及时解决技术问题的紧迫感和自信心。 1.2.4 系统架构师与其他团队角色的协调 系统分析师,需求分析,技术实现 系统架构师,系统设计,基于环境和资源的系统技术实现 项目管理师,资源组织,资源实现 由于职位角度出发产生冲突制约,不可能很好地给出开发规范,搭建系统实现的核心架构,并澄清技术细节,扫清主要难点。 所以把架构师定位在项目管理师与系统分析师之间,为团队规划清晰的目标。 对于大型企业或项目,如果一人承担多个角色,往往容易发生顾此失彼的现象。 1.3 系统架构师知识结构 需要从大量互相冲突的系统方法和工具中区分出哪些是有效的,那些是无效的。 1.4 从开发人员到架构师 总结自己的架构模式,深入行业总结规律。 几天的培训不太可能培养出合格的软件架构师,厂商的培训和认证,最终目的是培养自己的市场,培养一批忠诚的用户或产品代言人,而不是为中国培养软件架构师。

数据仓库面试题

数据仓库及BI工程师面试题集锦 前言 1、介绍一下项目经验、项目中的角色。 一、数据库 1、Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作 用? i.视图与表的区别 1. 1、视图是已经编译好的sql语句。而表不是 2. 视图没有实际的物理记录。而表有。 3. 表是内容,视图是窗口 4. 表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在, 表可以及时四对它进行修改,但视图只能有创建的语句来修改ii. 物化视图与视图区别 1.物化视图和视图差别非常大,不是几句能说清物化视图是自动刷新或者 手动刷新的,视图不用刷新物化视图也可以直接update,但是不影响b ase table,对视图的update反映到base table上物化视图主要用于 远程数据访问,物化视图中的数据需要占用磁盘空间,视图中不保存数据。 2、Oracle数据库,有哪几类索引,分别有什么特点? a) 1.单列索引与复合索引 一个索引可以由一个或多个列组成,用来创建索引的列被称为“索引列”。 单列索引是基于单列所创建的索引,复合索引是基于两列或者多列所创建的索引。 2.唯一索引与非唯一索引 唯一索引是索引列值不能重复的索引,非唯一索引是索引列可以重复的索引。

无论是唯一索引还是非唯一索引,索引列都允许取NULL值。默认情况下,Oracle 创建的索引是不唯一索引。 3.B树索引 B树索引是按B树算法组织并存放索引数据的,所以B树索引主要依赖其组织并存放索引数据的算法来实现快速检索功能。 4.位图索引 位图索引在多列查询时,可以对两个列上的位图进行AND和OR操作,达到更好的查询效果。 5.函数索引 Oracle中不仅能够直接对表中的列创建索引,还可以对包含列的函数或表达式创建索引,这种索引称为“位图索引”。 3、Union与Union All的区别? a)Union会对查询结果进行排序去重,效率比union all 低,union all只是两个查 询集的合并操作。建议使用Union all,查询出来后再对数据进行去重操作。 4、对游标的理解?游标的分类?使用方法? 游标是映射在结果集中一行数据的位置实体,有了游标,用户就可以访问结果集中的任何一条数据。游标分为静态游标和REF游标,静态游标分为显示游标和隐式游标,显示游标使用步骤是声明游标,打开游标,获取记录,关闭游标。所有的DML语句为隐式游标,可以从游标的属性获得sql语句的信息。REF游标是动态关联结果集的临时对象,使用步骤也是先要进行声明游标,然后打开游标,获取记录,关闭游标。 5、如何查找和删除表中的重复数据?给出方法或SQL。 查询表中重复数据。 Select * from people where id in (Select id from people group by id having count(id)>1); Delete from people where id in(select id from people group by id having count(id)>1) and rowid not in (select min(rowid) from people group by id hacing count(id)>1);

数据仓库实例

计算机
王莹

本例采用的是SQl Server2005所提供的商业智能服务和工 具,主要包括Analysis Services(分析服务), Integration Services(集成服务),Reporting Services(集成服务)和Bussiness Intelligence Developer Studio(BIDS)。

分析服务(Analysis Services) SQL Server 分析服务(SSAS)是一个用于分析数据仓库中数据的工 具,它包括了OLAP和数据挖掘工具。在SQL Server 2005数据库系统 中,Analysis Services工具以服务器的方式为用户提供管理多维数 据立方体的服务。Analysis Services可以把数据仓库中的数据组织 起来,经过预先的聚集运算,加入到多维立方体中(即建立立方 体),然后对复杂的分析型访问做出迅速的回答。

集成服务(Integration Services) SQL Server 集成服务(SSIS)被定位成一个能生成高性能数据集成解决 方案(包括数据仓库中数据的提取、转换和加载(ETL))的平台。其集 成的含义主要就是指把ETL集成在一起。SSIS通过一个统一的环境向用户 提供了数据转换服务(DTS)所能提供的所有功能,并且大大减少了用户 花在编写程序和脚本上的精力和时间。 SSIS的基本功能包括:
? ? ? ? ? ? 合并来自异类数据源中的数据 填充数据仓库和数据集市 整理数据和将数据标准化 精确和模糊的查找功能 将商业智能置入数据转换过程 使管理功能和数据加载自动化

(完整版)架构师面试问题指导性框架

架构师面试问题指导性框架 1. Java基础问题 (3) 1.1. 所有Java类的基类是什么? (3) 1.2. Object类中有哪些方法?(说出三个) (3) 1.3. equals和==的差别? (3) 1.4. hashCode的作用 (3) 1.5. hashCode和equals方法的关系 (3) 1.6. 如何停止一个线程? (3) 1.7. Thread.setDeamon()的含义? (5) 1.8. ClassLoader的功能和工作模式? (5) 1.9. 列举几个Java Collection类库中的常用类,试简述其类结构。 (6) 1.10. Input/OutputStream和Reader/Writer有何区别?何为字符,何为字节? (6) 1.11. 如何在字符流和字节流之间转换? (6) 1.12. GC垃圾收集是什么意思?怎样的对象会被收集? (6) 2. JavaEE的问题 (6) 2.1. Serlvet/JSP相关 (6) 2.1.1. JSP的工作原理 (6) 2.1.2. Servlet中的session工作原理 (6) 2.1.3. WEB层如何实现Cluster (7) 2.2. EJB相关 (7) 2.2.1. EJB的类型 (7) 2.2.2. EJB的工作原理 (7) 2.2.3. EJB的应用领域 (7) 2.3. JMS相关 (7) 2.3.1. JMS的模式 (7) 2.4. JDBC/JTA/JTS相关 (7) 2.4.1. 用JDBC怎样从数据库中查询一条记录? (7) 2.4.2. Transaction有哪几种隔离级别?(Isolation Level) (7) 2.4.3. Global transaction的原理是什么? (7) 2.5. WebService相关 (8) 2.5.1. 简述WebService是怎么实现的? (8) 2.6. Ant/maven的知识 (8) 2.6.1. 用过ant或maven吗?它们是什么?有什么特点(或好处)? (8) 3. 开源软件的问题 (8) 3.1. Spring相关 (8) 3.1.1. Spring的核心理念是什么? (8) 3.2. iBatis/hibernate相关 (8) 3.2.1. 简介hibernate和(或)ibatis,及它们的异同、优缺点。 (8) 3.3. 其它软件 (8) 3.3.1. Web层框架 (8) 3.3.2. 数据层框架 (8) 3.3.3. 普通工具类 (8) 3.3.4. 测试框架 (8) 3.3.5. Service框架 (8) 3.3.6. (9) 4. OOA/OOD (9) 4.1. OOD的原则 (9)

ETL面试题

一、分析 1.什么是逻辑数据映射?它对ETL项目组的作用是什么? What is a logical data mapping and what does it mean to the ETL team? 答: 逻辑数据映射(Logical Data Map)用来描述源系统的数据定义、目标数据仓库的模型以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或Excel 的格式保存如下的信息: 目标表名: 目标列名: 目标表类型:注明是事实表、维度表或支架维度表。 SCD类型:对于维度表而言。三种SCD(Slowly Changing Dimension)技术 SCD1直接修改原维表信息,不保存任何维历史信息。 SCD2创建新的记录而不删除或修改原有维信息。可通过为每条记录设定过期时间、生效时间两个字段来区分各历史记录和当前记录(历史记录的过期时间均早于当前记录的生效时间)。 SCD3在维表中定义历史信息字段,只保存有限的历史信息(此技术很少应用) 源数据库名:源数据库的实例名,或者连接字符串。 源表名: 源列名: 转换方法:需要对源数据做的操作,如Sum(amount)等。 逻辑数据映射应该贯穿数据迁移项目的始终,在其中说明了数据迁移中的ETL策略。在进行物理数据映射前进行逻辑数据映射对ETL项目组是重要的,它起着元数据的作用。项目中最好选择能生成逻辑数据映射的数据迁移工具。 -----------------------------补充: 逻辑数据映射分为两种: 1: 模型映射: 从源模型到DW目标模型之间的映射类型有:

一对一:一个源模型的数据实体只对应一个目标模型的数据实体。如果源类型与目标类型一致,则直接映射。如果两者间类型不一样,则必须经过转换映射。 一对多:一个源模型的数据实体只对应多个目标模型的数据实体。在同一个数据存储空间,常常出现会一个源实体拆分为多个目标实体的情况下。在不同的存储空间中,结果会对应到不同的存储空间的实体。 一对零:一个源模型的数据实体没有与目标模型的数据实体有对应,它不在我们处理的计划范围之内。 零对一:一个目标模型的数据实体没有与任何一个源数据实体对应起来。例如只是根据设计考虑,时间维表等。 多对一:多个源模型的数据实体只对应一个目标模型的数据实体。 多对多:多个源模型的数据实体对应多个目标模型的数据实体。 2: 属性映射 一对一:源实体的一个数据属性列只对应目标实体的一个数据属性列。如果源类型与目标类型一致,则直接映射。如果两者间类型不一样,则必须经过转换映射。 一对多:源实体的一个数据属性列只对应目标实体的多个数据属性列。在同一个实体中,常常出现会一个源属性列拆分为目标的多个属性列情况。在不同实体中,结果会对应到不同的实体的属列。 一对零:一个源实体的数据属性列没有与目标实体的数据属性列有对应,它不在我们处理的计划范围之内。 零对一:一个目标实体的数据属性列没有与任何一个源数据属性列对应起来。例如只是根据设计考虑,维表和事实表中的时间戳属性,代理健等。 多对一:源实体的多个数据属性列只对应目标实体的一个数据属性列。 多对多:源实体的多个数据属性列对应目标实体的多个数据属性列。 作用: 1 为开发者传送更为清晰的数据流信息。映射关系包括有关数据在存储到DW前所经历的各种变化的信息,对于开发过程中数据的追踪审查过程非常重要。 2 把ETL过程的信息归纳为元数据,将数据源结构,目标结构,数据转换规则,映射关系,数据的上下文等元数据保存在存储知识库中,为元数据消费者提供很好的参考信息,追踪数据来源与转换信息,有助于设计人员理解系统环境变化所造成的影响;

数据仓库团队面试题-答案

目录 1简答题 (1) 1.1SQL Server与Oracle、DB2三种数据库比较 (1) 1.2以下三种数据库语言都包含哪些细项 (2) 1.3UNION 和UNION ALL的区别 (2) 2实例题................................................................................................................... 错误!未定义书签。3逻辑推理题 (5) 答案............................................................................................................................... 错误!未定义书签。1简答题 1.1 SQL Server与Oracle、DB2三种数据库比较 SQL Server与Oracle、DB2三种数据库进行比较,有何区别?请从开放性,可伸缩性,并行性,安全性三个方面叙述。 答案: 开放性 SQL Server 只能在Windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且Windows平台的可靠性,安全性和伸缩性是非常有限的。它不象Unix那样久经考验,尤其是在处理大数据量的关键业务时。 Oracle 能在所有主流平台上运行(包括 Windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。 DBz 能在所有主流平台上运行(包括Windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器,而国内到97年约占5%。 可伸缩性,并行性 SQL Server 并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。Oracle平行服务器通过使一组结点共享同一簇中的工作来扩展Window NT的能力,提供高可用性和高伸缩性的簇的解决方案。如果WindowsNT不能满足需要, 用户可以把数据库移到UNIX中。 DB2 DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。数据库分区是数据库的一部分,包含自己的数据、索引、配置文件、和事务日志。数据库分区有时被称为节点或数据库节点。

十大架构师谈服务器选型 ——证券行业篇

十大架构师谈服务器选型——证券行业篇 证券企业一般在全国范围内经营业务,网络庞大、结构复杂,典型业务模式有柜台交易、自助委托、电话委托、网上委托等。各证券营业部和总部通过网络将交易所、证券公司与交易者三方连接在一起,共同完成证券交易,并实现行情、交易、结算、办公等各环节的自动化。证券企业网络一般由四部分组成:总部网络、营业部网络、银证交易系统和网站系统。 证券集中业务体系解决方案 作为支撑业务运转的基础平台,证券公司总部、区域总部成为证券营业业务的处理核心,证券营业部、服务部、支持部等分支机构成为业务服务单位。 营业部、服务部等分支机构实现了各分支机构的基本工作职能,它侧重于本地IT系统建设,其通信服务功能模块只起到辅助作用。 利用集中式交易系统, 具有相当规模的证券公司将远距离控制多个分支机构和为远程 大户提供服务,相应业务范围和工作模式都会有很大改变,因此需要一个强有力的IT体系解决方案来支撑证券业务集中业务和其他相关增值业 证券集中系统解决方案 采用集中交易模式,券商总部就成为整个交易体系的核心,所有分支机构的交易请求等业务均由券商总部中心进行处理,各分支机构只保留行情服务系统、客户服务接入平台、通讯中间层等前端处理平台;这样有利于统一公司对外服务形象和服务品牌,符合数据仓库、CRM的建设发展趋势,还可以大大降低运营成本。实行集中交易后,总部的重要性显而易见,在使用集中式交易模式,在建设的同时建立至少一个灾难备份中心,起到数据备份和灾难恢复的重要作用。 采取集中交易模式后,整个网络体系结构由两个中心(数据中心和灾备中心)、分支机构等构成,所有分支机构直接接入总部中心。 证券集中交易解决方案 根据券商集中交易的规模(营业部数量、股民数量等),数据中心和灾备中心的主机和数据库系统选型:

ETL 面试资料

题目 1.ETL部分 1.什么是数据准备区?在数据准备区中允许使用的数据结构有哪些?各有什么优缺点? 答: 2.简述异构数据源中的数据抽取技术。 答: 3.数据质量检查的四大类是什么?为每类提供一种实现技术。 答: 4.简述数据仓库中的表的基本类型,以及为了保证引用完整性该以什么样的顺序对它们进行加载。答: 5.在ETL过程中四个基本的过程分别是什么? 答:

6.从ERP源系统中抽取数据最好的方法是什么? 答: 7.简述直接连接数据库和使用ODBC连接数据库进行通讯的优缺点。 答: 8.什么是代理键?简述代理键替换管道如何工作。 答: 9.什么叫缓慢维度变化?请分别阐述三大类维度处理方式。 答: 10.如何实现增量抽取,分别阐述各种增量抽取方式,并且比较各种方式的优劣,及你推荐的做法?答: 11.用过什么ETL工具,以及该工具简单讲述特点。 答:

12. ETL工具一般有哪些组成部分,其中数据流中常用的控件有? 答: 13.简述你在以前项目中的ETL架构思想。 答: 2.数据库部分 1. 比较truncate和delete 命令 答: 2. 视图与表有何区别? 答: 3.请说明ORACLE数据库中实例与数据库的关系,表空间和数据文件的关系。答:

4.ORACLE中varchar2,char两种数据类型有什么区别,如果库表某字段输入“ABC”后储存,该字段数据类型分别为varchar2(10),char(10)存储字节长度以及内容有何区别? 答: 5.找出"作者"库表中没有出现在"获奖名单"库表中的所有作者信息的SQL语句,(提示:使用NOT I N,NOT EXISTS,以及外部连接三种方法),并说明那种方法是不优化的。 出版社: 出版社代码 char(2),出版社名称 varchar2(32) 图书: 图书编号 char(8),图书名称 varchar2(128),出版社代码 char(2),作者代号char(4),图书简介 varchar2(128) 作者: 作者代号 char(4),作者名称 varchar2(10),性别 char(1),年龄 number(3),文学方向 var char2(64) 获奖名单: 获奖日期 date,获奖人员 char(4) 答: 6.有下列两表 Table1 Col1 INT Col2 CHAR (30) Table2 Col1 INT Col2 CHAR (30) 请问下列哪条语句会将table2的全部列插入到table1?() A. INSERT INTO table1(table2.col1,table2.col2) B. INSERT INTO table1SELECT col1, col2 FROM table2 C. INSERT INTO table1 VALUES(SELECT col1,col2FROM table2) D. INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM table2) 7.有下列两表 TAB1 TAB2 C1 C2 CX CY ---- ----- ------ ----- A 11 A 21 B 12 C 22 C 13 D 23

数据架构师岗位职责

数据架构师岗位职责 篇一:数据仓库架构师的岗位职责和岗位要求】 数据仓库架构师的岗位职责和岗位要求 根据网络招聘的资料合成的,不过好像听起来好像和项目经理的角色区别不大,呵呵!而且好像都是要全能的上将![@more@] 岗位职责 1. 制定数据仓库建设方案 2. 数据仓库的设计和开发 3. 数据仓库应用方案设计和推广 岗位要求 1 、熟悉大型企业商业智能整体运作模式和系统框架,深刻理解商业智能对业务运营的杠杆作用,能够应用bi 工具指导和帮助业务过程的改进。 2、5 年以上oracle 或者sqlserver 数据库管理经验,熟练使用unix 和linux ,深刻理解数据仓库应用设计原理和实践; 3 、精通数据库索引和sql 语句的优化,和服务器的性能参数调整,有perl, 4 、熟练一种以上主流etl 工具和bi 工具,如informatica,owb,dts 5 、能根据业务需求设计数据仓库模型,有3 年以上数据仓库开发实施经验,掌握多种数据仓库开发,多维分析相关技术和olap 前端展现工具; 6 、有相关行业数据分析经验者及互联网点击流数据分析经验者优先;有数据挖掘应用和开发经验优先; 7 、强烈责任心,开放的性格,良好的沟通能力;较强的分析问题、解决问题能力,良好的沟通能力、团队精神。 8 、熟悉erwin 或powerdesigner 建模工具; 9 、有一个以上企业级数据仓库项目设计经验,精通数据仓库架构,熟悉数据仓库项目的实施流程; 【篇二:数据架构师岗位职责】 1. 制定面向产品的数据设计规范和流程,制定数据设计所需的各种文档模板; 2. 负责数据仓库建模、数据库优化、数据部署,数据抽取等etl 的设计,编写专业的系统设计文档; 3. 对于it 系统应对大数据量和大并发所要求的性能指标从数据模型和部署等方面给出设计和持续的优化支持; 4. 参与产品架构设计文档和详细设计文档的评审; 5. 完成上级领导安排的其他任务。

软件工程师面试题(含答案)

一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答: MVC设计模式(应用观察者模式的框架模式) M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentation)。 V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图 MVC框架的一种实现模型 模型二(Servlet-centric): JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。StrutsMVC框架(Web application frameworks) Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。 Struts提供了一些组件使用MVC开发应用程序: Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean 或EJB的形式提供 View:Struts提供了action form创建form bean, 用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成Action form,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。 二、什么是WebService? 答: WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。 WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL (web服务定义语言)/SOAP(简单请求协议)规范的。 WebService=WSDL+SOAP+UDDI(webservice的注册) Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。 Web Service是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。Web Service的优点 (1) 可以让异构的程序相互访问(跨平台) (2) 松耦合 (3) 基于标准协议(通用语言,允许其他程序访问) Web Service的基本原理 (1) Service Provider采用WSDL描述服务 (2) Service Provider 采用UDDI将服务的描述文件发布到UDDI服务器(Register server)

数据仓库工程师面试题(笔试1)

数据仓库工程师面试题 姓名:____张小核______ 开始时间:_____:______ 结束时间:_____:_____ 一、数据库 1.使用过哪些数据库?试说出它们的异同。 答:使用过SQL SERVER和ORACLE 它们的区别是:1.sql server 是中小型企业用的,oracle是中大型企业用的;oracle跨平台能在linux上运行,sqlserver只能在windows运行,而linux平台比windows平台稳定,所以安全性高;sqlserver操作简便,oracle比较复杂;oracle能把数据存在不同的硬盘上sqlserver不能;oracle能够回滚表空间查询sqlserver不能;oracle支持label security,sqlserver不能;oracle扩展性比较强。 2.事务有多个性质,其中不包括( B ) A.一致性 B.唯一性 C.原子性 D.隔离性 3.CHAR类型和V ARCHAR类型有何区别? 答:char的长度是固定的,最长2000个字符,当输入的字符小于你定义的字符数目时,它会自动补空值,所以它占用空间较大但是效率高;varchar的长度是可变的,用它可以节省存储空间,但是效率没有char高。 4.视图与表有何区别? 表是实际存在的,视图是一个或多个表结果的映射,实际不存在,所以视图不占用实际的物理空间,但删除时不影响数据,而表影响 5.数据库中常见的约束有哪些? 答:1.非空值约束,是not null;2。唯一性约束,不能重复造成冗余;3.检查约束,能够保证数据完整性;还有主键不能为空,应该是唯一的,字段属性要不能再分 6.有一个空表t_empty,结构是: create table t_empty ( a integer ) 请问以下各语句的输出分别是什么? (A) select sum(a) from t_empty 什么都不输出 (B) select NullToZero(a) from t_empty *假定NullToZero是一个将Null值转成0的标函数 (C) select count(*) from t_empty 7.有下列两表 Table1 Col1 INT

相关文档
最新文档