热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

百度aidu计划,百度ai业务发展部

百度AIDU计划大数据一面面经(凉经)整个流程如下:项目相关内容介绍spark相关内容JVM相关内容整个流程如下:首先进行自我介绍项目相关内容介绍1.项目介绍2.项目的

百度AIDU计划大数据一面面经(凉经) 整个流程如下:项目相关内容介绍spark相关内容JVM 相关内容

整个流程如下:

首先进行自我介绍

项目相关内容介绍

1.项目介绍
2.项目的难点和实现的最核心的东西
3.整个项目中你做了什么?
4.时延是多少?
5.缓存多大的量?
6.redis旁路缓存的具体过程,如何保证数据一致性的

总结:1.项目的内容我应该说实时数仓的相关内容 2.具体内容的重点我应该说数据分流、旁路缓存和维度拼接的内容 这一块需要再次组织语言,针对使用的内存量是多少之类的相关内容给出相应的界定 里面常用的指标记忆几个 spark相关内容

spark介绍:spark作为一个重点的内容进行复习
1.spark执行流程
typore的spark相关的内容,需要再好好看看
2.shuffle和宽窄依赖的关系
shuffle的过程
3.数据倾斜怎么处理的,加盐之后两次map reduce 关于数据倾斜的方案都好好进行处理
4.repartition
5.reducebykey 和 groupbykey的区别与联系
各个算子的作用好好看看
https://www.cnblogs.com/bonelee/p/7111395.html

目前的理解:reducebykey 在一个partition内存中计算好之后再传递到下一个partition groupbykey 是在全部在内存中进行计算的,比较消耗内存

6.spark、flink内存管理
6.1 spark内存模型:https://www.cnblogs.com/coco2015/p/11240677.html
6.2 spark内存管理:https://www.cnblogs.com/mmzs/p/8406114.html
6.3 flink内存模型:https://www.jianshu.com/p/e0f95c625f9e
6.4 flink内存管理:https://blog.csdn.net/qq_36421826/article/details/82494104
7.spark shuffle 过程

JVM 相关内容

1.内存模型 JVM内存模型,深入看一下,包含所有的gc相关的内容,以及分代和垃圾回收
2.moniter gc和full gc的区别
3.CMS底层实现、G1、CMS作用在哪个分区、实现方式
4.哪些能引起full gc
https://blog.csdn.net/weixin_36065817/article/details/114727852
5.flink/spark任务gc相关的问题,遇到了吗?怎么处理的?

算法题
1.单例模式
风中的故事式、饿汉式
锁的内容 8锁模式,好好看看

/**/饿汉式单例public class Hungry{ private Hungry(){} private final static Hungry hungry = new Hungry(); public static Hungry getInstance(){ return hungry; }}

/*
*/风中的故事式

public class LazyMan{ private volatile static LazyMan lazyman; public static LazyMan getInstance(){ if(lazyman == null){ synchornized(LazyMan.class){ if(lazyMan == null){ lazyMan = new LazyMan(); } } }}

总结:本次面试准备时间特别仓促,复习的时候过于宽泛,没有深入准备,面试特别紧张、需要再次组织语言。增加code练习。针对每一块内容都逐步开始复习工作。望大家监督。


推荐阅读
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 如何利用Java 5 Executor框架高效构建和管理线程池
    Java 5 引入了 Executor 框架,为开发人员提供了一种高效管理和构建线程池的方法。该框架通过将任务提交与任务执行分离,简化了多线程编程的复杂性。利用 Executor 框架,开发人员可以更灵活地控制线程的创建、分配和管理,从而提高服务器端应用的性能和响应能力。此外,该框架还提供了多种线程池实现,如固定线程池、缓存线程池和单线程池,以适应不同的应用场景和需求。 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • Flowable 流程图路径与节点展示:已执行节点高亮红色标记,增强可视化效果
    在Flowable流程图中,通常仅显示当前节点,而路径则需自行获取。特别是在多次驳回的情况下,节点可能会出现混乱。本文重点探讨了如何准确地展示流程图效果,包括已结束的流程和正在执行的流程。具体实现方法包括生成带有高亮红色标记的图片,以增强可视化效果,确保用户能够清晰地了解每个节点的状态。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 本文详细介绍了一种利用 ESP8266 01S 模块构建 Web 服务器的成功实践方案。通过具体的代码示例和详细的步骤说明,帮助读者快速掌握该模块的使用方法。在疫情期间,作者重新审视并研究了这一未被充分利用的模块,最终成功实现了 Web 服务器的功能。本文不仅提供了完整的代码实现,还涵盖了调试过程中遇到的常见问题及其解决方法,为初学者提供了宝贵的参考。 ... [详细]
  • Java中不同类型的常量池(字符串常量池、Class常量池和运行时常量池)的对比与关联分析
    在研究Java虚拟机的过程中,笔者发现存在多种类型的常量池,包括字符串常量池、Class常量池和运行时常量池。通过查阅CSDN、博客园等相关资料,对这些常量池的特性、用途及其相互关系进行了详细探讨。本文将深入分析这三种常量池的差异与联系,帮助读者更好地理解Java虚拟机的内部机制。 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • Python进阶笔记:深入理解装饰器、生成器与迭代器的应用
    本文深入探讨了Python中的装饰器、生成器和迭代器的应用。装饰器本质上是一个函数,用于在不修改原函数代码和调用方式的前提下为其添加额外功能。实现装饰器需要掌握闭包、高阶函数等基础知识。生成器通过 `yield` 语句提供了一种高效生成和处理大量数据的方法,而迭代器则是一种可以逐个访问集合中元素的对象。文章详细解析了这些概念的原理和实际应用案例,帮助读者更好地理解和使用这些高级特性。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文详细介绍了使用 Python 进行 MySQL 和 Redis 数据库操作的实战技巧。首先,针对 MySQL 数据库,通过 `pymysql` 模块展示了如何连接和操作数据库,包括建立连接、执行查询和更新等常见操作。接着,文章深入探讨了 Redis 的基本命令和高级功能,如键值存储、列表操作和事务处理。此外,还提供了多个实际案例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 在Android开发中,实现多点触控功能需要使用`OnTouchListener`监听器来捕获触摸事件,并在`onTouch`方法中进行详细的事件处理。为了优化多点触控的交互体验,开发者可以通过识别不同的触摸手势(如缩放、旋转等)并进行相应的逻辑处理。此外,还可以结合`MotionEvent`类提供的方法,如`getPointerCount()`和`getPointerId()`,来精确控制每个触点的行为,从而提升用户操作的流畅性和响应性。 ... [详细]
author-avatar
mobiledu2502857827
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有