技术三面挂,阿里三方面失败,P9面试官我这个题?
各位都想知道阿里三方面失败,P9面试官我这个题?和技术三面挂的题,但却又不很了解,让小编为你详细的解吧!
在这篇文章中,我将分享我同学面试阿里巴巴某个部门时的经历。
简单介绍一下这位同学的面试背景,他有很好的技术基础。他曾在多家知名中型互联网公司工作过,因为准备去阿里巴巴面试,所以来面试。
我第一次和第二次面试都通过了,面试官评价我的基本技术不错,基础很好,成绩都是P6+。
不过第三轮的时候,部门负责人P9出来接受采访了,既然结果到这里就结束了,我就把这第三轮到的一些题分享出来,供大家参考。
业务背景介绍
这位同学首先讲述了他的项目经历。目前,他主要负责公司的数据系统。业务逻辑并不复杂,但是技术上有点困难。
主要原因是,当有人每天调用他们的接口时,数据都存储在数据库表中。
为了简单起见,背景可能如下所示
该系统每天的接口调用从数据库中删除的数据量约为20万条,那么每月的数据量约为600万条,每年从数据库中删除的数据量接近1亿条。
然而,这是针对整个数据库的,并且在核心的每个表中平均分摊,因此每个表每年都会添加数千万条数据。
建筑演变调查
面试官
现在的系统负担其实并不大,每天新增的数据量不到20万条,即使每年一个表新增几千万的数据,其实也是可以接受的。
第一个题假设系统业务量增长10倍,每天新增200万条数据,系统架构会如何演变?
如果系统业务量增长100倍,每天新增2000万条数据,系统架构将如何演变?
候选人
我还没有考虑过这个题,因为我还没有提出这样的要求。
提议
事实上,这类题在BAT、美团、京东等大公司面试时经常被到。
大型企业中的系统面临着不断增长的业务增长,通常会成倍增长,这给系统带来了越来越大的压力,需要每年多次进行技术升级,并且总是需要架构演进。
因此,在互联网公司中,架构设计能力中非常重要的一部分就是能够随着业务的增长而演进架构的能力。
您需要了解随着您的业务规模扩大10倍或100倍,您的系统架构将如何发展。这是大多数高级工程师必须具备的意识和能力。
你真正可以思考的是,如果你的规模增长了10倍,单个表每年增加近1亿条数据,你还能在单个数据库和单个表中提供这些数据吗?
这永远行不通,因此对于10倍增长的场景,您需要引入分库分表技术,以确保一定量的数据分布在每个数据库和表中,并防止数据过载。单一表格数据库的容量。
如果是这样,请再想一想。100倍的增长意味着每年有近10亿条新数据添加到单个表中,单独的数据库和表可能还不够。当前并发访题可能很高,因此您的数据库将难以抗拒。
我们是否应该考虑数据存储的架构设计,例如数据异构性和冷热分离?
例如,采用MySQL分库分表+分布式NoSQL数据库+Elasticsearch分布式搜索+Redis缓存架构设计整体数据存储架构。
首先,创建一个冷热数据分离的架构。例如,最热门的数据放在分布式NoSQL数据库中,专用于当日数据的高并发写入和高性能读写。
然后我们偶尔会进行数据归档,将NoSQL中不再经常使用的冷数据迁移到MySQL中进行归档。
最后一步涉及大量数据的搜索,这可以通过在Elasticsearch中建立索引来完成,也可以在NoSQL+MySQL中从异构存储中提取详细数据。
对于一些特别流行的查询数据,可以使用Redis创建缓存。
事实上,在P9面试官的面试评估中,本来是希望应聘者能够解释这个结构的。P6+评级并不一定意味着你有能力完全维持这个结构,但至少应该有这一点的意识。
结果,候选人无话可说,这当然非常令人失望。
公司基础技术原理考察
在这个学生的系统中,有一些数据是利用云的存储服务存储在专门的存储服务中的,而存储服务中存储的数据还是非常核心的数据。
于是面试官开始第二个题。
面试官
您能否介绍一下您对这种特殊存储服务的理解以及其原理是什么?
您使用的云的业务存储架构是怎样的,存储是如何规划的?
候选人
我一般都是调用API来写数据,但不太关注细节。
提议
这是同学们犯的第二个错误,作为一名高级工程师,以及一名高级工程师,你应该对你所负责的系统的各个方面都有一定的了解。
例如,如果您使用语音转换API或快递查询API,您至少可以大致了解他们在幕后做什么或询API的QPS和查询数量。访。
您使用了特殊的存储服务。如果你至少知道所涉及的存储服务的实现原理、存储容量规划等,这是一个高级工程师继续工作的起码工作素质。
系统困难回顾
采访很尴尬,但还是继续了。
面试官
那么您认为这个系统最大的技术挑战是什么?
候选人
仔细想想,好像也没有那么难,但主要涉及到几个接口和数据入库的题。
提议
在大公司面试的时候,肯定会被到你的系统面临哪些挑战,这说明了你的项目经验的价值。
即使项目的水平很低,我们也需要想办法融入新技术,弥补困难的部分,即使很难。去面试吧。
例如,在上述系统中,步骤之一是数据迁移。这意味着一次将数据从数据库迁移到另一个存储集。
所以这个数据迁移步骤实际上涉及到千万级数据的迁移。
如何保证数据迁移的效率?迁移后如何保证数据准确性?迁移过程中如何避免影响数据库性能?
其实这是我们日常需要思考的题,但由于技术上的困难我会更详细地解释一下。
擅长技术测试
面试官
那么,您能告诉我们您认为自己最擅长且最有深度的技能吗?
候选人
我好像用MQ技术比较多。
面试官
接下来我们就可以谈谈Kafka、RabbitMQ、RocketMQ的比较以及各自的原理。
我们来谈谈如何实现分布式消息队列架构及其底层机制,并比较它们的特点、优缺点。
提议
大公司肯定会考察你的技能深度,通常他们会深入挖掘你最常用或者最熟悉的技术,看看你的技能深度有多深。
原来这位同学直接在讲MQ,但实际上他对MQ的了解却很浅薄,无法深入地说出什么,最后面试官肯定无语了。
总结
其实这个同学的技术基础很好,包括一些技术能力,前两次面试都通过了。然而,到了第三次采访时,视角就完全不同了,他能力上的短板立刻就暴露出来了。
他对自己负责的系统的架构演进没有认识,从来没有思考过负责系统的困难,不了解系统涉及到的一些技术细节,也没有积累。技术深度还不够。因此,他在三方面表现不佳,最终就死了。
因此,通过这篇文章,希望这位同学的经验和教训能够帮助大家更多地思考自己所负责的系统的技术难点,业务规模翻倍时架构如何演进,以及各种技术的细节。希望如此。参与系统并积累相关技术深度技能。
首先,确定床帘的位置和尺寸,然后将其固定在床边的墙上,通常使用挂钩或挂钩。
然后将床帘两侧扣在床的两侧,并用绳子或麻线将床帘固定紧,使床帘固定牢固。
最后,将床帘的前部固定在床尾的墙上或使用钩子或环。这样您就可以将两个三边床帘完美地挂在床上,为您提供更好的个人空间和睡眠环境。
一、私营公司(生态园)前面挂三面旗挂哪三面比较好?
您可以拥有一个标志,有时也可以拥有两个标志。我从来没有听说过三面旗帜飘扬
二、幼儿园挂哪三面旗帜?
幼儿园悬挂国旗、团旗、校旗。
1-幼儿园升国旗的目的是培养孩子对祖国的热爱和对国旗的尊重,也是了解国家象征的一种方式。
2-幼儿园升团队旗的目的是让孩子们懂得团队精神和集体荣誉感,培养团结合作意识。
3-幼儿园升校旗的目的是树立学校的形象和标志,向幼儿灌输归属感和认同感,教育幼儿尊重学校。
升三国旗是幼儿园的一项传统活动,让孩子们在日常生活中接触国家、群体、学校的象征,培养爱国主义精神、团队合作精神和学校归属感。
这也是幼儿园教育的一部分,帮助孩子全面发展,树立正确的价值观。
发表评论