前端面试集锦-01

1,你项目里用到第三方登录涉及的oAuth(JWT)协议的实现原理,以及你本地的实现原理,第三方登录怎么样保证安全性

    答:oAuth就是开放的授权,第三方登录,就是本地的项目跳转到第三方登录去访问,比如登录第三方qq,先输入用户名密码去登录后获得一个code,第三方再返回一个虚拟账户,然后再去第三方请求token,设置有效期;安全性的保证就是设置有效期,生成虚拟账户正常登录访问。

2,说下快排完整性

答:快速排序,一般会以第一个为准,后面的和前一个相比,哪个小排在前面,依次递归执行;

3,react和vue的区别,你开发如何选择技术栈

答:1,生命周期不一样;2,模板语法不一样,react是jsx语法,更接近js,js和html可以混搭,Vue是允许采用简洁的模板语法将数据渲染到DOM中;3,父子组件传值方式不一样;

4,Vue的理解

答:Vue是一个MVVM的轻量级的架构,以双向数据绑定为核心,专注于视图层来驱动,相关的数据也对应驱动。

5,Vue 的双向数据绑定原理

答:核心是通过属性劫持来达到数据监听,主要是object.defineProperty()劫持属性,然后数据变化时就触发监听器,对应的数据通过观察者模式进行回调,进行更新。

6,vue怎么样实现数组绑定

答:v-bind 

7,js 的继承

答:原型链property;构造函数call;原型链和call组合继承;原型式继承;寄生式;组合继承;

继承主要是解决函数的属性和方法的延续,是否重用,是否组合,是否会相互影响,各取所需。

8,call和apply的区别

答:都是改变函数体内的this指向,区别是参数的不同,第一个参数都是this当前的对象,call后面的参数是单个的,apply后面的参数是数组或对象

9,闭包的作用理解,以及那些地方用过闭包,以及闭包的缺点,如何实现闭包

答:闭包就是一个函数内部再包含一个函数,保护内部函数的私有属性;

一般封装公共函数方法的时候会用闭包,保护内部变量,以免被污染回收;

缺点就是内部变量不会被回收,影响资源占用;

在函数或者对象内部,再定义一个子函数方法;

10,跨域方法以及怎么样实现的与原理

答:跨域就是违背了同源策略(协议,域名,端口),URL访问不到,就造成了跨域,找不到对应的资源;

实现跨域的办法,要么是服务端设置接收域名为*,客户端可利用jQuery的jsonp模式,或者动态创建script标签引入

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是大数据分析工程师面试集锦3中关于sql/sparksql/hiveql的问题和回答: 1. 什么是SQL? SQL(Structured Query Language)是一种用于管理关系型数据库的标准语言,它可以用来查询、插入、更新和删除数据。 2. 什么是SparkSQL? SparkSQL是Apache Spark中的一个模块,它提供了一种用于处理结构化数据的API,可以将结构化数据作为RDD(Resilient Distributed Datasets)来处理,同时还支持SQL查询和DataFrame API。 3. 什么是HiveQL? HiveQL是Apache Hive中的一种查询语言,它类似于SQL,但是可以用于查询和分析存储在Hadoop分布式文件系统中的大数据集。 4. 什么是SQL注入攻击? SQL注入攻击是一种利用应用程序中的漏洞,向数据库中注入恶意代码的攻击方式。攻击者可以通过注入恶意代码来获取敏感信息或者破坏数据库。 5. 什么是Spark的RDD? RDD(Resilient Distributed Datasets)是Spark中的一个核心概念,它是一个不可变的分布式数据集,可以被分区和并行处理。RDD可以从Hadoop分布式文件系统、本地文件系统、Hive、HBase等数据源中创建。 6. 什么是Hive的分区? Hive的分区是将数据按照某个字段进行划分,将相同字段值的数据存储在同一个分区中,以便于查询和管理。分区可以提高查询效率和数据管理的灵活性。 7. 什么是Hive的Bucket? Hive的Bucket是将数据按照某个字段进行划分,并将相同字段值的数据存储在同一个Bucket中。Bucket可以提高查询效率和数据管理的灵活性,同时还可以用于数据的随机抽样和均匀分布。 8. 什么是Hive的UDF? Hive的UDF(User-Defined Function)是用户自定义的函数,可以用于扩展Hive的查询功能。UDF可以是一元函数、二元函数或者聚合函数,可以用Java或者其他编程语言编写。 9. 什么是Hive的UDAF? Hive的UDAF(User-Defined Aggregation Function)是用户自定义的聚合函数,可以用于扩展Hive的聚合查询功能。UDAF可以用Java或者其他编程语言编写。 10. 什么是Hive的UDTF? Hive的UDTF(User-Defined Table-Generating Function)是用户自定义的表生成函数,可以用于扩展Hive的查询功能。UDTF可以返回一个或多个表,可以用Java或者其他编程语言编写。 ### 回答2: 随着大数据技术的不断发展,大数据分析工程师的需求越来越大。在大数据分析工程师的面试中,SQL、Spark SQL和HiveQL都是必须掌握的技能。 SQL常见问题: 1.请简单说明什么是SQL语言? SQL(Structured Query Language)是一种用于管理关系数据库的语言,它可以用来创建、读取、更新和删除数据库中的数据。 2.请介绍SQL中的SELECT语句? SELECT语句是SQL中最常用的语句之一,它可用于从数据库中查询信息。SELECT语句所包含的子句有FROM、WHERE、GROUP BY、HAVING和ORDER BY等。 3.如何用SQL实现表的关联查询? 表的关联查询是SQL中非常常见的操作之一。对于两个表的关联查询,我们需要使用JOIN子句,JOIN子句必须指定两个表之间的连接条件。 Spark SQL常见问题: 1.请简单说明什么是Spark SQL? Spark SQL是Spark生态系统中的一部分,它是一个高性能的分布式SQL引擎,可以在Hadoop上运行,支持SQL语言和Spark的数据操作,并且提供比基本RDD操作更有效的数据处理方法。 2.请简单介绍Spark SQL的DataFrame? DataFrame是Spark SQL的一项核心功能,类似于传统SQL中的表,它是一个分布式的行列数据集合。DataFrame支持多种数据源,包括HDFS、Hive、MySQL等,并支持多种数据格式。 3.如何使用Spark SQL进行聚合操作? Spark SQL支持所有常见的聚合操作,例如COUNT、SUM、AVG、MAX和MIN等。聚合操作需要使用GROUP BY 子句对数据进行分组,然后使用聚合函数对数据进行汇总。 HiveQL常见问题: 1.请简单说明什么是HiveQL? HiveQL是Apache Hive用于查询和分析数据的SQL-like语言。它将Hadoop HDFS中的结构化数据映射为一张数据库表,并提供了一个HiveQL控制台,可以使用标准的SQL语言对表进行查询和增强。 2.请简单介绍HiveQL中的自定义函数(UDF)? UDF(User-Defined Function)是HiveQL中的一项常见功能,它允许用户自定义函数来处理数据。用户可以根据具体需求编写自己的UDF函数。 3.如何使用HiveQL进行数据导入导出? HiveQL可以通过LOAD DATA和INSERT INTO语句实现数据导入和导出。HiveQL支持多种格式的数据源,例如CSV、JSON和Parquet等。 总之,SQL、Spark SQL和HiveQL都是大数据分析工程师必须熟练掌握的技能,面试时需要注意细节,并根据具体情况进行灵活应对。 ### 回答3: SQL/SparkSQL/HiveQL是大数据分析工程师必备的技能之一,因此在面试过程中也会经常涉及到这方面的问题。下面将针对SQL/SparkSQL/HiveQL的面试题目予以分析。 1. SQL语言的优势? SQL是结构化查询语言的缩写,主要用于管理关系数据库中的数据。在数据管理方面,SQL具有以下几个优点: (1)数据统计分析方便 (2)适合大规模数据处理 (3)易于使用,不需要编程技能 (4)容易维护和管理数据库 (5)支持事务管理 2. SQL的五种语句分类? SQL语言的五种语句分类分别为:数据定义语言DDL,数据查询语言DQL,数据操纵语言DML,事务控制语言TCL及数据控制语言DCL。 (1)数据定义语言DDL:用于定义数据库的结构,包括创建、修改和删除表、视图、索引等。 (2)数据查询语言DQL:用于查询数据库中的数据,包括SELECT语句,其中包含子查询、聚合函数、连接查询等。 (3)数据操纵语言DML:用于对数据库中的数据进行操作,包括插入、更新和删除等。 (4)事务控制语言TCL:用于维护数据库中的事务,包括COMMIT、ROLLBACK、SAVEPOINT等。 (5)数据控制语言DCL:用于控制数据库用户的访问权限和安全性,包括GRANT和REVOKE等。 3. SparkSQL与HiveQL的联系和区别? SparkSQL是Apache Spark中的SQL解决方案,支持在Spark平台上对数据进行分析和处理。它能够支持多种数据源,这是它与HiveQL最大的不同点。 HiveQL是Apache Hadoop生态圈中的数据仓库模块,在处理大规模数据分析方面有很强的优势。与SparkSQL的数据源兼容性不同,HiveQL主要支持Hadoop生态圈中的各种存储格式。 另外,SparkSQL支持交互式分析和实时计算,而HiveQL更适合批处理分析。在实时处理方面,SparkSQL有更好的性能表现。 4. HiveQL中mapreduce与tez的区别?优点? MapReduce是Hadoop生态圈中最核心的应用框架之一,用于处理和分析大批量数据。在HiveQL的MapReduce模式中,所有的查询都需要经过MapReduce的过程进行计算和处理。 与之不同的是,Tez运行MapReduce作业时,它自己通过DAG(有向无环图)自动完成Map和Reduce操作。这对于那些需要耗费大量计算资源的任务来说是非常有好处的。此外,Tez可以减少HiveQL中的查询时间,提高查询效率,适用于大规模数据处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值