Author:iBooker it-ebooks
No description
Tags
Support Statistics
¥.00 ·
0times
Text Preview (First 20 pages)
Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
Page
1
(This page has no text content)
Page
2
Offer5000一键投递简历 阿里云开发者社区 阿里技术微信公众号 阿里云开发者“藏经阁” 海量免费电子书下载 阿里云开发者社区
Page
3
目录 面试题 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… ………………………………………………………………………………………… 44
Page
4
4 > 面试题 / 常见的 DNS 记录类型有哪些,常见的 DNS 攻击方式有哪些以及怎么防护? / 在进行 CDN 流量调度时,要考虑哪些因素? 流量产品事业部 我们以遍布全球的数千个强劲 IDC 节点和数以亿记的的 内外部客户端为基础,和网络进行亲密接触,寻找同路 英雄共创未来! 招聘职位:CDN点播研发专家等 5个职位 扫码投递简历
Page
5
面试题001…/…面试题002 < 5 面试题 001 常见的 DNS 记录类型有哪些, 常见的 DNS 攻击方式有哪些以及怎么防护 参考答案:常见的DNS记录类型包括但不限于 A,AAAA,…CNAME,…NS,…TXT, MX,SOA等。常见的DNS攻击包括但不限于:泛域名攻击,放大攻击,反射攻击 等,常见的防护方式包括但不限于:提升程序性能 ( 比如 dpdk 的 DNS),…zone 限 速,来源 IP限速,来源 IP白名单,响应限速等。 面试题 002 在进行 CDN 流量调度时,要考虑哪些因素? 参考答案:需要考虑的因素包括但不限于:业务特性、质量要求、命中率、资源冗余 度、APP端适配条件、客户端网络环境等方面。
Page
6
6 > 面试题 / 如何把 DDD 应用到实际项目中来? / 如何设计一个百万级 TPS 分布式系统架构? 新金融事业部 阿里云新金融事业部由阿里云智能和蚂蚁集团的金融业务合并而成,全面拉通阿里巴巴 数字经济提金融科技和金融服务的能力。阿里云的云计算技术体系叠加蚂蚁集团的金融 级平台技术和创新的 Fintech 技术,必将引领金融市场技术平台的革命浪潮,同时为客 户创造更多新的业务价值。
Page
7
面试题003…/…面试题004 < 7 面试题 003 请举例说明,你是如何把 DDD 应用到实际项目中来的。例子中需要包含具体的领域 模型设计,这么做的理由,以及因为这个设计而引进的坑。 答案:本题为开放性问题,没有标准答案。 面试题 004 如何设计一个百万级 TPS 分 布 式 系 统 架 构?并举例说明这类 分布式系统会引入哪 些问题,以及对应的 解决方案。 考察点:能够熟练应 用缓存,消息中间件, 数据库分库分表,读 写分离等技术。 参考架构: 本图出自:https://github.com/donnemartin/system-design-primer
Page
8
8 > 面试题 / Java 多线程的协同 / 数据结构的组合使用 计算平台事业部 在这里,你将和 Dataworks 云产品团队一起,整合阿里云海量异构存储元数据,统一 各计算引擎调度,构建元数据中台,提供业界领先的大数据综合治理,数据湖,数据服 务的能力。 招聘职位:java 开发等 4个职位 扫码投递简历
Page
9
面试题005…/…面试题006 < 9 面试题 005 (JAVA)有 3 个独立的线程,一个只会输出 A,一个只会输出 L,一个只会输出 I。 在三个线程同时启动的情况下,请用合理的方式让他们按顺序打印 ALIALI。 三个线程开始正常输出后,主线程若检测到用户任意的输入则停止三个打印线程的工 作,整体退出。 考察点: 多线程的协同。 面试题 006 一个网站有很多页面 ( url ), 做一个 url 排行榜功能。排行根据 url 的访问次数 (pv) 排行。 排行榜需要实时准确即:某个页面每一次访问都会实时地影响到排行数据。 提示:排行榜本身也会有很高的实时访问需求,注意读和写的时间复杂度。 考察点: 数据结构的组合使用。
Page
10
10 > 面试题 / 异步、多线程并发控制如何操作? / MapReduce 思想、排序算法结合实例如何运用? 计算平台事业部 阿里云实时计算部是阿里巴巴大数据技术体系的核心团队。我们围绕Apache…Flink 为核 心打造的大数据实时计算平台,一方面在阿里集团内部提供全公司范围的实时数据分析服 务,支持淘宝、天猫、高德、优酷、饿了么、钉钉等所有阿里经济体子公司;另一方面通 过阿里云向外界提供基于Flink 的实时计算云产品服务,服务广大中小企业。 招聘职位:大数据计算平台研发专家等 3个职位 扫码投递简历
Page
11
面试题007 < 11 面试题 007 题目案例 已知一个业务查询操作涉及 3 个 RPC 服务调用 : query1, query2, query3, 其中 query1 耗时约 1 秒, query2 耗时约 0.5 秒,query3 耗时约 0.6 秒,且 query3 查询条件依赖 query2 的查询结果, 请编写代码,使该业务查询总体耗时最小。 考察点 1:异步 考察点 2:多线程并发控制 解题思路: 本题比较简单,主要考察知识点异步和多线程控制。 如果采用串行执行,query1+query2+query3…总耗时为 2.1 秒。… 采用多线程异步并行执行,使用线程A请求 query1,同时使用线程B请求 query2 后再请求 query3(query3 依赖…query2 结果只能串行执行), 这样总耗时是min(1,…0.5+0.6)…=…1.1 秒。……需要熟悉 join,…CountDownLatch 等线程 协调控制方法,如果考生使用线程池则更佳。
Page
12
12 > 面试题008 面试题 008 淘宝 web 服务器上有 1 个 access 日志文件,记录着用户访问的 url,url 总数 100 亿以上,每个 url 约占 64 字节, 这些 url 可能存在重复,在一个内存只有 2G 的机器上,统计出访问频率最高的前 100 个 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 个文件(此时每个文件只有 100 行 ) 进行合并排序。
Page
13
< 13 面试题 / 如何设计一个红包系统来满足春节期间千亿级红包的收发问题? / 如何选择最优索引? 数据库产品事业部 阿里云智能事业群数据库产品事业部承载着阿里巴巴经济体所有的在线数据处理分析以及数据库服务,是业务蓬勃 发展的核心基础设施,在阿里云上全面覆盖电商、物流、安防、交通、健康、出行、气象、游戏、教育等广大行业 并提供核心服务,在集团内为淘宝、天猫、大文娱等事业群提供稳定、高效、安全、低成本、极致性能与规模的数 据库产品和服务。 核心产品包括:自研的新一代云原生数据库POLARDB,新一代OLAP数据库AnalyticDB,时序数据库 TSDB, 以及关系型数据库服务RDS、非关系型数据库服务NoSQL,数据传输产品DTS和数据库大脑CloudDBA。 招聘职位:数据库OLAP分布式计算研发专家等 5个职位 扫码投递简历
Page
14
14 > 面试题009 面试题 009 面试题 1…(难度:中等): 如何设计一个红包系统来满足春节期间千亿级红包的收发问题? 本题为开放性问题,无标准答案,主要可以从以下几个不同的点对不同背景的面试人 员进行考察: 业务:面试人员是否对抢红包的业务场景的需求有足够的了解,如果没有的话,是否 有足够的沟通能力从面试官那里获取需要满足的业务场景的信息(比如金额方面不能 有任何差错;比如对于并发量的要求等等) 底层存储:需要存哪些数据?用什么样的存储系统 / 数据库来落盘数据?数据存储的 格式是怎么样的?数据库的 schema 怎么设计?底层存储如何拆分、如何架构导致 其可以处理高并发请求? 缓存:缓存应该如何设计来提高系统的性能?如果使用分布式缓存? 同步…v.s.…异步:…所有的操作都需要同步执行吗?有没有操作可以异步执行来减少对于 用户的响应延迟?如果有的话怎么实现异步操作(比如消息队列)。 高可用:上述列出的组件之一如果宕机了怎么办?缓存被击穿了怎么办?怎么保证系 统的高可用?系统怎么 failover? 测试与部署:如何压测整个系统?系统如何灰度?如何上线?
Page
15
面试题010 < 15 面试题 010 有如下表: create…table…t(a…int,…b…int,…c…int); 已知如下三条是这个表最常用的三条 query: select…*…from…t…where…a…=…1…and…b…=…1; select…*…from…t…where…b…=…1; select…*…from…t…where…b…=…1…order…by…c…desc; 以下索引哪个是最优的: A.…idx(a,…b) B.…idx(b,…a) C.…idx(b,…c) D.…idx(a,…b,…c) 答案是 B
Page
16
16 > 面试题 / 举一个数据库快照读的实现方案 / B+ 树和 B 树的区别有哪些? 数据库产品事业部 阿里云智能事业群数据库产品事业部承载着阿里巴巴经济体所有的在线数据处理分析以及数据库服务,是业务蓬勃 发展的核心基础设施,在阿里云上全面覆盖电商、物流、安防、交通、健康、出行、气象、游戏、教育等广大行业 并提供核心服务,在集团内为淘宝、天猫、大文娱等事业群提供稳定、高效、安全、低成本、极致性能与规模的数 据库产品和服务。 核心产品包括:自研的新一代云原生数据库POLARDB,新一代OLAP数据库AnalyticDB,时序数据库 TSDB, 以及关系型数据库服务RDS、非关系型数据库服务NoSQL,数据传输产品DTS和数据库大脑CloudDBA。 招聘职位:MySQL云数据库内核开发专家等 5个职位 扫码投递简历
Page
17
面试题011…/…面试题012 < 17 面试题 011 举一个数据库快照读的实现方案 参考答案:本题考察候选人对于基于时间戳的常见快照读的实现和一般MVCC机制 的理解 面试题 012 B+ 树和 B 树的区别有哪些? 参考答案:本题考察候选人对数据库中经典数据结构的细节掌握度,以及常见的数据 库扫描方法的理解程度
Page
18
18 > 面试题 / 编程实现 DAG(有向无环图)的 DeepCopy / 设计一个抽奖,假定只有非常有限的内存,如何处理一个无限的样本流? 基础产品事业部 阿里云智能云原生应用平台以容器和K8s 为突破口,以分布式、微服务、服务治 理、服务网格、消息、PaaS为切入点布局产品技术,服务好阿里集团的同时,面 向行业客户承担加速企业数字化转型升级,推动核心技术互联网化演进的责任,帮 助企业客户和开发者全面拥抱云计算、最大化发挥云计算的价值、享受云计算的红 利。面向未来定义研发、运维模式,推动Serverless、函数计算等现代化架构演 进,形成充分的产品技术竞争力,服务百万开发者,成为云原生时代的引领者。 招聘职位:云原生研发 Leader 等 4个职位 扫码投递简历
Page
19
面试题013 < 19 面试题 013 编程实现 DAG(有向无环图)的 DeepCopy 这是一道编程题目,结合了数据结构和简单算法(如递归等)。 考察点: 1. 候选人应该明确什么是DeepCopy 并主动沟通 2. 候选人应该清楚的定义数据结构 这个问题里面,需要定义节点,节点只要有……{value,………Collection…neighbors}…就可以 了,增加别的成员一般是不合理的。 候选人应该意识到需要定义数据结构,如果不清楚定义(是个扣分项)需要提醒候 选人。 图的话可以不定义单独的数据结构,有Collection 所有节点集合就可以了。当然专门 定义也可以。 有的候选人会有Collection 和 Collection 定义(Node 里面没有 edge),或者有的候 选人用二维链接矩阵,这也OK。 数据结构定义合理性检查: 例如包含一些算法需要的mutable…variable 在数据结构里面,破坏结构定义封装以 及 immutability 和 thread…safety 的话,对于有经验的候选人是个比较大的减分项, 对于学生一般是OK的。 3. 编程实现 一般来说比较方便的是用递归 /DFS实现,候选人也可以选择其他算法(如BFS) 以 Java 为例:
Page
20
20 > 面试题013 public static Collection<Node> DeepCopy(Collection<Node> nodes) { Collection<Node> newNodes = new ArrayList<>(); Map<Node, Node> copyMap = new HashMap<>(); for (Node node : nodes) { newNodes.add(copyNode(node, copyMap)); } return newNodes; } private Node copyNode(Node node, Map<Node, Node> copyMap) { if (copyMap.containsKey(node)) { return copyMap.get(node); // 可以加上 nullability check } Collection<Node> 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 方法之间划分不清,出现大 量的重复代码,候选人这里花多少时间解决也是一个能力的表现。 还有经常有候选人意识不到DeepCopy 里面需要保持图的结构因此想不到用Map, 这个也是不行的。当然如果要求不高,可以直接把题目编程DeepCopy 一个树,这 样就没有去重的需求了。 能够正确完成的,可以 follow…up:如线程安全,问一下候选人方法是否是线程安全 的(如果在 Node 节点里面存一些临时变量,或者把Map 作为全局变量等就不是 了),可以问如何改造成线程安全之类的问题。 另外Follow…up…Big(O):时间复杂度(O(V)…+…O(E))
Comments 0
Loading comments...
Reply to Comment
Edit Comment