两分钟搞定阿里SQL面试题:亿级表合并

发布时间:2020-08-17 13:11:57 作者:数据和云
来源:ITPUB博客 阅读:209

阿里面试

2010 年,阿里正当红。

那年 BAT 的名气还没有现今那么响亮。 就业的时候,很多毕业生还是会选择 HP, IBM, EMC, SONY, ORACLE,Microsoft 等一类的外企。 这些外企在毕业生眼中代表的是名牌,权威,以及自由,没错,自由很重要,Nice 的环境,和谐的团队,没有 996 的生存压力。

但,差距就是在不经意间发生的。

随着阿里 DBA 团队轰轰烈烈的多场技术分享演讲,越来越多的阿里人在博客上、论坛里发布了自己对技术的理解。 尤其是 Oracle 技术的应用,itpub 的崛起,简直把 Oracle 推向了神坛。 特别是 Fenng 这支笔杆子,既是 Oracle 高手,还带有特别出色的影响力,让每个玩数据库的人都对 Oracle 产生了特别的好感,为人不知 Oracle, 纵称 DBA 也枉然。

当帝国大厦建成,也自然成就了一批匠人。

现在来看,后期的业务几近于维护期,再去阿里搞 Oracle, 时间风口已经不再了。 所以 BAT 未来几年不再是技术人成长的好地方了,反而那些小立山头的初创公司,可能还有至少让你技术腾飞的空间。

当然,如果你是搞 AI, BAT 依然是首选。

2010 年我也带着一丝敬仰,毕竟玩了 Oracle 也 2 年了,准备去阿里试试。 阿里招新也是挺大场面的。 虹桥展览馆都包了整整 3 层,迎宾就用了 1 层。 笔试很快就通过了,基础题还是选择题,只要认真看过 Oracle Concepts 都应该问题不大。 一面 HR,问一些个人意愿和对技术的看法,不太张狂的技术人,不会卡在这一关。 终面是个老技术,问得特别细。

印象中,时间过得很慢,大概整个面试过程有 1 个半小时。 面试给的矿泉水都喝得差不多了才停。

拒人千里之外的那道 SQL 题

所有的面试我想都会有两部分。

第一部分是对理论知识的考察,比如表空间,分区,统计信息,日志处理,备份与恢复,RAC, OGG 等等。 这些基础知识,在 Oracle Concepts, Tom 的 《Oracle 体系架构》《Oracle 编程艺术》中都会有涉及,即使只看过其中某几章,吹吹水还是能过得去。 就像《雪山飞狐》中偷练了胡家刀法的那个游医,不也称霸一方了嘛。

第二部分实战题就真的是考察功底了。 我记得最清楚的是这么道题,直到现在我作为面试官来面试候选人,也会用这道题,因为只此一题就能考察候选人对 DB 的理解,不至于一个 Update/Insert 就把 DB 搞挂!

题目是这样的:

有一张以 ID 为主关键字的聚集表,表数据量是 2 亿。 要将另一张同样结构的表,表数据量是 6000 万,合并到第一张表里。

请你设计一个更新的过程。 第一张表可能含有 第二张表的部分数据,也可能没有。 没有的要加入,匹配的要更新。

不出大家所料,当时我的回答跟绝大部分我遇到的面试者一样,insert/update/merge 就完了呗。 结果统统都是被否定的。

推荐阅读:
  1. 2019秋招阿里Java面试题(含答案),阿里在等你
  2. C# 如何合并Excel工作表

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql 合并 两分钟

上一篇:PostgreSQL 源码解读(98)- 分区表#4(数据查询路由#1-“扩展”分区表)

下一篇:关闭OSSIM防火墙

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》