程序员开发实例大全宝库

网站首页 > 编程文章 正文

e代驾大数据面试题(e代驾新员工培训考试)

zazugpt 2024-11-07 13:34:36 编程文章 112 ℃ 0 评论

e代驾面试题

1)笔试

有一张很大的表:TRLOG,该表大概在2T左右

CREATE TABLE TRLOG
(        PLATFORM string,
USER_ID int,
CLICK_TIME string,
CLICK_URL string)
row format delimited fields terminated by ‘\t’;
数据:
PLATFORM               USER_ID          CLICK_TIME             CLICK_URL
WEB                          12332321                 2013-03-21 13:48:31.324                /home/
WEB                           12332321                 2013-03-21 13:48:32.954                /selectcat/er/
WEB                          12332321                 2013-03-21 13:48:46.365                /er/viewad/12.html
WEB                           12332321                 2013-03-21 13:48:53.651                /er/viewad/13.html
……         ……         ……         ……

把上述数据处理为如下结构的表ALLOG:

CREATE TABLE ALLOG
(        PLATFORM string,
USER_ID int,
SEQ int,
FROM_URL string,
TO_URL string)
row format delimited fields terminated by ‘\t’;
整理后的数据结构:
PLATFORM               USER_ID           SEQ          FROM_URL              TO_URL
WEB                  12332321                 1               NULL                         /home/
WEB                  12332321                 2               /home/                     /selectcat/er/
WEB                  12332321                 3               /selectcat/er/          /er/viewad/12.html
WEB                  12332321                 4               /er/viewad/12.html        /er/viewad/13.html
WEB                  12332321                 1               NULL                         /m/home/
WEB                  12332321                 2               /m/home/                         /m/selectcat/fang/

PLATFORM和USER_ID还是代表平台和用户ID:SEQ字段代表用户按时间排序后的访问顺序,FROM_URL和TO_URL分别代表用户从哪一页跳转到哪一页。某个用户的第一条访问记录的FROM_URL是NULL(空值)。两种办法做出来:

A)实现一个能加速上述处理过程的Hive GenericUDF,并给出此UDF实现ETL过程的Hive SQL

B)实现基于纯Hive SQL的ETL过程,从TRLOG表生成ALLOG表:(结果是一套SQL)

2)技术部分

(1)hdfs原理,以及各个模块的职责

(2)mr的工作原理

(3)shell脚本里如何检查文件是否存在,如果不存在该如何处理?Shell里如何检查一个变量是否是空?

(4)Shell脚本里如何统计一个目录下(包含子目录)有多少个java文件?如何取得每一个文件的名称(不包含路径)

(5)哪个程序同城与nn在一个节点启动?哪个程序和DN在一个节点?如果一个节点脱离了集群应该怎么处理?

(6)列出几个配置文件优化hadoop,怎么做数据平衡?列出步骤

(7)谈谈数据倾斜,如何发生的,并给出优化方案?

(8)Hive跟hbase的区别是什么?

(9)什么是埋点?流程是什么样的?

(10)现有海量日志数据保存在一个超级大的文件中,该文件无法直接读入内存,要求从中提取出某天访问新浪次数最多的那个IP

(11)已知一个表STG.ORDER,有如下字段:Date,Order_id,User_id,amount。请给出sql进行统计:数据样例:2017-01-01,10029028,1000003251,33.57。

A)给出 2017年每个月的订单数、用户数、总成交金额。

B)给出2017年11月的新客数(指在11月才有第一笔订单)

public class Foo{
Public static void main(String[] args){
Try{
badMethod();
System.out.print(“A”);
}catch(Exception ex){
System.out.print(“C”);
}finally{
System.out.print(“B”);
}
System.out.print(“D”);
}
Public static void badMethod(){
Throw new Exception();
}
}
输出结果是什么?
A.CBD               B.B           C.BD D.编译失败
Public class Foo{
Public static void main(String[] args){
Integer a = new Integer(1);
Integer b = 1;
If(a == b){
System.out.println(“OK”);
}else{
System.out.println(“NO”);
}
}
}

输出结果是什么?为什么?

(12)详细描述HashMap的内部实现。

(13)分别描述ThreadLocal、Volatile、Synchronized的含义以及应用场景

(14)Redis的数据类型有什么?如何使用Redis实现分布式锁?

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表