zoukankan      html  css  js  c++  java
  • Hadoop 之面试题

    颜色区别: 蓝色:hive,橙色:Hbase。黑色hadoop

    请简述hadoop怎样实现二级排序.

    你认为用Java,Streaming,pipe 方式开发map/reduce,各有哪些优缺点:

    6. 请列出在你以前工作中所使用过的开发map /reduce的语言
    java:
    scala:
    python:
    shell:

    7.当前日志采样格式为
    a,b,c,d
    b,b,f,e
    a,a,c,f
    请用最熟悉的语言编写一个map/reduce 程序,计算第四列每个元素出现的个数:

    14.某个目录下有两个文件a.txt和b.txt,文件格式为(ip username)例如:

    a.txt
    127.0.0.1 zhangsan
    127.0.0.1 wangxiaoer
    127.0.0.2 lisi
    127.0.0.3 wangwu


    b.txt
    127.0.0.4 lixiaolu
    127.0.0.1 lisi

    每个文件至少有100万行,请使用linux命令行完成如下工作:

    a. 两个文件名各自的ip数,以及总ip 数

    b.出现在b.txt而没有出现在a.txt的ip

    c.每个username出现的次数以及每个username 对应的ip数

    30.hbase flush的过程

    35.sqoop 在导入数据到mysql 中,如何让数据不重复导入?如果存在

    数据问题,sqoop 如何处理?

    41.MapReduce开发能力

    请参照wordcount实现一个自己的mapreduce,需求为:

    a  输入文件格式:
    xxx,xxx,xxx,xxx,xxx,xxx,xxx
     
    b  输出文件格式:
    xxx,20
     
    xxx,30
     
    xxx.40
     
     
    c  功能:根据命令行参数统计输入文件中指定关键字出现的次数,并展示出来
    例如:hadoop jar xxxxx.jar keywordcount xxx,xxx,xxx,xxx(四个关键字)

    47.设计一套系统,使之能够从不断增加的不同的数据源中,提取指定格式的数据。

    要求:

    1)、运行结果要能大致得知提取效果,并可据此持续改进提取方法;
     
    2)、由于数据来源的差异性,请给出可弹性配置的程序框架;
     
    3)、数据来源可能有 Mysql,sqlserver 等;
     
    4)、该系统具备持续挖掘的能力,即,可重复提取更多信息

    51.用mapreduce实现sql语句 select count(x)from a group by b?

    58.Hadoop 参数调优。cluser level :JVM ,map/redcue slots,job level:reducer#,memeroy, use combiner?user compression?

    65.使用mapreduce来实现下面的实例

    实例:现在10个文件夹,每个文件夹都有1000000个url.现在让你找出top 10000url


    67.如何确认hadoop 集群的健康状况?

    答:

    ----------------------------------------------------------------------

    111.生产环境中为什么建议使用外部表

    112.hadoop mapreduce 创建类 DataWritable 的作用是什么?

    113.为什么创建类DataWritable?

    123.JAVA基础类:

    a.继承:写的一段代码,让写出结果

    b.引用对象和值对象

    124.Linux 基础:

    a.find 用法

    b. 给出一个文本:比如http://aaa.com

    http://bbb.com

    http://bbb.com

    http://bbb.com

    http://cccc.com

    http://ccc.com

    写出shell统计,最后输出结果:

    aaa 1

    ccc 2

    bbb 3

    要求结果还要排序

    还有别的,也是比较基础的

    125.数据库类:oracle查询语句。

    面试:讲项目经验:问的很细,给纸,笔,让画公司hadoop 的项目架构最后还让自己

    说几条业务,然后经过平台后,出来成什么样子。

    Java方面:io输入输出流里有哪些常用的类,还有webService,线程相关的知识

    linux:问道jps命令,kill 命令,问awk,sed是干什么用的、还有hadoop 的一些常用命令

    hadoop :讲hadoop1中map,shuffle,reduce的过程,其中问道map端和reduce

    端溢写(spill)的细节。

    项目部署:问了项目是怎么部署,代码怎么管理

    137.用linux实现下列要求:

    ip           username

    a.txt

    210.121,123.12  zhangsan

    34.23.56.78 lisi

    11.56.56.72 wangge

    b.txt

    58.23.53.132 liuqi

    34.23.56.78 liba

    a.txt,b.txt中至少100万行

    1. a.txt,b.txt中各自的ip个数,ip的总个数

    2.a.txt中存在的ip 而b.txt 中不存在的ip

    3.每个username 出现的总个数,每个username对应的ip 个数。

    150.对于mahout,如何进行推荐、分类、聚类、的代码二次分发分别实现哪些接口。

    151.请问下,直接将时间戳作为行健,在写入单个region时候会放生热点问题,问什么?

    161.写出你对zookeeper的理解

    十六、来自 aboutyun 的面试题(6 道)

    187.列出至少五种设计模式?用代码或UML类图描述其中两种设计模式的原理?

    200. 写一个冒泡程序

    205.以你的实际经验,说下怎样预防全表扫描

    206.多线程

    34. HADOOPHa集群中,各个服务的启动和关闭顺序?
        启动
        start-dfs.sh
        start-yarn.sh

    315.NameNode中meta数据时存放在namenode 自身,还是datanode等其他节点?

    DataNode节点自身是否有meta数据存在?

    318.在HadoopHA集群中,简述Zookeeper 的主要作用,以及启动和查看状态的命令?

    322.在hadoop 开发过程中使用过哪些算法?其应用场景是什么?

    image

    328.一台机器如何应对那么多的请求访问,高并发到底怎么实现,一个请求怎么产生的,

    在服务端怎么处理的,最后怎么返回给用户的,整个的环节操作系统是怎么控制的?

    329.hdfs 的client端,复制到第三个副本事宕机,hdfs怎么恢复保证下次写第三副本?

    350.habase怎么预分区?

    352.htable API 有没有线程安全问题,在程序中是单例还是多例?

    367.你自己写过udf函数么?写了哪些?

    这个我没有写过

    388.MapReduce 2.0中,MRAppMaster 主要作用是什么。MRappMater 如何实现任务容错?

    389.为什么会产生yarn,它解决了什么问题。有什么优势?

    393,。怎么提升多个JOB同时执行带来的压力,如何优化,说说思路?

    397.hadoop 体系结构(HDFS与mapreduce 的体系结构)、Hadoop 相比传统数据存储方式(比如mysql)的优势?

    398.HDFS的namenode 与secondarynamenode 的工作原理(重点是日志拉取和合并过程)hadoop1.x 的HDFS的HA方案(namenode 挂掉的情况如何处理、datanode挂掉的情况如何处理)?

    405.MapReduce进阶知识:Hadoop 的几种文件格式、常见输入输出格式化类、多输入多输出机制、Mapredcue 的常见算法(各种join 原理和优缺点、次排序和总排序)?

    430.写出你对zookeeper的理解

    提示: 大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)。目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制协调陈谷的反复编写浪费,且难以形成通用、伸缩性好的协调器。

    zookeeper:提供通用的分布式锁服务,用以协调分布式应用。

    456.举例hadoop 中定义的最常用的inputformats。哪个是默认的?

    提示:Dbinputformat、fileinputformat (keyvalueTextInputFormat、NlineInputFormat、TextInputFormat)

    默认:TextInputFormat

    457.TextInputFormat 和KeyValueInputFormat类之间的不同之处在于哪里?

    提示:TextInputFormat中的key 表示行的偏移量,value是行文本内容

    KeyValueInputFormat 的key value是通过第一个制表符进行划分的

    458.hadoop中的inputsplit是什么?

    提示:每一map任务单独处理的数据单位,可以决定单个mapper任务处理的大小。默认大小与block一样大

    459.hadoop框架中文件拆分时如何被触发的?(block是怎么处触发)

    提示:客户端上传文件时为从NameNode申请的ID和位置

    460.hadoop 中RecordReader的目的是什么?

    提示:将inputsplit的数据解析成键值对

    463.什么jobtracker?jobtracker有哪些特别的函数

    提示:jobtracker负责接收用户提交的作业,负责启动、跟踪任务执行。是一个RPC服务端

    jobtracker有哪些特别的函数:Jobsubmit protocol

    464.什么是tasktracker?

    提示:mr的客户端,接收jobtracker的发出的指令,用来执行任务的

    465.hadoop 中job和task之间是什么关系?

    提示:执行一次mr程序就是一个job,job再执行时会划分 maptask,reducetask。

    task 是job运行作业的一个重要组成部分。

    466.假设hadoop 一个job产生100个task,并且其中的一个task失败了,hadoop会怎样处理?

    提示:hadoop容错机制,当一个任务执行失败,jobTracker发送命令重新执行,如果重新执行四次也不行,任务执行失败

    mapred-site.xml配置文件里

    <name>mapred.max.attemp<name>

    <value>4<value>

    469.什么是hadoop streaming?

    提示:指的是用其他语言处理

    478.jvm 的4个引用

    提示:强引用就是不会被GC回收 软引用在JVM报告内存不足时才会被回收 ,弱引用与软引用相似;虚引用是跟踪对象被GC回收的状态。

     
     
     
     

     

    484.讲一下垃圾回收算法

    486.聚类算法

    487.SSH锁涉及到权限

    490.两个文件,每一都有几百个亿条数据,都有订单字段,这两个表如何关联,效率最高?

    492.java如何实现高并发?

    493.HashMap、TreeMap区别,以及TreeMap原理

    495.Spring 用过哪些组件?

    496.如果有几百亿条数据,如何在表中存放?

    502.javacore,多线程,jvm

    506.Spark程序做了哪些配置

    507.Spark哪些操作耗费内存

    508.Spark架构

    509.Drive作用

    510.spark topN 怎么写

    513.MR InputFormat

    515.Impala为什么快

    516.Impala的架构

    517.自定义异常(java 部分)

    518.线程状态和ThreadLocal怎么实现线程安全

    519.JVM调优

    520.SringMVC调用过程

    521.Hibernate 二级缓存实现原理

    522.Spring 事务传播机制

    524.爬几家网站,都爬取哪些指标?

    526.自定义分区

    528.nohup

    530.rowky 设计(爬虫项目)

    533.reids 和memstore区别

    535.shuffle?看过源码吗?

    537.python的map用法?

    538.写shell 脚本统计截取一个文本的指定字段?

    541.数学建模用的什么算法?

    544.解释一个类生成过程?

    547.solr的索引在哪里?

    550.你们搭建集群有没有遇到 丢失jar包

    552.对solr的认识干什么用的怎么建立索引?

  • 相关阅读:
    CentOS 6.4 x64 zabbix 2.2.2 编译安装
    Monitorix 监控 安装配置
    CentOS 6.4 x64 Percona-Server-5.6.15 源码安装
    CentOS 6.4 x64 安装 配置 Redmine 2.4.1
    ActiviMQ的基本使用
    Java内存 模型理解
    线程池的两种创建方式及区别
    线程创建的三种方式及区别
    Spring cloud 之Ribbon(二)负载均衡原理
    Spring cloud 之Ribbon(一)基本使用
  • 原文地址:https://www.cnblogs.com/chaoren399/p/4715393.html
Copyright © 2011-2022 走看看