收藏 分销(赏)

阿里云技术面试红宝书.pdf

上传人:Stan****Shan 文档编号:1240244 上传时间:2024-04-19 格式:PDF 页数:45 大小:3.94MB
下载 相关 举报
阿里云技术面试红宝书.pdf_第1页
第1页 / 共45页
阿里云技术面试红宝书.pdf_第2页
第2页 / 共45页
阿里云技术面试红宝书.pdf_第3页
第3页 / 共45页
阿里云技术面试红宝书.pdf_第4页
第4页 / 共45页
阿里云技术面试红宝书.pdf_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、目录面试题 001 5面试题 002 5面试题 003 7面试题 004 7面试题 005 9面试题 006 9面试题 007 11面试题 008 12面试题 009 14面试题 010 15面试题 011 17面试题 012 17面试题 013 19面试题 014 21面试题 015 23面试题 016 23面试题 017 25面试题 018 27面试题 019 29面试题 020 29面试题 021 31面试题 022 32面试题 023 34面试题 024 34面试题 025 36面试题 026 38面试题 027 40面试题 028 41面试题 029 43面试题 030 444面试题

2、/常见的 DNS 记录类型有哪些,常见的 DNS 攻击方式有哪些以及怎么防护?/在进行 CDN 流量调度时,要考虑哪些因素?流量产品事业部我们以遍布全球的数千个强劲 IDC 节点和数以亿记的的内外部客户端为基础,和网络进行亲密接触,寻找同路英雄共创未来!招聘职位:CDN 点播研发专家等 5 个职位扫码投递简历面试题001/面试题002面试题/如何把 DDD 应用到实际项目中来?/如何设计一个百万级 TPS 分布式系统架构?新金融事业部阿里云新金融事业部由阿里云智能和蚂蚁集团的金融业务合并而成,全面拉通阿里巴巴数字经济提金融科技和金融服务的能力。阿里云的云计算技术体系叠加蚂蚁集团的金融级平台技术

3、和创新的 Fintech 技术,必将引领金融市场技术平台的革命浪潮,同时为客户创造更多新的业务价值。面试题003/面试题004面试题/Java 多线程的协同/数据结构的组合使用计算平台事业部在这里,你将和 Dataworks 云产品团队一起,整合阿里云海量异构存储元数据,统一各计算引擎调度,构建元数据中台,提供业界领先的大数据综合治理,数据湖,数据服务的能力。招聘职位:java 开发等 4 个职位扫码投递简历面试题005/面试题006面试题/异步、多线程并发控制如何操作?/MapReduce 思想、排序算法结合实例如何运用?计算平台事业部阿里云实时计算部是阿里巴巴大数据技术体系的核心团队。我们

4、围绕 ApacheFlink 为核心打造的大数据实时计算平台,一方面在阿里集团内部提供全公司范围的实时数据分析服务,支持淘宝、天猫、高德、优酷、饿了么、钉钉等所有阿里经济体子公司;另一方面通过阿里云向外界提供基于 Flink 的实时计算云产品服务,服务广大中小企业。招聘职位:大数据计算平台研发专家等 3 个职位扫码投递简历面试题007面试题008面试题 008淘宝 web 服务器上有 1 个 access 日志文件,记录着用户访问的 url,url 总数100 亿以上,每个 url 约占 64 字节,这些 url 可能存在重复,在一个内存只有 2G 的机器上,统计出访问频率最高的前100 个

5、URL。考察点 1:MapReduce 思想,利用中间文件存储,分而治之。考察点 2:排序算法解题思路:100 亿*64/1024/1024/1024=596G,可考虑分成 1000 个文件处理,每个文件大约 600M。顺序读取文件,每行按照 hash(url)%1000 的结果将 url 写入到 1000 个文件中,这个过程是 mapreduce 中的 map。针对每个小文件,使用 hashmap 统计每个 url 出现的次数,并使用堆排序得到访问次数最高的前 100 个 url,将每个文件排序好的 100 个 url 及对应的 count 输出到 1000 个文件,最后将这个1000 个文

6、件(此时每个文件只有 100 行)进行合并排序。面试题009面试题 009面试题 1(难度:中等):如何设计一个红包系统来满足春节期间千亿级红包的收发问题?本题为开放性问题,无标准答案,主要可以从以下几个不同的点对不同背景的面试人员进行考察:业务:面试人员是否对抢红包的业务场景的需求有足够的了解,如果没有的话,是否有足够的沟通能力从面试官那里获取需要满足的业务场景的信息(比如金额方面不能有任何差错;比如对于并发量的要求等等)底层存储:需要存哪些数据?用什么样的存储系统/数据库来落盘数据?数据存储的格式是怎么样的?数据库的 schema 怎么设计?底层存储如何拆分、如何架构导致其可以处理高并发请

7、求?缓存:缓存应该如何设计来提高系统的性能?如果使用分布式缓存?同步v.s.异步:所有的操作都需要同步执行吗?有没有操作可以异步执行来减少对于用户的响应延迟?如果有的话怎么实现异步操作(比如消息队列)。高可用:上述列出的组件之一如果宕机了怎么办?缓存被击穿了怎么办?怎么保证系统的高可用?系统怎么 failover?测试与部署:如何压测整个系统?系统如何灰度?如何上线?面试题010面试题/举一个数据库快照读的实现方案/B+树和 B 树的区别有哪些?数据库产品事业部阿里云智能事业群数据库产品事业部承载着阿里巴巴经济体所有的在线数据处理分析以及数据库服务,是业务蓬勃发展的核心基础设施,在阿里云上全面

8、覆盖电商、物流、安防、交通、健康、出行、气象、游戏、教育等广大行业并提供核心服务,在集团内为淘宝、天猫、大文娱等事业群提供稳定、高效、安全、低成本、极致性能与规模的数据库产品和服务。核心产品包括:自研的新一代云原生数据库 POLARDB,新一代 OLAP 数据库 AnalyticDB,时序数据库 TSDB,以及关系型数据库服务 RDS、非关系型数据库服务 NoSQL,数据传输产品 DTS 和数据库大脑 CloudDBA。招聘职位:MySQL 云数据库内核开发专家等 5 个职位扫码投递简历面试题011/面试题012面试题/编程实现 DAG(有向无环图)的 DeepCopy/设计一个抽奖,假定只有

9、非常有限的内存,如何处理一个无限的样本流?基础产品事业部阿里云智能云原生应用平台以容器和 K8s 为突破口,以分布式、微服务、服务治理、服务网格、消息、PaaS 为切入点布局产品技术,服务好阿里集团的同时,面向行业客户承担加速企业数字化转型升级,推动核心技术互联网化演进的责任,帮助企业客户和开发者全面拥抱云计算、最大化发挥云计算的价值、享受云计算的红利。面向未来定义研发、运维模式,推动 Serverless、函数计算等现代化架构演进,形成充分的产品技术竞争力,服务百万开发者,成为云原生时代的引领者。招聘职位:云原生研发 Leader 等 4 个职位扫码投递简历面试题013面试题013publi

10、c static Collection DeepCopy(Collection nodes)Collection newNodes=new ArrayList();Map copyMap=new HashMap();for(Node node:nodes)newNodes.add(copyNode(node,copyMap);return newNodes;private Node copyNode(Node node,Map copyMap)if(copyMap.containsKey(node)return copyMap.get(node);/可以加上 nullability check

11、 Collection newNeighbors=new ArrayList();for(Node neighbor:node.getNeighbors()newNeighbors.add(copyNode(neighbor,copyMap);Node newNode=new Node(node.getValue(),newNeighbors);copyMap.put(node,newNode);return newNode;4.其他这个编程的过程,经常出现的是递归的方法和 wrapper 方法之间划分不清,出现大量的重复代码,候选人这里花多少时间解决也是一个能力的表现。还有经常有候选人意识不

12、到 DeepCopy 里面需要保持图的结构因此想不到用 Map,这个也是不行的。当然如果要求不高,可以直接把题目编程 DeepCopy 一个树,这样就没有去重的需求了。能够正确完成的,可以 followup:如线程安全,问一下候选人方法是否是线程安全的(如果在 Node 节点里面存一些临时变量,或者把 Map 作为全局变量等就不是了),可以问如何改造成线程安全之类的问题。另外 FollowupBig(O):时间复杂度(O(V)+O(E)面试题014面试题/如果 Java 程序 CPU 飚高到 100%,怎么排查原因?/多租户隔离是什么?解决哪些问题?多租户的架构是怎么样的?IoT 事业部IoT

13、 的使命是数字化物理世界,从而建立基于数字孪生体的数字世界(CPS),并且在数字世界建立操作系统来调度物理世界,比如通过调度人货场;来提升新零售的效率,通过调度人机料法环来提升产业的效率。招聘职位:前端开发专家等 5 个职位扫码投递简历面试题015/面试题016面试题/图的基础概念以及基础数据结构。/请实现代码片段,把地址 0 x80008000 处的 32 位数据的第 10 位开始的 7 位设置为 0 xAA。达摩院平头哥主要针对下一代云端一体芯片新型架构开发数据中心和嵌入式 IoT 芯片产品,从云和端两个方面进行软硬深度协同的技术创新,目标是让数据和计算更普惠,持续拓展数据技术的边界。招聘

14、职位:编译研发专家等 5 个职位扫码投递简历面试题017面试题017C+实现:面试题01827面试题 018请实现代码片段,把地址 0 x80008000 处的 32 位数据的第 10 位开始的 7 位设置为 0 xAA。考察点:1.对C的位运数的理解2.对绝对地址访问的理解答案:unsignedinttmp;tmp=*(volatileunsignedint*)0 x80008000;tmp=(tmp&(0 xff10)|(0 xAA面试题/设计和编码实现一个具备 LRU 过期策略的缓存程序。/一个云端应用部署会涉及到哪几类配置信息?市场营销&公共事务部阿里云云开发平台是面向开发者和中小企业

15、打造的一站式、全云端的开发平台,打开浏览器就可以开发、调试、上线,所测即所得,重新定义云时代原生的开发体验。招聘职位:前端架构师等 2 个职位扫码投递简历面试题019/面试题02029面试题 019考察对 java 基础能力,对 HashMap 熟悉程度:设计和编码实现一个具备 LRU 过期策略的缓存程序。答案:public class LRUMap extends LinkedHashMap protected final int _maxEntries;public LRUMap(int maxEntries)this(16,maxEntries);public LRUMap(int in

16、itialEntries,int maxEntries)super(initialEntries,0.8f,true);_maxEntries=maxEntries;Override protected boolean removeEldestEntry(Map.Entry eldest)return size()_maxEntries;面试题 020一个云端应用部署会涉及到哪几类配置信息?答案:1.基础设施配置;2.部署配置;3.BaaS 服务配30面试题/高位特征的搜索,以寻找相似特征的个体,通常针对该问题的解决方法是啥?核心原理是啥?/在目标跟踪算法中,若判定路径的统计学合理性。请列举几

17、种可能的统计学模型来解决该问题。全球技术服务部阿里云智能全球技术服务部(GlobalTechnologyServices,简称 GTS)是一支面向云智能客户,提供完整生命周期服务的技术履约团队。旨在通过专业化的交付实施、系统化的中台支撑及标准化的服务产品能力,运用云和数据智能的力量,联合生态伙伴一起帮助客户实现业务价值。招聘职位:业务中台交付架构师等 5 个职位扫码投递简历面试题021面试题022面试题 022在目标跟踪算法中,需要判定路径的统计学合理性。请列举几种可能的统计学模型来解决该问题。参考答案:一些经典模型如马尔可夫随机场(MRF),条件随机场(CRF),标签传播(labelprop

18、agation)。如果给出的答案没有提及明确的算法,但是接近于优化最大联合概率分布,也 ok。面试题023/面试题024面试题 023服务限流有哪些算法?参考答案:服务限流常见算法有并发计数器算法,漏桶算法,令牌桶算法。前两种算法不支持突发流量的限流,令牌桶算法支持突发流量的限流。一般用谷歌 guava 落地令牌桶算法,用 sentinel 作为服务限流的中间件。面试题 024free-m 命令输出,buffer 和 cached 各是什么含义,有什么区别?-/+buf-fers/cache 目的是看什么,分别是什么意思?参考答案:buffer 是块设备的读写缓冲区,cache 作为 page

19、cache 的内存,文件系统的 cache。查看内存真正被占用的容量(Used-buffers-cached),查看内存还可使用的容量(Free+buffers+cached)。面试题025面试题 025模拟构造一个哈希表(哈希函数可以用 rand(seed)代替),统计出哈希表在指定加载因子(实际元素数量除以哈希表容量)下 slot 被占用的比率、冲突链平均长度(用链表解决冲突)、最大冲突链长度。假设在查询哈希表时,一半元素命中,一半不命中,计算这种情况下的平均访存次数。第一题答案。下面的代码并没有真正实现哈希表,每个slot位置只用了一个计数器来统计。答题者如果实现一个哈希表来真正模拟出结

20、果也是可以的。#include#include#include#define HASH_TBL_SZ 100000int hsh_aryHASH_TBL_SZ;int hash_stati(int ratio)int i,slots_occu=0;int max_collision=0;int ele_nr=ratio*HASH_TBL_SZ/100;double avg_col_len;if(ratio 100)printf(“Error parameter:ratio must be between 1-100.n”);return-1;for(i=0;i HASH_TBL_SZ;+i)/

21、也可用 memset()等函数清零 hsh_aryi=0;for(i=0;i max_collision)max_collision=hsh_aryidx;面试题025面试题026面试题 026输入为:dimention 为 NxN 的数组 A,B,输出为矩阵 C;考察点就是如何用GPU 来并行计算矩阵乘。每个线程算 C 里面的一个 element第二题答案#include#include#include“cuda_runtime.h”#include“kernel.h”#include using namespace std;_global_ void matrixMultiplicatio

22、nKernel(float*A,float*B,float*C,int N)int ROW=blockIdx.y*blockDim.y+threadIdx.y;int COL=blockIdx.x*blockDim.x+threadIdx.x;float tmpSum=0;if(ROW N&COL N)/each thread computes one element of the block sub-matrix for(int i=0;i 512)threadsPerBlock.x=512;threadsPerBlock.y=512;blocksPerGrid.x=ceil(double(

23、N)/double(threadsPerBlock.x);blocksPerGrid.y=ceil(double(N)/double(threadsPerBlock.y);matrixMultiplicationKernel(A,B,C,N);面试题027面试题 027长度为 n 的数组,其中只有 2 个数字出现了奇数次,其他均出现偶数次,问如何使用优秀的时空复杂度快速找到这个数字思路:主要是利用异或定理,若 ab=x,则 a=bx,b=xa。解法:1)假设这两个数分别为 a、b,假设将数组中所有元素全部异或后结果为 x,因为a!=b,所以 x=ab,且 x!=02)判断 x 中某位 bit

24、为 1 的位置,例如 x=0 x00101100,那么 k=2/k=3/k=5 皆可,只需一个;3)因为 x 中第 k 位为 1 表示 a 或 b 中有一个数的第 k 位也为 1,另一个数第 k 位为0;假设 a 的第 k 位为 1;4)将 x 与数组中第 k 位为 1 的所有数字进行异或,最终结果得到 b;5)将 x 与 b 异或,得到的结果即为 a面试题028array2k/2-1则 array2 在 0,k/2-1 范围内的元素一定比array1、array2 合并后第 k 个元素小,可以不用考虑 array2 在 0,k/2-1 范围内的元素3)当 array1k/2-1面试题/给定一

25、个单向链表如何判断是否存在环,并给出环的起始节点/连续子数组最大和基础产品事业部阿里云混合云团队责基础产品中的混合云存储产品,致力于研发混合云存储,分布式软件定义存储,灾备以及数据管理产品,依托遍布全球的阿里云基础设施,构筑安全,可靠,高效的混合云存储系统,助力企业客户数字化转型。招聘职位:混合云存储管控开发专家等 3 个职位扫码投递简历面试题029next=NULL)return NULL;struct List*slow=head;struct List*fast=head;struct List*meet=NULL;while(fast!=NULL&fast-next!=NULL)slo

26、w=slow-next;fast=fast-next-next;if(slow=fast)meet=fast;break;if(meet=NULL)return NULL;slow=head;fast=meet;44面试题030 while(slow!=fast)slow=slow-next;fast=fast-next;return slow;面试题 030给定一个整数数组,有正有负有 0,比如 7,8,10,-24,15,111.找出和最大的连续子数组的和2.找出和最大的连续子数组的起止 index3.找出最长的和最大的连续子数组的起止 index考察能力:1.基础算法灵活运用能力2.初始

27、值,数据类型,边界条件的严谨度3.随着题目变化不断深入的能力参考答案1.O(n)算法,从前往后叠加并记录当前和,当前和小于或者小于等于 0 时,从下一个数字开始重新叠加。注意:a)全负的数组如何处理b)记录和的变量的类型面试题03045c)小于还是小于等于,差别在哪里?2.在发现更大的和的时候,更新临时起止 index3.核心是 1 中的小于或者小于等于 0,以及每次遇到一样的最大和时,判断长度vector getSum(vector&nums)int n=nums.size();int ans=nums0,l=0,r=0;int cur=nums0,tl;for(int i=1;i ans)ans=cur;l=tl;r=i;if(cur 0)cur=0;tl=i;return ans,l,r;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服