面试中遇到这 3 个SQL问题,最容易掉坑里!

作者 | Nathan R

译者 | 天道酬勤,责编 | Carol

封图 | CSDN下载自视觉中国

       

在本文中,作者将介绍来自3个在技术面试中的真实的SQL问题,这些问题都是在实际公司进行技术筛选时提出的。

 

最常见的读者问题:我应该如何准备SQL面试?

准备 SQL 面试时,我会认真地做尽可能多的事情,这样以来,写查询就变成了我的第二天性。我希望技术部分成为面试过程中比较容易的部分,这样我就可以集中精力与面试官进行交流,并将我的精力花在用白板书写我的方法和解决方案上。 

根据我在技术面试中的经验,面试官测试的最大重点是理解代码的在做什么,如何考虑各种场景或边缘情况以及结果的含义。

与你在工作中编写的冗长而复杂的查询相比,SQL部分非常简单。要么为你提供1个或2个表,并要求你创建一个需要进行联接或自联接的SQL查询,要么为你提供了SQL代码,并要求对其进行调试。

只要你了解JOINS和COALESCE之类的高级功能,就不会有问题。使面试变得困难的是,如何将代码编写与运行代码后得到的结果联系起来。

以下是在技术面试中被问到的3个真实的SQL问题

 

1、假设给你一个表,其中包含用户的好友请求、接受和他们的日期。如何编写一个查询,以便随着时间的推移可以获得%的好友接受率?

这个查询很容易创建(提示:使用自连接),但是你还需要在如何编写查询的权衡上进行额外的测试。你如何处理几天后发生朋友的接受?你哪一天算验收日期?你是在好友发送请求之日算起,还是在接受请求之日算起?为什么?

这当中没有正确或错误的答案,但是你需要确定有两种不同的方式来编写查询,然后讨论这两种选择之间的取舍。

2、如果你做了一次AB实验,并且由于在试点地区推出了一项新功能,朋友的接受度增加了2倍,且p <0.05,那么你会将其部署到生产环境中并推广到所有用户吗? 

大多数人会说是的,但是在面试中,最明显的答案可能不是正确的答案。在这种情况下,正确的选择是:这要看情况。然后,你应该谈谈其原因,以及你需要哪些额外信息来做决定。

这些都是你需要注意考虑的问题,要思考如何形成一个完整的答案。

3、你有一个主表,其中包含一个用户ID及其最近的登录日期,并且你还有第二张表,其中包含当天登录的所有用户(同一用户当天可能有多次登录)。编写一个查询,该查询将使用用户ID及其最新登录日期来更新主表。 

很简单,但是你需要练习理解所有不同的场景。在这种情况下,你有一个当天刚注册新用户的情况,以及当天有同一位用户多次登录的情况。你如何处理这些情况?       

 

更多建议

我相信你在阅读本文时认为这些问题很简单。但困难的是,你在面试过程中可能并没有预料到这些问题,并且当下情况会要求你在面试官面前快速地分析和解决。你被要求编写一些代码,然后考虑所有不同的情况以及结果的含义。这可能是一个压力很大的情况,大多数人会不知所措。

这就是为什么你的技术技能需要第二天性。你的SQL技能必须与中文写作技能一样好。

在准备SQL面试时,作者给你的主要建议是,了解为什么、如何编写代码来解决特定问题。准备好交流为什么要编写特定的代码行,为解决特定的极端情况和场景,你要添加什么逻辑以及输出什么样的结果。你的解释与代码本身同样重要,甚至更重要。

另外,在构建解决方案时,请一定要和与面试官交谈,并让他们尽可能多地了解你的思考过程。 

SQL面试是为了测试你的技术技能。在你的面试中,你要把你的技能归为零,并确保尽可能多地做练习题。 

原文链接:https://hackernoon.com/3-real-sql-questions-asked-during-technical-interviews-x22w3ysa

本文为 CSDN 翻译,转载请注明出处。


6月3日20:00,CSDN 创始人&董事长、极客帮创投创始合伙人蒋涛携手全球顶级开源基金会主席、董事,聚焦中国开源现状,直面开发者在开源技术、商业上的难题,你绝不可错过的开源巅峰对谈!立即免费围观

推荐阅读

  • 因为一个跨域请求,我差点丢了饭碗

  • 没错,你离分布式搜索只差一个Elasticsearch入门!

  • Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划

  • 全球Python调查报告:Python 2正在消亡,PyCharm比VS Code更受欢迎

  • 无代码来了,还要程序员吗?

  • 再见,Eclipse | 原力计划

  • 区块链共识算法总结 | 原力计划

真香,朕在看了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云原生数据库POLARDB专场“硬核”解析

POLARDB是阿里巴巴自主研发的云原生关系型数据库&#xff0c;目前兼容三种数据库引擎&#xff1a;MySQL、PostgreSQL、Oracle。POLARDB的计算能力最高可扩展至1000核以上&#xff0c;存储容量可达100TB。 POLARDB融合了商业数据库稳定、可靠、高性能的特征&#xff0c;同时具有…

K8s 从懵圈到熟练 – 集群网络详解

导读&#xff1a;阿里云 K8S 集群网络目前有两种方案&#xff1a;一种是 flannel 方案&#xff1b;另外一种是基于 calico 和弹性网卡 eni 的 terway 方案。Terway 和 flannel 类似&#xff0c;不同的地方在于 terway 支持 Pod 弹性网卡&#xff0c;以及 NetworkPolicy 功能。本…

使用dubbo后尽量不用要@Reference可能引起冲突

使用dubbo后尽量不用要Reference可能引起冲突 dubbo最新版本2.7.8&#xff0c;已经把Reference换成DubboReference

年薪高达30万,人才缺口40万,这个神仙职业今年太火了!

我见过市面上很多的 Python 讲解教程和书籍&#xff0c;他们大都这样讲 Python 的&#xff1a;先从 Python 的发展历史开始&#xff0c;介绍 Python 的基本语法规则&#xff0c;Python 的 list, dict, tuple 等数据结构&#xff0c;然后再介绍字符串处理和正则表达式&#xff0…

不吹不黑,今天我们来聊一聊 Kubernetes 落地的三种方式

出身豪门、大厂背书的 Kubernetes 项目自 2014 年 6 月开源以来&#xff0c;在众多厂商和开源爱好者的共同努力下迅速崛起&#xff0c;时至今日已成长为容器管理领域的事实标准。凭借超前的设计理念、开放的参与门槛、国内外大厂和开发者的大力支持&#xff0c;它的成功不言而喻…

当我们在聊 Serverless 时你应该知道这些

作者 | 杨泽强&#xff08;竹涧&#xff09;阿里云技术专家 说起当前最火的技术&#xff0c;除了最新的区块链、AI&#xff0c;还有一个不得不提的概念是 Serverless。Serverless 作为一种新型的互联网架构&#xff0c;直接或间接推动了云计算的发展&#xff0c;从 AWS Lambda…

nacos集成dubbo实现远程服务调用

文章目录1. 模块划分设计2. 创建父工程3. 创建公共接口4. 服务端5. 客户端6. nacos7. 测试8. 码云开源地址1. 模块划分设计 模块名工程名端口父工程nacos-dubbo无服务端nacos-dubbo-provider9000消费端nacos-dubbo-consumer8000公共接口nacos-dubbo-interface无 2. 创建父工程…

如何在容器内高效编程?

作者 | Daniel Lemire译者 | 苏本如&#xff0c;责编 | 郭芮头图 | CSDN 下载自东方IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;以下为译文&#xff1a;我个人的编程环境中包括了一些服务器、笔记本电脑和台式电脑。我的服务器是在不同的时间购买和配置的&am…

(企业案例)Nacos Config 进阶使用

文章目录一、SpringBoot 使用 Nacos Config 实现多环境切换1. 现象2. 引入依赖3. 添加bootstrap.yaml配置文件4. 配置对应关系图5. 文件格式简述6. 启动nacos7. 添加生产配置8. 添加测试controller9. 启动Springboot工程并观察到如下日志则为成功10. 浏览器验证11. 调整激活环境…

OceanBase如何获得TPC-C测试第1名?

阿里妹导读&#xff1a;TPC-C是TPC组织&#xff08;国际事务性能委员会&#xff09;制定的关于商品销售的订单创建和订单支付等的基准测试标准&#xff0c;是数据库联机交易处理系统的权威基准测试标准。 蚂蚁金服自研的分布式关系数据库OceanBase获得TPC-C测试第一名后&#…

由一次磁盘告警引发的“血案”——你知道 du 和 ls 区别吗?

来源 | 程序猿石头责编 | Carol封图 | CSDN下载自视觉中国图来源于 SkyPixel知道为什么会有上面的结果吗&#xff1f;什么又是稀疏文件&#xff1f;这篇文章将为你揭秘。问题背景确切地说&#xff0c;不是收到的自动告警短信或者邮件告诉我某机器上的磁盘满了&#xff0c;而是某…

如何优化大规模推荐?下一代算法技术JTM来了

阿里妹导读&#xff1a;搜索&#xff0c;推荐和广告是互联网内容提供商进行价值创造的核心业务&#xff0c;在阿里巴巴的电子商务交易平台上&#xff0c;搜索&#xff0c;推荐和广告业务同样具有举足轻重的意义和价值。现在&#xff0c;阿里推荐技术又双叒优化了&#xff0c;新…

Sentinel 基于Nacos规则持久化-推模式

文章目录一、推模式架构图二、原理简述2.1. 组件版本关系2.2. 控制台推送规则三、Sentinel控制台改造3.1. 下载源码3.2. 修改pom3.3. 重要文件复制3.4. 注册地址修改3.5. 请求实例需改3.6. 菜单新增四、编译 & 启动4.1. 先启动nacos4.2. 编译打包4.3. 创建微服务 &&…

都听我的,会养猪种菜的工程师最帅了!

来了&#xff01;今天&#xff0c;阿里数字农业事业部在黑龙江首次亮相&#xff0c;并且定了一个小目标&#xff1a;到2022年&#xff0c;阿里涉农产品全年网络销售额破4000亿元。 黑龙江省牡丹江市的阿里巴巴响水大米种植基地&#xff0c;又到了收割季 数字农业事业部将建立产…

清华硕士一针见血:这些才是机器学习必备的数学基础

现如今&#xff0c;计算机科学、人工智能、数据科学已成为技术发展的主要推动力。无论是要翻阅这些领域的文章&#xff0c;还是要参与相关任务&#xff0c;你马上就会遇到一些拦路虎&#xff1a;想过滤垃圾邮件&#xff0c;不具备概率论中的贝叶斯思维恐怕不行&#xff1b;想试…

如何查看使用 Cloud Toolkit 部署应用的实时日志

之前&#xff0c;我们介绍了《在 IntelliJ IDEA 中部署应用到服务器》。最新版本 Cloud Toolkit 新增了对远程服务器应用部署时&#xff0c;实时日志的查看功能。功能预览如下&#xff1a; 打开应用部署的配置界面&#xff0c;如上图所示&#xff0c;点击「Advanced」标签页&am…

这 10 个云计算错误,会让你的业务一蹶不振!

作者 | John Edwards译者 | 火火酱&#xff0c;责编 | Carol出品 | CSDN 云计算&#xff08;CSDNcloud&#xff09;封图 | CSDN 付费下载自视觉中国乐观主义者们总爱说&#xff1a;“乌云总是镶着金边的”&#xff0c;但他们没有说的是&#xff0c;在乌云下常有狂风、暴雨、闪电…

MySQL 8.0.26 简易配置安装教程 (windows 64位)

文章目录一、软件下载解压1. 官网下载2.下载完成后解压二、mysql配置2.1. my.ini2.2. 初始化MySQL2.3. 安装MySQL服务2.4. mysql已经安装过了2.5. 启动MySQL的服务三、密码修改3.1. 登录mysql3.2. 修改密码3.3. 退出mysql四、客户端连接mysql4.1. Navicat4.2. 登录mysql4.3. 操…

类与字节码技术

类文件结构 1.1 魔数 0-3字节&#xff0c;表示它是否是【class】类型的文件 ​ |java| 0000000 ca fe ba be 00 00 00 34 00 23 0a 00 06 00 15 09 1.2 版本 4-7字节&#xff0c;表示类的版本00 34 &#xff08;52&#xff09; 表示是Java8 0000000 ca fe ba be 00 00 00…

支付宝 App 是如何建设移动 DevOps 的?

本文系InfoQ对蚂蚁金服技术专家洪锋的采访&#xff0c;洪锋老师即将在 QCon 上海站 2019 分享《移动研发 DevOps 在支付宝 App 内的落地实践》&#xff0c;欢迎关注。 微软 MSDN 上的一篇文章有这样一段话&#xff1a;“移动应用的理想环境需要满足两个条件&#xff0c;一是可以…