顺丰科技2019秋招大数据面试题解析

需积分: 9 13 下载量 153 浏览量 更新于2024-09-07 收藏 24KB DOCX 举报
"顺丰科技2019秋招大数据挖掘与分析、平台开发工程师客观题合集" 这些题目涵盖了大数据处理、Java编程、Spring MVC框架、递归算法、Java静态方法以及SQL数据库查询等多个IT领域的核心知识点。让我们逐一解析: 1. Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能。在Hive中,可以使用`DISTINCT`关键字来实现去重,选项a正确。而`GROUP BY`通常用于分组,不直接处理去重,选项b错误。`ROW_NUMBER`是窗口函数,用于为每一行分配一个唯一的行号,与去重无关,选项c错误。`HAVING`则是在聚合函数后进行条件筛选,与去重也无关,选项d错误。 2. Spring MVC是Spring框架的一部分,用于构建Web应用。其核心入口是`DispatchServlet`,选项a正确。`@RequestMapping`可以标注在类和方法上,用于映射URL到处理方法,选项b正确。`@PathVariable`用来从URL模板变量中提取参数,选项c正确。关于控制器的实例化,Spring MVC的控制器默认是单例模式,但可以通过`@Scope("prototype")`改为多例,然而,成员变量在多例模式下不是共享的,所以选项d是错误的。 3. 这是一个递归算法,计算的是斐波那契数列。当b为0时返回0,否则如果b是偶数,返回`foo(a+a, b/2)`,否则返回`foo(a+a, b/2)+a`。给定的输入是`foo(1, 3)`,经过计算得到结果是3,因此答案是a。 4. Java的静态方法属于类而不是对象,选项a正确。静态方法只能访问静态数据,不能访问非静态数据,选项b正确。静态方法只能调用其他静态方法,不能调用非静态方法,选项c正确。静态方法可以直接通过类名访问,不需要对象实例,选项d错误。 5. SQL中的表关联操作,左连接(LEFT JOIN)的结果集包含左表的所有行和右表匹配的行,如果右表没有匹配的行,则结果是NULL。因此,左连接的结果集行数可能大于左表行数,选项d正确。其他选项描述了连接的特性,但并不准确。 6. 在Hive查询中,如果结果是`2018081250;2018081332;20180814NULL`,这很可能表示对日期和计数值的统计,其中某一天没有任务,用NULL表示。因此,查询语句可能是`SELECT inc_day, COUNT(task_no) FROM 任务表`,并按日期分组统计任务数量,选项b正确。 这些题目涉及的IT知识点包括大数据分析工具的使用、Web应用开发、编程语言特性以及数据库操作,这些都是IT专业人员尤其是大数据挖掘与分析以及平台开发工程师必备的技能。在准备面试或提升技术能力时,理解并掌握这些概念至关重要。