精心整理的ebay大数据面试题(全)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 精心整理的ebay大数据面试题(全)

前言


学习群的几个小伙伴和我都有面试ebay 大数据岗位的经历,而且也都拿了offer,我特意抽出了一些时间把问题和部分答案就行了汇总,希望对大家有帮助。


全文篇幅1万字左右,从数据结构到Java再到大数据都有整理,可以先收藏起来,补缺补漏。ebay大数据组也持续招人,要投简历的可以把简历私发到我微信。



小提示:绿色的题代表是简单的,黄色的题代表中等,红色代表有点难度;绿色题回答的很全面,很深入,则有可能比红色的题还难;蓝色的是作为扩展,面试的时候问到的不是很多,能答出来挺好,答不出来也没关系

 

一、  java基础


1、  QueueStack你平时有用过么,说说你常用的方法,他们的却别在哪呢?

2、  了解java的异常吗,有什么区别,常见的异常有哪些呢?

3、  两个字面值相同的Integer,它们两个用等于号去比较,结果是true还是false?(这个题要分两部分去回答,结果可能为true,也可能为false。因为有缓存)

4、  可以讲一下你常用的集合类么?他们的实现类有哪些?

5、  ArrayListLinkedList的区别,底层的实现呢了解吗,有没有什么优缺点,分别适合于什么样的场景,多线程环境下,有没有安全的list的实现类呢?

6、  其他数据结构的了解吗?LinkedHashMapConcurrentSkipHashMap(作为一个扩展,面试的时候问到的不是很多,能答出来挺好,答不出来也没关系)

7、  说一说你对HashSet的理解,越详细越好 ( tip:底层是用hashMap实现的)treeSet有了解吗?聊一聊?

8、  HashMap的疯狂试探:

a.       HashMap的底层数据结构是什么样子的

b.       了解hash冲突吗?它是如何解决hash冲突的

c.       请你简单叙述一下hashMapputget操作,当然,能说多细就说多细?

d.       Jdk7jdk8中对hashMap做了什么改进嘛(红黑树)?

e.       有没有其他的解决冲突的办法呢

f.        HashMap中的hash函数了解吗?那他的扩容机制了解吗?

g.       HashMap为什么扩容是2倍呢,可以说说嘛?

h.       假如说我加入一个键值对,这个时候出现了冲突,它只怎么把这个节点加入进去?是加入到当前bucket所对应的链表的头结点还是尾节点?(答不上来可以问一个稍微简单的,equals == 的区别,以及其中hashCode的作用)

i.        可以说说什么条件下,可以把一个链表转成红黑树呢?它里面的大概流程是什么,了解吗?

j.        有没有想过为什么选用了红黑树,而不是其他的数据结构,譬如说二叉树,二叉查找树,或者其他的树?

k.       在高并发大流量的情况下,hashMap有什么问题吗,会不会造成cpu达到100%?如果会,那是在哪一步可能会出现这个问题呢(插入、删除、查找、扩容)?

9、  ConcurrentHashMap的疯狂试探:

a、  他和HashTable的区别呢?

b、  说说你对JUC包的了解?

c、   ConcurrentHashMap中是怎么加锁的?

d、  1.71.8中,ConcurrentHashMap的区别是什么?

e、 ConcurrentHashMap是怎么做到线程安全的呢?(CAS和锁)

f、   为什么会抛弃分段锁,它有什么毛病吗(上面一个题回答上才可以问这个)?

g、  知道红黑树的transfer过程么?简单的描述一下

10、       多线程下的疯狂试探:

a.       多线程了解吗?说说线程的生命周期?

b.       线程池有用到过吗?怎么用的,jdk有提供那些线程池(总共提供了四种)?

c.       线程的状态有哪些呢?

d.       线程池的核心参数有哪些?(核心线程数、最大线程数、时间、时间单位、队列、拒绝策略、默认的线程工厂)

e.       Waityeildstopsleepjoinstartrun的区别和如何使用?

f.        接着上题:这四种有什么区别吗,你用过哪一种,可能存在什么问题吗?

g.       接上题:拒绝策略有哪些呢?了解吗?聊聊?

h.      接上题:你刚才说了队列,线程池中的队列有哪些?有界队列、无界队列、同步队列都有了解吗?聊聊?

i.        如何实现一个消费者和生产者的循环消费和生产呢?(有两种方式,一种是通过锁,lock或者Synchronize,还有一个是通过ArrayBlockingQueue实现)

j.        你可以实现线程之间的相互通信吗?如何实现?要不写一个?

11、       线程安全的疯狂试探:

a.       Synchronzie了解吗?谈谈你的理解

b.       在一个普通方法上加synchronize和在一个静态方法上加synchronize有什么区别(对象锁和类锁的的区别)?

c.       Synchronizelock有什么区别呢?说说你对lock的理解?

d.       Lock的公平和非公平锁?

e.       说一说volitaile为什么保证不了原子性,可以保证可见性嘛?如何保证的(jvm的多线程的内存模型有关系)

f.        了解CountDownLatch么,CyclicBarrier的区别呢?

g.      Synchronize的实现原理知道吗?moniter的实现机制呢,为什么加了Synchronzie关键字,就可以在多线程下是安全的(这个回答要从java对象的Object头来回答)

h.      类锁和对象锁的区别呢?字节码的体现呢?

i.        Java中的自旋锁、偏向锁、读写锁、重锁等了解吗?

j.        了解java重对象的对象头嘛?有哪些属性和字段呢?

k.       Aqs(AbstractQueuedSynchronizer)了解吗?它和lock的关系?说说aqs中的核心思想?

l.        Lock中存在锁升级嘛,他是可重入得嘛,那Synchronize是可重入得嘛,有没有锁升级的概念?

m.    Volitaile了解吗?他的作用是什么呢,内存语义是什么呢?有没有了解过cpu的缓存一致性协议?

n.       还知道其他的juc类嘛,有哪些呢(譬如lockSupport)?

12、       jvm的疯狂试探:

a.       了解jvm么?jvm的内存模型?

b.       Java如何判断一个对象是否还活着呢?

c.       Java的类加载了解吗?

d.       Java类加载器了解吗,有哪些呢?那它的双亲委派了解吗?

e.       Jvm指令你知道哪些(jpsjstackjinfojmap……),都有什么作用呢?

f.        Java的垃圾回收算呢,了解吗,G1回收算法了解吗?

g.      Jvm参数你了解吗,知道多少说多少?

h.      在实战中有进行过jvm调优嘛,怎么做的,

i.        Java的对象年龄知道吗,有什么作用吗?

j.        Young GCfullGC了解吗,如何触发,如果在你的项目中,频繁出现young GC 怎么办?

13、       设计模式的疯狂试探:

a.       你了解的设计模式有哪些?

b.       可以写一个单例模式嘛,工厂模式呢,抽象工程模式解决了什么问题?

c.       策略模式、责任链模式、适配器模式写一个,写不出来的话,java中在哪用到了这些模式

d.      代理模式了解吗,会写吗,jdk代理和cglib代理的区别呢,说说你的理解?

 


二、  数据结构与算法


1、  排序算法了解什么?能不能手写一个快速排序、或者归并排序,堆排序有了解吗?

2、  给你一个一元二次方程公式,你写一个方法,用计算机语言实现它。

3、  图了解么,有向图呢?你可以实现一个有向图么?(假如他回答的是二维矩阵,可以反问他有没有更好的解决方案呢,因为这个图可能是个稀疏矩阵)

4、  接上题,在图中,如何判断两个节点的联通性,可以写代码写出来么?

5、  给你一个1TInt文件,然后你只有一台内存是8G的机器,如何用最快的方法,求出里面出现频率最高的topN个数?

6、  算法的时间复杂度和空间复杂度了解吗?说说你了解的算法的时间复杂度和空间复杂度。

7、  二叉树了解吗,树的广度优先算法和宽度优先算法了解吗?写一个他的前序(中序、后序)遍历可以么(递归和非递归的方式都可以写出来么)?

8、  给你一个字符串,请检查中间出现的括号的正确性,譬如:({[]}),((()))这都是个合法的字符串,(()())((()这就不是一个合法的字符串;

9、  给你一个单向链表,检测它有没有形成环?

10、     给你一个单向链表,如何反转,可不可以把空间复杂度降低到O(1)级别?

11、     写一个字符串匹配算法,判断在一个字符串中是否包含另外一个字符串(一般都会说循环去比较,这样的时间复杂度很高,有一个算法是KMP,面试者要是能提到KMP都就很不错了,因为很多面试官都不知道,也不会)?

12、     可以用两个栈模拟一个队列么?

13、    如何判断两棵树相不相等

14、    动态规划有了解吗?

a.       给你一个机器人,它每次只能向右或者向下走一步,其中,中间有一个障碍物,不可以经过,请问,在一个n*m的矩阵中,这个机器人总共有多少种走的方法?(答不出来就降低一下难度,把中间的那个障碍物去掉)

b.       青蛙跳知道吗?给你一个数组,里面的每一个数字代表青蛙可以前进的最大的步数,如何判断这个青蛙可不可以达到终点;譬如2341就可以,12101就不可以;

c.       爬楼梯,假设有一个n阶的楼梯,你每次都只能爬1或者2个台阶,请问有多少种不同的方法可以爬上去呢?

d.       给你一个整数数组,找到一个具有最大和的连续子数组(子数组至少包含一个元素),返回最大值

e.      给你一个容量为V的背包,现在有N件商品(有重复,相同的商品可以随意取),每件商品的体积是v1,价值是w1,请问,这个背包所能容纳的最大价值是多少?

f.        一个100层高的楼,有两颗鸡蛋,你需要用最少的次数找到那个临界点,这个临界点以上的楼层上摔下去,鸡蛋都会碎掉,以下的楼层,鸡蛋是不会碎的,(扩展,加入现在是N层高的楼房,你现在有m个鸡蛋,m>=1,用最少的次数找到那个临界点)



三、  数据库大汇总


1、  用过mysql嘛?了解吗?

2、  Mysql事务了解吗,隔离级别呢,每种隔离级别会出现什么问题?

3、  Mysql的锁了解吗(表锁、行锁、间隙锁,读写锁)?

4、  Mysql引擎知道吗,innodbmyisam的区别知道吗,说说底层的实现?

5、  聚簇索引和非聚簇索引知道么,有什么区别?

6、  B+树知道吗?为什么使用B+树?

7、 分库分表做过吗,如果让你去实现分库分表,你有什么需要考虑或者注意的嘛?

8、 了解死锁嘛?知道他是怎么产生的嘛,如何避免呢?

9、 Sql优化了解过吗?说说你的理解,给你一条sql,你会怎么优化?


 

四、  框架


1、  redis大家庭:

a.       redis是什么,能干嘛,怎么用?

b.       Redis的基础数据类型有哪些?

c.       Reids除了这些,还有哪些数据结构,能解决什么问题?

d.       Redis集群有搭建过么,说说你的实现

e.       Redis如何实现分布式锁

f.        Redis的支持事务么?

g.       位图了解吗?

h.      布隆过滤器了解吗,他的原理是什么呢?

i.        Redis的通信协议你知道嘛?

j.        Redis中的数据结构底层了解吗?string的编码、list的编码、zset的编码;

k.       在集群环境下,Redis的分布式锁一定可靠吗,redis社区有没有提供可靠地分布式锁的集群方案(有,红锁)?

l.        Redis的持久化你知道么,说说rdbaof的区别

m.    Aof瘦身知道么?如何瘦身

n.      Redis的拒绝策略你知道么?那它的淘汰策略你知道么

o.      Redis的哨兵模式呢,了解吗?

p.      Zookeeper了解吗,用zookeeper实现分布式锁,和redis实现有什么不同呢,说说他们的原理?

2、  Spring大家庭:

a.       AutowireResource 的区别

b.       谈谈你对spring的理解,它干了什么?

c.       Spring的依赖注入和切面呢?

d.       Spring的事务了解吗,他的传播机制呢

e.       Springaop切面详细说说,你的应用场景呢?

f.        Springmvc用过吗?了解他的启动流程嘛?说说你的看法

g.      Spring中的bean的生命周期呢,了解吗?如何扩展一个bean的生命周期?

h.      Spring源码读过吗?有没有想过他是如何解析在xml中定义的bean的。

i.        spring的配置文件中加入component-scan标签,它就可以自动加载所有添加相应注解的java类,这个是怎么做到的呢,你知道嘛?

j.        Dubbo了解吗?dubbo是怎么和spring想结合的?

3、  消息中间件大家庭:

a.      你了解消息中间件有哪些?

b.      谈谈你对topicpartition的理解?

c.       Kafka中的isrosr有了解吗?

d.      Kafka的高水位你知道嘛?

e.      Kafka的分区器、拦截器、序列化器你了解吗?

f.       消息的可靠性怎么保证?

g.      消息丢失怎么办?kafka有什么保证策略?(我了解kafka,你们也可以问问其他的,譬如rocketMq

h.      Kafka的事务你了解过吗(这个特别难,一般别问昂)?

4、  zookeeper大家庭:

a.       谈谈你对zookeeper的理解?

b.       Zookeeper的节点类型你知道么?

c.       Zookeeper的心跳机制呢?

d.       Zookeeper的优势在哪?

e.       知道zookeeperwatch嘛?

f.        Cap理论知道吗?

g.      Paxos算法呢,了解吗?

5、  springBoot大家庭:

a.      什么是springboot

b.      为什么要用springboot呢?

c.       Spring boot 的核心配置文件有哪几个?他们的区别是什么?

d.      Spring boot 的配置文件有哪几种格式?区别?

e.      Spring boot的核心注解是那个?它主要由哪几个注解组成的?

f.        如何理解springboot的配置加载顺序?



五、离线方向


1.     数据优化中,需要注意哪些关键词

2.     Uninon uninon all 的区别

3.     除了distinct外如何使用SQL对数据去重

4.     项目中etl过程

5.     Spark的运行流程

6.     Sql开窗函数,开窗函数中row_numberrank的区别

7.     Avgsumcount 函数,在某列有空值的情况下,结果会有哪些不同

8.     一个表两个字段,一个id,一个values;values有连续相同;但是有缺失,找出缺失的地方补全(连续缺失的字段如何补全)

9.     数据仓库的基本原理

10. 数据表的各个模型,例如(雪花模型),简述

11. 数据优化中除了用过mapjoin之外,还用过哪些join(不是常见的五种),简述

12. 修改批量文件中的词

13. Shell脚本的定时任务

 

1.英语自我介绍,说一下越到的最大的挑战

2.unionunion all的区别

3.给了个题目,一个表两个字段,一个是id,一个是valuevalue是连续相同的,但是有缺失的,找出来缺失的地方补全

4.去重的操作

5.spark提交任务的流程

6.Spark oom怎么处理

7.join有哪些?mapsidejoin是什么知道吗(不知道,大概猜了下,然后就没继续问)

8.Linux指令用过哪些?

9.shell直接查找到文件中的一个词,然后替换(这个不会)

10.Data modeler用过没

11.维度建模什么情况

 

1.用英语介绍下数据仓库和数据集市的区别

2.讲下 linux 免密登陆

3.介绍下spark执行流程

4.spl 开窗函数

5.shell 脚本读取文件

6.项目中最自豪的事情

7.数据库中count(*) count(1) 在什么情况下数据不一致

8.最有压力的事情

9.shell 脚本替换文件内容,替换文本

10.数据倾斜调优

 

1.英语介绍一下olapoltp的区别

2.olap的产品知道哪些

3.数仓模型建设

4.对表的设计

5.data modeler工具

6.项目中的etl过程

7.统计人员使用什么工具查询

8.数据报表工具知道哪些

9.工作主要涉及的技术有哪些

10.每日数据量多少,存量多少

11.如何通过sparksql对数据进行更新

12.hbase数据如何更新

13.两表join跑不出数据会是什么原因,如何解决

14.如何进行mapjoin

15.开窗函数

16.linux命令考查

17.hdfs上跨节点如何数据迁移

18.免密登录如何实现

19.ip映射是记录在哪个文件中

20.如何批量修改文件中某一字符串

21.如何确保项目成功交付

22.项目交付时如何进行数据验证

23.项目中最有成就感的事情


六、Spark相关


Q: Spark任务提交后的流程

A: 只要能说出来sparkContext, DAG, Stage, Executor 就大致上应该了解些。

 

详细答案参考:

1)构建Spark Application的运行环境(启动SparkContext),SparkContext向资源管理器(可以是StandaloneMesosYARN)注册并申请运行Executor资源;

(2)资源管理器分配Executor资源并启动StandaloneExecutorBackendExecutor运行情况将随着心跳发送到资源管理器上;

(3)SparkContext构建成DAG图,将DAG图分解成Stage,并把Taskset发送给Task SchedulerExecutorSparkContext申请Task

(4)Task SchedulerTask发放给Executor运行同时SparkContext将应用程序代码发放给Executor

(5)TaskExecutor上运行,运行完毕释放所有资源。

 

Q: SparkAPI有哪两大类?分别解释一下和举个例子?

A: Transformation & Action.Transformations是转换操作,如map, filter, union, reduceByKey等,Actions是执行操作,如count, collect, reduce, saveAsXXX

 

Q: Spark中的union属于宽依赖还是窄依赖? 有无shuffle?

A:  属于窄依赖,无shuffle

 

SQL:

 

Q: union all union 有什么区别?哪个性能好?

A: union all 不去重, union会去重。Union all性能好,因为无需额外去重

 

Q: 如何判断一张表里某个字段有重复?

A:  利用COUNT HAVING ,答到这个的一般没问题, 具体如下:

    SELECT COL, COUNT(1) AS CNT FROM TABLEGROUP BY 1 HAVING CNT > 1

 

Q: 有一张表有两个字段,分别是商品ID和商品价格,如何取到商品价格是前10名的所有商品ID

A:  如果只能想到ORDER BY + LIMIT的,说明SQL较弱。知道用窗口函数(PARTITION BY)的话,至少说明应该不止做过简单的SELECT * FROMTABLE,但想到用row_number()的话。。不行,如果会问价格是否有重复的话,说明对问题考虑得算周全,因为价格通常都会重复,ID是一般唯一的,如果知道rank() , dense_rank()的话基本就没问题了。当然也有不用partition by 的方式,但步骤较多

 

数仓:

Q:  数据仓库一般的分层有哪些

A:  不同公司叫法不同,但是可以让他解释每层分别放什么样的数据,下面是网上抄的,大同小异,知道基本概念就行

ODSOperation Data Store

原始数据

DWD(数据清洗/DWI) data warehouse detail

数据明细详情,去除空值,脏数据,超过极限范围的

明细解析

具体表

DWS(宽表-用户行为,轻度聚合) data warehouseservice ----->有多少个宽表?多少个字段

服务层--留存-转化-GMV-复购率-日活

点赞、评论、收藏;

轻度聚合对DWD

ADS(APP/DAL/DF)-出报表结果 Application Data Store

做分析处理同步到RDS数据库里边

 

Q:  维度表和事实表分别是什么?举些例子?

A:  简单解释:

事实表就是交易表。

维度表就是基础表。

二者的区别:

维度表的冗余很大,主要是因为维度一般不大(相对于事实表来说的),而维度表的冗余可以使事实表节省很多空间。

事实表一般都很大,如果以普通方式查询的话,得到结果一般发的时间都不是我们可以接受的。所以它一般要进行一些特殊处理。如SQL Server 2005就会对事实表进行如预生成处理等。

事实表一般是没有主键的,数据的质量完全由业务系统来把握。


七、SQL相关


1.distributeby sort by cluster by order by 区别?

1). order by 只有一个reduce负责对所有的数据进行排序,若大数据量,则需要较长的时间。建议在小的数据集中使用order by 进行排序。

2). order by 可以通过设置hive.mapred.mode参数控制执行方式,若选择strict,则order by 则需要指定limit(若有分区还有指定哪个分区);若为nostrict,则与关系型数据库差不多。

3). sort by 基本上不受hive.mapred.mode影响,可以通过mapred.reduce.task 指定reduce个数,查询后的数据被分发到相关的reduce中。

4). sort by 的数据在进入reduce前就完成排序,如果要使用sort by 是行排序,并且设置map.reduce.tasks>1,sort by 才能保证每个reducer输出有序,不能保证全局数据有序。

5). distributeby 采集hash算法,在map端将查询的结果中hash值相同的结果分发到对应的reduce文件中。

6). distributeby 可以使用length方法会根据string类型的长度划分到不同的reduce中,最终输出到不同的文件中。 length 是内建函数,也可以指定其他的函数或这使用自定义函数。

7). cluster by 除了distribute by 的功能外,还会对该字段进行排序,但是排序只能是升序排序,不能指定排序规则为ASC或者DESC,所以cluster by = distribute by +sort by

 

2.请简述以下sql 执行顺序是什么?

select

    catid,

    count(orderid) as sales

from t_tab

where catid <> "c666"

group by  catid

having count(orderid) > 10

order by count(orderid) desc

limit 100

 

 

答:

from -> where -> group by ->having -> select -> order by -> limit

 

3.问:(1)两条语句的执行结果是否一样?为什么?

  2)假设,数据量很大的情况下,您会选择哪种语句执行?也可以自行开发

 

--sql 语句 1

select

 t1.id,t1.xxx,t2.xxx

from t1 left join t2

on t1.id = t2.id and t1.id < 10

 

--sql 语句 2

select

   t1.id,t1.xxx,t2.xxx

from t1 left join t2

on t1.id = t2.id

where t1.id < 10

 

 

 

答:1)由于left join,right join,full join的特殊性,不管on上的条件是否为真都会返回leftright表中的记录,full则具有leftright的特性的并集。

     sql 语句 1  采用的是left join,所以 on 里的 t1.id <10  对左表 t1 不起作用,结果还是会返回t1 表的所有数据

         

          sql 2 则是先通过 on 上的条件,将两表关联,在最终关联好的表上,在进行过滤,所以只会返回t1.id < 10 的所有数据

        2) 当数据量很大的情况下,基于上述情况我会选择 sql 2 ,但是性能不高,可以采用以下查询

          select

            tmp_t1.id,tmp_t1.xxx,t2.xxx

          from

          (

             select * from t1 where t1.id < 10

          ) tmp_t1 left join t2

          on tmp_t1.id = t2.id

 

4.count(distinct user_id) group by user_id 之后 count  两者有什么区别?

 首先要清楚,count(distinct) 的原理机制,首先他是将数据通过map端发往一个reduce,之后reduce接收到数据之后,会将数据放入到 hashset中去重,之后cleanUp() 方法,在执行最后的逻辑,比如:计算hashsetsize等。

这里就出现了一些问题,

1)数据都发往一个reduce会造成数据倾斜,

2)程序从分布式变成单机程序,影响效率

3)程序执行过程中,只产生一个job

但也不是绝对的,当数据量很小的时候,此时我们并不需要采分布式执行,一个job运行足矣,但是,当数据量比较大的时候,这时count(distinct) 就暴露除了大大的弊端,所以,此时,不应该采用此法来实现去重

group() by  count()  当数据量比较大的时候,采用此法,先分组,这时已经在map端实现了去重机制,之后数据发往reduce 数据量已经变得很小了,并且此法涉及到shuffle ,所以reduce的压力不会集中在某个上,并且会产生多个job

1.1 group() by  count()  一定比count(distinct) 性能要好吗?

不一定,当数据量比较大的时候采用group() by  count() 会比count(distinct) 要好,但是在数据量比较小的时候,一个job就可以处理,没必要用两个job,也没必要shuffle,所以调优看情况而定



--end--


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
7月前
|
SQL 前端开发 程序员
【面试题】前端开发中如何高效渲染大数据量?
【面试题】前端开发中如何高效渲染大数据量?
127 0
|
7月前
|
设计模式 SQL 算法
大数据面试总结
大数据面试总结
73 0
|
7月前
|
存储 安全 Java
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day03】——JavaSE
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day03】——JavaSE
73 0
|
6月前
|
SQL 大数据
常见大数据面试SQL-每年总成绩都有所提升的学生
一张学生成绩表(student_scores),有year-学年,subject-课程,student-学生,score-分数这四个字段,请完成如下问题: 问题1:每年每门学科排名第一的学生 问题2:每年总成绩都有所提升的学生
|
7月前
|
分布式计算 监控 大数据
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
115 1
《吊打面试官》- 大数据工程师50道中大厂面试真题保姆级详解
|
7月前
|
SQL 分布式计算 算法
程序员必备的面试技巧——大数据工程师面试必备技能
程序员必备的面试技巧——大数据工程师面试必备技能
125 0
|
7月前
|
缓存 运维 NoSQL
面试分享:Redis在大数据环境下的缓存策略与实践
【4月更文挑战第10天】探索Redis在大数据缓存的关键作用,本文分享面试经验及必备知识点。聚焦Redis数据结构(String、List、Set、Hash、Sorted Set)及其适用场景,缓存策略(LRU、LFU、TTL)与过期机制,集群和数据分片,以及性能优化和运维技巧。通过代码示例深入理解,助你面试成功,构建高效缓存服务。
194 4
|
7月前
|
消息中间件 分布式计算 Kafka
50道大数据精选面试题
50道大数据精选面试题
|
7月前
|
Java 大数据
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day04】——JavaSE
Java大数据面试复习30天冲刺 - 日积月累,每日五题【Day04】——JavaSE
68 0
|
1月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!

热门文章

最新文章