首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
王大壮A
门头沟学院 工商管理类
发布于北京
关注
已关注
取消关注
@biLbo:
双非硕非科班大数据开发秋招面经
9.1 滴滴一面 70 分钟 项目 sparkstreaming 怎么实现的 Spark Streaming在内部处理的机制原理是:先接受实时流的数据,并根据一定的时间间隔拆分成一批批的数据,这些批数据在Spark内核对应一个RDD实例,因此,流数据的DStream可以看成一组RDDs,然后通过调用Spark核心的作业处理这些批数据,最终得到处理后的一批批结果数据。 怎么处理 可能就是问如何从 kafka 获取数据 receiver 使用 kafka 高层次 Comsumer API 来实现的。receiver 从 kafka 获取的数据都是存储在 executor 内存的,然后 spark streaming 启动的 job 会去处理这些数据。用这种方式来与 Kafka 集成,配置中设置了 enable.auto.commit 为 true,表明自己不需要维护 offset,而是由 Kafka 自己来维护(在 Kafka 0.10 后,默认的 offset 存储位置改为了 Kafka,实际上就是 Kafka 的一个 topic),Kafka 消费者会周期性地(默认为 5s)去修改偏移量。这种方式接收的数据都保存在 Receiver 中,一旦出现意外,数据就有可能丢失,要想避免丢失的情况,就必须采用 WAL(Write Ahead Log,预写日志)机制,在数据写入内存前先进行持久化。 现在我们来试想一种情况,数据从 Kafka 取出后,进行了 WAL,在这个时候,Driver 与 Executor 因为某种原因宕机,这时最新偏移量还没来得及提交,那么在 Driver 恢复后,会从记录的偏移量继续消费数据并处理 WAL 的数据,这样一来,被 WAL 持久化的数据就会被重复计算一次。因此,开启了 WAL 后,这样的容错机制最多只能实现“至少一次”的消息送达语义。而且开启 WAL 后,增加了 I/O 开销,降低了 Spark Streaming 的吞吐量,还会产生冗余存储。 2.direct spark 1.3 引入的,从而能够确保更加健壮的机制。这种接收数据的方式会周期性地查询 kafka,来获取每个 topic+partition 最新的 offset,从而定义每个 batch 的 offset 的范围。当处理数据的 job 启动时,就会使用 kafka 简单 Comsumer API 来获取 kafka 指定 offset 范围的数据。利用 Spark 本身的 DAG 容错机制,使所有计算失败的数据均可溯源,从而实现了“恰好一次”的消息送达语义。 spark 内存管理 Spark内存管理模型详解 - 掘金 哪些 gcroots 可以回收 虚拟机栈 本地方法栈引用的对象 2. 方法区中静态属性、常量引用的对象 算法题:判断是否有环 证明 9.2 华为一面 1h 项目 kafka 特点 高吞吐 kafka高吞吐量的原因 容错性 高性能 kafka broker 挂了怎么办 ISR 选举过程讲一遍。 map 数据结构 Hashmap concurrenthashmap hashmap 底层数据结构 数组长度多少 怎么扩容的 为什么是 2 的幂次方 锁 自旋锁 红黑树特点 为什么设计红黑树 查找树,为了解决二叉查找树在某些情况下退化为线性结构,为节点添加了颜色 根节点是黑色的; 叶子节点是黑色的空节点 非红即黑 节点是红色的,子节点一定是黑的,反之不一定 黑色高度相同 贪心算法 动态规划区别 算法题:最长不重复子串 9.7 顺丰一面 hbase 场景 结构化和半结构化的数据 数据结构不确定,很难按一个概念去进行抽取的数据。比如需要存储用户的 email、phone、address 信息时需要 RDBMS 停机维护,Hbase 支持动态增加 记录稀疏 RDBMS 列是固定的,为 null 的空列浪费很多存储空间。Hbase 的空列不占空间,既节省了空间又提高了读性能 多版本数据 存储有变动的历史记录,用Hbase比较方便 二级索引 由于HBase的查询比较弱,如果需要实现类似于 select name,salary,count(1),max(salary) from user group by name,salary order by salary 等这样的复杂性的统计需求,基本上不可能,或者说比较困难,所以我们在使用HBase的时候,一般都会借助二级索引的方案来进行实现; HBase的一级索引就是rowkey,我们只能通过rowkey进行检索。如果我们相对hbase里面列族的列列进行一些组合查询,就需要采用HBase的二级索引方案来进行多条件的查询。 常见的二级索引我们一般可以借助各种其他的方式来实现,例如solr或者ES等。 HBase二级索引方案 hbase 热点问题怎么解决 Hbase热点问题、数据倾斜和rowkey的散列设计 项目模型参数都有哪些 9.18 蘑菇街一面 39min Flink、Spark Streaming 区别 Kakfa 概念 offset 理解 Zookeeper 选举机制 HashMap HashTable ConcurrentHashMap BIO NIO 为什么要分 S0 S1 区 可以知道,新生代使用复制回收算法,我们设想一下只有一个Survivor区会发生什么情况。 当Eden区填满后,Minor GC进行垃圾回收,幸存的对象会移动到Survivor区,这样循环往复。此时,Survivor区被装满了,也会进行Minor GC,将一些对象kill掉,幸存的对象只能保存在原来的位置,这样就会出现大量的内存碎片(被占用内存不连续)。 应该建立两块Survivor区,刚刚新建的对象在Eden中,经历一次Minor GC,Eden中的存活对象就会被移动到第一块survivor space S0,Eden被清空;等Eden区再满了,就再触发一次Minor GC,Eden和S0中的存活对象又会被复制送入第二块survivor space S1(这个过程非常重要,因为这种复制算法保证了S1中来自S0和Eden两部分的存活对象占用连续的内存空间,避免了碎片化的发生)。S0和Eden被清空,然后下一轮S0与S1交换角色,如此循环往复。 内存碎片化是严重影响性能的,可以设想当有一个稍大一点的对象从Eden区存活转入Survivor区,发现空闲内存断断续续,没有他能落脚的地方,就只能直接存到老年代了,如此反复,老年代会出现我们第一部分的问题。打个比方:我们出去郊游,一些吃的罐头,玩的玩具随便放在包里,最后发现最主要的折叠帐篷放不进去了,只好手拿着到处溜达,非常不方便且影响心情。 最后,如果有两个Survivor区,便可以保证一个为空,另一个是非空且无碎片保存的。 Kafka 每个分区只能被一个消费者消费 重写 重载 9.***华一面 18min 重写 重载 抽象类 接口区别 接口里可以有静态方法和方法体 接口中的所有方法必须是抽象方法(JDK8 之后就不是了) 接口要被类实现 接口支持多继承,类不支持多个类继承 一个类只能继承一个类,但是能实现多个接口。接口只能继承另一个接口,用 extends 关键字。 接口:在 Java 语言中是一个抽象类型,是抽象方法的集合。接口通常以 interface 来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。 类描述对象的属性和方法,接口则包含类要实现的方法。 接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。 抽象类:在面向对象的概念中,所有的对象都是通过类来描述的,并不是所有的类都用来描述对象。如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能还在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。 父类包含了子类集合的常见方法,由于父类本身是抽象的,所以不能使用这些方法。 在 Java 中抽象类表示的一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口 声明抽象类会造成两个后果: 如果一个类含有抽象方法,那么该类必须为抽象类 任何子类必须重写父类的抽象方法,或者声明自身为抽象类 接口和抽象类的区别: 抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口不行 抽象类的成员变量可以是各种类型(除了 private,因为子类要继承),而接口中的成员变量只能是 public static final 类型的 接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法的(JDK 1.8 以后,接口可以有静态方法和方法体了 一个类只能继承一个抽象类,而一个类可以实现多个接口 抽象类和普通类的区别: 抽象方法必须为 public 或者 protected(如果是 private,子类没办法继承,也就无法实现该方法),缺省情况下默认为 public 抽象类不能用来创建对象 如果一个类继承于一个抽象类,那么必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,必须声明子类为抽象类 static final,static,this,super.md · SnailClimb/JavaGuide - Gitee.com 阻塞有哪些方法 synchronized lock - lock 接口提供的 synchronized 关键字不具备的主要特性: 尝试非阻塞地获取锁。当前线程尝试获取锁,如果这一时刻没有被其它线程获取到,则成功获取并持有锁; 能被中断地获取锁。与 synchronized 不同,获取到锁的线程能够被中断,当获取到锁的线程被中断时,中断异常将会被抛出,同时锁被释放; 超时获取锁。在指定的截止时间之前获取锁,如果截止时间到了仍旧无法获取锁,则返回。 rdd 介绍 推荐算法了解哪些 怎么划分 stage 宽依赖 MapReduce 流程 rdd 转换 行动算子
点赞 10
评论 9
全部评论
推荐
最新
楼层
滴滴
校招火热招聘中
官网直投
相关推荐
牛客233581494号
05-19 02:42
华南师范大学 计算机类
网易雷火暑期实习游戏测试面经
一年前说要分享的面经,拖到了现在哈哈哈。一方面是因为过去一年实在太忙了,无论是学习,工作还是生活都遇到了挺多挑战。另一方面是我最终选择了另外一条道路,未来的工作方向不再涉及游戏行业了,因此才决定大方说出来,希望能帮助到想要进入游戏行业的学生们。(半夜发是因为喝了霸王茶姬,突然心血来潮)一面两轮(每轮40-50分钟)1.问实习经历,为什么选择游戏测试这个岗位,有什么了解,问玩哪些游戏2.八股拷问:python相关(主要是因为我写了python),问有没有做过实战项目;计组相关(tcp udp,你觉得游戏里面哪些场景用到tcp,哪些用到udp,两者有哪些优缺点);两道简单sql题3.游戏及测试相关...
点赞
评论
收藏
转发
钱多多是我
05-22 08:05
测试工程师
小米集团测试工程师的晋升空间怎么样?
小米集团作为一家知名的科技公司,提供了广阔的职业发展空间和晋升机会。测试工程师在小米集团内有以下晋升空间和发展路径:职级晋升:小米集团按照职级制度进行员工的晋升。测试工程师可以通过提升自己的技能、积累项目经验和成果,获得更高的职级,并承担更高级别的测试工作。职位晋升:测试工程师可通过卓越的表现和贡献,逐步晋升到高级测试工程师、主管、经理等职位。这需要不断提升技术能力、项目管理能力和领导能力等。横向转岗:小米集团鼓励员工进行横向转岗,从事其他相关工作领域的机会。例如,测试工程师可以转向质量保证、软件开发或产品管理等职位,在不同领域中拓宽自己的技能和经验。专业发展道路:小米集团提供了丰富的培训和学...
投递小米集团等公司6个岗位 >
点赞
评论
收藏
转发
白白白白白小白
昨天 16:42
门头沟学院 计算机类
我是傻*
我本来一直相信学校教书育人,更希望自己的学生变得好一些,商量商量准备工作做足还用偷着跑去实习? 现在发现我就是傻*
点赞
评论
收藏
转发
牛客663932011号
03-29 17:19
已编辑
南昌交通学院 计算机类
全网两百多万粉丝找不到工作
大哥大姐们,昨天你们提的建议,我又改了一遍简历,麻烦看看
点赞
评论
收藏
转发
牧原大舞台
05-18 21:26
牧原集团_运营_HR
牧原内推
真的不卡学历,大家投投拿个保底也行,春招开启 ,还有很多HC 月薪2w+的牧原! 两周一次居家办公,一月四次出场休假,买车买房吃肉,福利待遇拉满公司发展还是很不错的,不卷目前还在招:智能研发类,能源类,环保类,工程类,管理类内推码:DSTUBJ88内推链接:大家可以扫码https://app.mokahr.com/m/campus-recruitment/muyuan/70116?recommendCode=DSTUBJ88#/jobs投递,投递后留言【岗位+姓名】,方便跟进#牧原集团##内推##秋招##校招#引流:字节跳动,海康威视,深信服,腾讯,阿里巴巴,拼多多,滴滴,京东,小米,大疆,美...
投递牧原集团等公司6个岗位 >
点赞
评论
收藏
转发
点赞
收藏
评论
分享
回复帖子
提到的真题
返回内容
全站热榜
1
...
25届秋招迫在眉睫但也不用太🍌🟢
1.1W
2
...
快手国际化 java一面 25届暑期
9301
3
...
听劝,改简历不能改命,但能增加机会
8636
4
...
突然发现自己根本不喜欢互联网
7972
5
...
58同城面经
5444
6
...
暑期实习0 offer
4211
7
...
华为实习一二面面经(开炮)
3536
8
...
腾讯面王,挑战最多面试次数!十五面,六个事业群全涉及
3427
9
...
周一就入职了,go语言一点没学
3427
10
...
腾讯音乐offer啦,面经回馈一下大伙
3192
正在热议
#
牛客帮帮团来啦!有问必答
#
902536次浏览
14140人参与
#
机械制造薪资爆料
#
329628次浏览
3831人参与
#
晒一晒我的offer
#
3557732次浏览
56057人参与
#
金三银四,你有感觉到吗
#
338925次浏览
4319人参与
#
腾讯工作体验
#
139360次浏览
1367人参与
#
在国企工作的人,躺平了吗?
#
101810次浏览
1295人参与
#
秋招开了,你想投哪些公司呢
#
125738次浏览
3340人参与
#
我发现了面试通关密码
#
361079次浏览
6777人参与
#
你的秋招进行到哪一步了
#
376632次浏览
6477人参与
#
0offer是寒冬太冷还是我太菜
#
436763次浏览
5000人参与
#
24届软开秋招面试经验大赏
#
1080753次浏览
17125人参与
#
机械人,你的秋招第一份简历被谁挂了
#
34604次浏览
583人参与
#
25届如何提前做秋招准备?
#
9041次浏览
278人参与
#
如何缓解入职前的焦虑
#
39890次浏览
410人参与
#
投了多少份简历才上岸
#
62870次浏览
999人参与
#
我在牛爱网找对象
#
51897次浏览
343人参与
#
实习与准备秋招该如何平衡
#
184975次浏览
3279人参与
#
国企vs私企,你更想去?
#
27133次浏览
306人参与
#
硬件兄弟们 甩出你的华为奖状
#
30279次浏览
195人参与
#
校招入职后的感受
#
58949次浏览
1095人参与
牛客网
牛客企业服务