首页 > 其他分享 >互联网大厂技术面试题-阿里篇(四)

互联网大厂技术面试题-阿里篇(四)

时间:2024-11-21 19:07:47浏览次数:1  
标签:面试题 扩展性 MPI 阿里 出题 大厂 计算 OpenMP 共享内存

题目1:有一批气象观测站,现需要获取这些站点的观测数据,并存储到 Hive 中。但是气象局只提供了 api 查询,每次只能查询单个观测点。那么如果能够方便快速地获取到所有的观测点的数据?

出题人:阿里巴巴出题专家:江岚/阿里巴巴数据技术高级技术专家

参考答案

A. 通过 shell 或 python 等调用 api,结果先暂存本地,最后将本地文件上传到 Hive 中。

B. 通过 datax 的 httpReader 和 hdfsWriter 插件,从而获取所需的数据。

C. 比较理想的回答,是在计算引擎的 UDF 中调用查询 api,执行UDF 的查询结果存储到对应的表中。一方面,不需要同步任务的导出导入;另一方面,计算引擎的分布式框架天生提供了分布式、容错、并发等特性。

题目2:如何实现两金额数据相加(最多小数点两位)?

出题人:阿里巴巴出题专家:御术/蚂蚁金服数据可视化高级技术专家

参考答案

其实问题并不难,就是考察候选人对 JavaScript 数据运算上的认知以及考虑问题的缜密程度,有很多坑,可以用在笔试题,如果用在面试,回答过程中还可以随机加入有很多计算机基础的延伸。

回到这个问题,由于直接浮点相与加会失精,所以要转整数;(可以插入问遇到过吗?是否可以举个例子?)。

转整数是第一个坑,虽然只有两位可以通过乘以100转整数,但由于乘以一百和除以一百都会出现浮点数的运算,所以也会失精,还是要通过字符串来转;(可以插入问字符串转整数有几种方式?)字符串转整是第二个坑,因为最后要对齐计算,如果没考虑周全先toFixed(2),对于只有一位小数点数据进入计算就会错误;转整数后的计算是个加分点,很多同学往往就是直接算了,如果可以考虑大数计算的场景,恭喜同学进入隐藏关卡,这就会涉及如何有效循环、遍历、算法复杂度的问题。

题目3: 关于并行计算的一些基础开放问题。

◼ 如何定义并计算,请分别阐述分布式内存到共享内存模式行编程的区别和实现(例子代码)?

◼ 请使用 MPI 和 OpenMP 分别实现 N 个处理器对 M 个变量的求和?

◼ 请说明 SIMD 指令在循环中使用的权限?向量化优化有哪些手段?

◼ 请用 Amdahl 定律说明什么是并行效率以及并行算法的扩展性?并说明扩展性的性能指标和限制因素,最后请说明在共享内存计算机中,共享内存的限制?OpenMP 是怎样实现共享内存编程环境的?MPI 阻塞和非阻塞读写的区别?

出题人:阿里巴巴出题专家:何万青/阿里云高性能计算资深技术专家

参考答案

(简要答案,但必须触及,可以展开)

◼ 同时执行多个/算法/逻辑操作/内存访问/IO,相互独立同时运行,分三个层次:进程级,多个节点分布式内存通过MPI通信并行;线程级,共享内存的多路机器,通过OpenMP实现多线程并行;指令集:通过SIM指令实现单指令多数据。。。。举例吧啦吧啦。

◼ MPI代码,,,OpenMP代码,分别写出来 M个元素,N个处理器的累加,后者注意private 参数。

◼ SIMD在循环中的应用,限制在于 SIMD指令处理的每一个数组的长度,cache line利用,内部循环间的依赖和条件调用等。

◼ 向量化,主要看SSE和AVX指令占比率,通过编译器优化...... 在loop代码中使用。

◼ 性能和计算规模随处理器增加的变化曲线,实测HPL和峰值HPL比率,能用用Amdahl定律表达Tpar(N) = (an + (1-a)n/N )t + C (n,N), 能够讲明白串行部分对整个并行的天花板效应,扩展性能够解释清楚算法的扩展性=并行效率随处理器数目的变化关系,画出来。

◼ 共享内存计算机OpenMP对变量的限制描述,EREW,CREW,ERCW,CRCW等区别,NUMA概念,如何保持coherent等。

◼ 写出OpenMP和MPI的核心函数,回答问题即可。

题目4:请计算XILINX公司VU9P芯片的算力相当于多少TOPS,给出计算过程与公式。

出题人: 阿里巴巴出题专家:隐达/阿里云异构计算资深专家

参考答案:基于不同的算法,这个值在十几到几百之间。但是,如果只是单纯比算力,FPGA和ASIC、GPU相比并无太大优势,甚至大多时候有较大劣势。FPGA的优势在于高度的灵活性和算法的针对性。

标签:面试题,扩展性,MPI,阿里,出题,大厂,计算,OpenMP,共享内存
From: https://www.cnblogs.com/autodriver/p/18561361

相关文章

  • 阿里面试:亿级 redis 排行榜,如何设计?
    本文原文链接文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完......
  • 面试题精选04-使用Linq怎么将数据分组之后按时间排序取最新1条数据
    实体类publicclassMovie{publicstringName{get;set;}publicstringArea{get;set;}publicDateTimeProductTime{get;set;}}初始化数据publicstaticList<Movie>InitData(){List<Movie>data=newList<Movie>()......
  • 面试题精选03-单例服务内使用作用域服务会存在什么问题
    存在的问题由于单例服务的生命周期远远超过作用域服务的生命周期,因此可能会在作用域服务被销毁后,尝试使用已经不再有效的服务实例。解决办法不在单例服务内直接使用作用域服务,而是通过依赖注入获取作用域服务。例如,你可以将需要使用的作用域服务作为构造函数参数传递到单例服务......
  • java高频面试题(八股文)
    基础/集合1.ArrayList/LinkedList有什么区别?1、数据结构: 在数据结构上,ArrayList 和 LinkedList 都是 “线性表”,都继承于 Java 的 List 接口。另外 LinkedList 还实现了 Java 的 Deque 接口,是基于链表的栈或队列,与之对应的是 ArrayDeque 基于数组的栈或队......
  • JVM 场景面试题【强烈推荐】
    前言:前面系列文章让我们对JVM及垃圾回收相关的知识有了一个基本的了解,JVM的知识比较偏概念,当然也有一些底层的源码可以去研读,但多数来说我们了解了JVM的原理即可,本篇我们将基于前面分享的JVM相关的原理知识,提取一些JVM中场景的面试题,希望可以帮助到有需要的朋友。......
  • 2024年阿里云年终活动内容详解,阿里云双十一活动参与攻略
    2024年阿里云年终活动内容详解,阿里云双十一活动参与攻略。要参与2024年阿里云双十一活动,您可以按照以下步骤进行:一、前期准备注册/登录阿里云账号访问阿里云官网,根据页面提示完成账号注册或登录。了解活动信息在阿里云官网的活动页面或相关公告中,了解双十一活动的具体信......
  • Spring Cloud 经典面试题
    一、谈谈SpringCloud优缺点? SpringCloud的优点是:集成度高、生态丰富、可扩展性强、功能全面。SpringCloud的缺点是:学习曲线陡峭、有一定的性能开销、组件迭代快版本多、管理复杂。集成度高:SpringCloud集成了多个成熟的微服务组件(如Eureka、Zuul、Ribbon、Hystrix、Sl......
  • 阿里云 Elastic Compute Service (ECS) 中的实例规格族
    在阿里云ElasticComputeService(ECS)中,实例规格族是指不同类型、不同资源配置的云服务器实例系列。选择合适的实例规格族对于确保云计算资源满足业务需求、优化性能和成本非常重要。阿里云提供了多种实例规格族,涵盖不同的工作负载需求,如计算、内存、存储、GPU加速等。常......
  • 面试题--Java反射
    目录获得一个类的class对象有哪些方式?1.使用.class属性:2.使用Class.forName方法:3.通过实例的getClass方法:4.通过类加载器:5.通过数组的getClass方法:6.通过Thread.currentThread().getContextClassLoader().loadClass:7.通过Method、Constructor等类的getDeclaringClass和getReturnT......
  • Oracle DBA必须会的50道面试题
    基础知识Oracle数据库的架构由哪些主要组件组成?请简要描述它们的功能。什么是表空间(Tablespace)?如何创建和管理表空间?Oracle中的实例(Instance)和数据库(Database)有什么区别?解释Oracle的多版本并发控制(MVCC)是什么,它是如何工作的?Oracle数据库中有哪些常见的数据类......