全网最全ebay大数据面经合集

这篇博客整理了作者及其朋友在面试eBay大数据岗位时遇到的问题,涵盖Java基础、数据结构、多线程、JVM、数据库、设计模式、数据结构与算法等多个方面,旨在帮助读者准备类似的面试。博客内容详尽,包括问题的难度分类和答案要点,是面试复习的重要参考资料。
摘要由CSDN通过智能技术生成

前言

 

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

 

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

 

 

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

 

一、  java基础

 

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

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

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

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

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

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

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

8、  HashMap的疯狂试探:

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

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

c.       请你简单叙述一下hashMap的put和get操作,当然,能说多细就说多细?

d.       Jdk7和jdk8中对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.7和1.8中,ConcurrentHashMap的区别是什么?

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

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

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

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

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

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

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

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

e.       Wait,yeild,stop,sleep、join、start、run的区别和如何使用?

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

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

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

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

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

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

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

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

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

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

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

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

g.      Synchronize的实现原理知道吗?moniter的实现机制呢,为什么加了Synchronzie关键字ÿ

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pulsar 是 eBay 开源的实时大数据分析平台。作为全球性的商务平台和支付行业领先者,拥有海量的用户行为数据。基于现有的hadoop大数据处理,已经不能够满足业务上对实时性的需求。基于过去的大数据处理的经验和对最新技术的运用,探索出一个对海量的数据流进行实时的收集,处理,分发和分析的平台。并于2015年2月底开源此平台: Pulsar。Pulsar 作为一个复杂事件处理平台,具有快速,准确,灵活的特性,保证点到点的低延时和高可靠,从而很好得满足了的eBay秒级实时数据分析的需求。同时每秒百万级流量处理能力,给客户带来更好的个性化体验,帮助客户监控实时业务信息并定制实时营销策路,及时监测网络欺诈行为并减少机器人干预。并且Pulsar是基于标准的分布式云架构部署并跨越多个数据中心,从而保证了在系统升级和拓扑更新时没有集群停机时间。Pulsar 平台提供了一个完整的实时大数据分析的解决方案:该平台能够实时收集 Event Stream,并且对 Event 进行实时的 Enrichment 和 Sessionization,推送到不同的实时应用,同时能够实时的进行统计和分析,对业务提供 Key insights.在 Pulsar 平台内部,它把 Event Stream 看成一种类数据库的表,在上面通过应用申明式的4GL来定义Business logic. 并且同时开源了作为支撑Pulsar 的一个全新的大数据流处理框架: Pulsar Jetstream.Pulsar.Stream是一个通用的全新的大数据流的处理框架。他实现了一个开放的,自动发现的Topology, 不同的应用可以分布在不同的Data center, 通过网络进行自动的发现并且建立连接,数据主动从Producer推送到Subscriber. 在每个应用内部,通过Pipeline的方式连接各个业务模块,并且支持用4GL的EPL来定义业务逻辑。整个的topology是开放的并且能够动态扩展,相应的EPL也能够进行动态的更新且没有服务中断。典型的部署结构介绍来自 CSDN 标签:EbayPulsar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值