我们正在招聘一名 SQL 程序员,需要一个类似于 FizzBuzz question 的筛选问题。但对于 SQL。
虽然使用 SQL 编写 FizzBuzz 解决方案当然是可能的,但我认为这种努力是错误的。 FizzBuzz 问题评估编码基础知识,例如循环、条件、输出和基础数学。对于 SQL,我认为与查询、连接、投影等相关的东西会更合适。但是,就像 FizzBuzz 一样,它应该足够简单,“优秀”的 SQL 程序员可以在几分钟内在纸上写出解决方案。
对于 SQL 程序员来说,什么是好的“FizzBuzz”问题?
最佳答案
我们通常使用这样的东西作为 SQL 的最低限度:
Given the tables:
Customers: CustomerID, CustomerName
Orders: OrderID, CustomerID, ProductName, UnitPrice, Quantity
Calculate the total value of orders for each customer showing CustomerName and TotalPrice.
在我们看来,这是一个非常简单的问题,需要连接两个表、分组和聚合函数。令我们惊讶的是,与我们交谈过的有多少人可能在他们的工作中编写数据库代码,但他们不记得连接语法(而且我们从不关心他们使用哪种语法,MSSQL 风格或 Oracle 风格或其他语法)。
我喜欢这个问题的原因是它有助于跟进类似
的问题How would you find all customers that ordered more than $1000 total? How would you normalize these tables? How would you optimize the queries?
关于sql - 什么是 SQL 程序员的好 'FizzBuzz' 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1783815/