问46:六周内有9位受试者服用了减肥药。体重的平均差异(随访基线)为-2磅。要使95%置信区间 T 的上限达到0,权重差异的标准差应该是多少?
上限=平均值+ t分数*(标准差/sqrt(样本大小))
0 = -2 + 2.306 *(s / 3)
2 = 2.306 * s / 3
因此,对于95%置信区间T的上限,标准差必须至少约为2.60,才能达到0。
问47:在一项对急诊室等待时间的研究中,研究人员考虑了新的标准分诊系统。为了测试系统,管理员选择了20个晚上并随机分配了要在10个晚上使用的新分诊系统,并在剩余的10个晚上分配了标准系统,他们计算了每晚看病的平均等待时间(MWT)。新系统的平均MWT为3小时,方差为0.60,而旧系统的平均MWT为5小时,方差为0.68。考虑与新系统相关的平均MWT的差值的95%置信区间估计,假设方差恒定。间隔是多少?以此顺序减去(新系统-旧系统)。
置信区间=均值+/- t分数*标准差
均值=新均值-旧均值= 3-5 = -2
给定df = 18(20–2)和95%的置信区间,t分数= 2.101
标准差= sqrt((0.⁶2* 9 +0.⁶⁸2* 9)/(10 + 10–2))* sqrt(1/10 + 1/10)
标准差= 0.352
置信区间= [-2.75,-1.25]
问48:为了进一步测试医院分诊系统,管理员选择了200个晚上,并随机分配了一个新的分诊系统,该系统将在100个晚上使用,而标准系统则在剩余的100个晚上使用。他们计算了每晚看病的平均等待时间(MWT),新系统的平均MWT为4小时,标准差为0.5小时,而旧系统的平均MWT为6小时,标准差为2小时。考虑与新疗法相关的平均MWT降低的假设。相对于该假设,具有不等方差的95%独立组置信区间意味着什么?(由于每个组的观测值太多,因此请使用Z分位数而不是T。)
假设我们按此顺序减去(新系统-旧系统):
两个独立样本的置信区间公式
均值=新均值-旧均值= 4–6 = -2
z分数= 1.96,95%的置信区间
标准差= sqrt((0.⁵2* 99 +22* 99)/(100 + 100–2))* sqrt(1/100 + 1/100)
置信区间= [-2.40192,-1.59808]
3
SQL实践问题
问题1:第二高的薪水
编写一个SQL查询以从Employee表中获取第二高的薪水。例如,鉴于下面的Employee表,查询应返回200作为第二高的薪水。如果没有第二高的薪水,则查询应返回null。
+----+--------+
| Id | Salary |
+----+--------+
| 1| 100|
| 2| 200|
| 3| 300|
+----+--------+
解决方案A:使用IFNULL,OFFSET
· IFNULL(expression,alt):如果为null,则ifnull返回指定值,否则返回预期值。如果没有第二高的薪水,我们就用这个返回null。
· OFFSET:offset与ORDER BY子句一起使用可忽略指定的前n行。这将很有用,因为你希望获得第二行(第二高的薪水)
SELECT
IFNULL(
(SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1OFFSET 1
), null) asSecondHighestSalary
FROM Employee
LIMIT 1
解决方案B:使用MAX
此查询表示选择的最高薪水不等于最高薪水,这等于选择第二高的薪水!
SELECT MAX(salary) AS SecondHighestSalary
FROM Employee
WHERE salary != (SELECT MAX(salary) FROM Employee)
问题2:电子邮件重复
编写一个SQL查询以在名为Person的表中查找所有重复的电子邮件。
+----+---------+
| Id | Email |
+----+---------+
| 1| a@b.com |
| 2| c@d.com |
| 3| a@b.com |
+----+---------+
解决方案A:子查询中的COUNT
首先,创建一个子查询以显示每封电子邮件的频率计数。然后在计数大于1的情况下过滤子查询。
SELECT Email
FROM (
SELECT Email, count(Email) AS count
FROM Person
GROUP BY Email
) asemail_count
WHERE count > 1
解决方案B:HAVING子句
HAVING是一个子句,它允许你将WHERE语句与聚合(GROUP BY)结合使用。
SELECT Email
FROM Person
GROUP BY Email
HAVING count(Email) > 1
问题3:温度上升
给定一个Weather表,编写一个SQL查询以查找与其之前(昨天)日期相比温度更高的所有日期的ID。
+---------+------------------+------------------+
| Id(INT) | RecordDate(DATE) | Temperature(INT) |
+---------+------------------+------------------+
| 1| 2015-01-01| 10|
| 2| 2015-01-02| 25|
| 3| 2015-01-03| 20|
| 4| 2015-01-04| 30|
+---------+------------------+------------------+
解决方案:DATEDIFF
· DATEDIFF计算两个日期之间的差,并用于确保我们将今天的温度与昨天的温度进行比较。
用简单的英语来说,查询是说,选择给定日期的温度高于昨天的温度的ID。
SELECT DISTINCT a.Id
FROM Weather a, Weather b
WHERE a.Temperature > b.Temperature
AND DATEDIFF(a.Recorddate, b.Recorddate) = 1
问题4:部门最高薪水
Employee表包含所有员工。每个员工都有一个身份证ID、一份薪水,并且还有一个部门ID列。
+----+-------+--------+--------------+
| Id | Name | Salary | DepartmentId |
+----+-------+--------+--------------+
| 1| Joe | 70000| 1|
| 2| Jim | 90000| 1|
| 3| Henry| 80000| 2|
| 4| Sam | 60000| 2|
| 5| Max | 90000| 1|
+----+-------+--------+--------------+
Department表包含公司的所有部门。
+----+----------+
| Id | Name |
+----+----------+
| 1| IT |
| 2| Sales |
+----+----------+
编写一个SQL查询以查找每个部门中薪水最高的员工。对于上述表,你的SQL查询应返回以下行(行的顺序无关紧要)。
+------------+----------+--------+
| Department | Employee | Salary |
+------------+----------+--------+
| IT | Max | 90000|
| IT | Jim | 90000|
| Sales | Henry | 80000|
+------------+----------+--------+
解决方案:IN子句
· IN子句允许你在WHERE语句中使用多个OR子句。例如,WHERE country ='Canada' or country ='USA'与WHERE country IN('Canada','USA')相同。
· 这种情况下,我们要过滤Department表以仅显示每个部门的最高薪水(即DepartmentId)。然后,我们可以将两个表连接在一起,其中DepartmentId和Salary在已过滤的Department表中。
SELECT
Department.name AS 'Department',
Employee.name AS 'Employee',
Salary
FROM Employee
INNER JOIN Department ON Employee.DepartmentId = Department.Id
WHERE (DepartmentId , Salary)
IN
( SELECT
DepartmentId, MAX(Salary)
FROM
Employee
GROUP BY DepartmentId
)
问题5:交换座位
玛丽是一所中学的老师,她有一张桌子seat,用于存储学生的姓名和相应的座位id。 id列是连续的增量。玛丽想为相邻的学生换座位。
你可以编写一个SQL查询来输出玛丽的结果吗?
+---------+---------+
| id | student |
+---------+---------+
| 1| Abbot |
| 2| Doris |
| 3| Emerson|
| 4| Green |
| 5| Jeames |
+---------+---------+
对于样本输入,输出为:
+---------+---------+
| id | student |
+---------+---------+
| 1| Doris |
| 2| Abbot |
| 3| Green |
| 4| Emerson |
| 5| Jeames |
+---------+---------+
注意:
如果学生人数为奇数,则无需更改最后一个人的座位。
解决方案:CASE WHEN
· 可以将CASE WHEN THEN语句视为编码中的IF语句。
· 第一个WHEN语句检查行数是否为奇数,如果行数为奇数,请确保ID号不变。
· 第二个WHEN语句为每个id加1(例如1,3,5变为2,4,6)
· 同样,第三个WHEN语句对每个id减去1(2,4,6变为1,3,5)
SELECT
CASE
WHEN((SELECT MAX(id) FROM seat)% 2= 1) AND id = (SELECT
MAX(id) FROM seat) THEN id
WHEN id% 2= 1THEN id + 1
ELSE id - 1
END AS id, student
FROM seat
ORDER BY id
4
其他
问1:如果有8个同等重量的弹珠和1个稍微重一点的弹珠(总共9个弹珠),则需要多少重量才能确定哪个弹珠最重?
将需要两次称量(请参见上面的A和B部分):
1、你将九个弹珠分成三组,每组三个,然后称重其中两组的重量。如果天平保持平衡(选项1),则说明稍微重一点弹珠位于第三组中。否则,你将选择重量较重的组(选项2)。
2、然后,你将执行相同的步骤,但是你会有三组一个弹珠,而不是三组三个弹珠。
问2:主要会员费的变化将如何影响市场?
我们不能百分之百确定该问题的答案,但我们会尽我们所能!
让我们以主要会员费增加的情况为例——涉及两个方面,即买方和卖方。
对于购买者而言,增加主要会员费的影响最终取决于购买者需求的价格弹性。如果价格弹性高,那么给定的价格上涨将导致需求大幅度下降,反之亦然。继续购买会员费的买家可能是亚马逊最忠诚、最活跃的客户——他们也可能会更加重视优质产品。
卖家将受到冲击,因为现在购买亚马逊购物一揽子产品的成本更高。也就是说,有些产品会受到更大的冲击,而其他产品可能不会受到影响。亚马逊最忠实的客户购买的高端产品可能不会像电子产品那样受到太大影响。
问3:如果iOS上70%的Facebook用户使用Instagram,但Android上只有35%的Facebook用户使用Instagram,你将如何调查这种差异?
有很多可能导致这种差异的变量,我们将检查一下:
· iOS和Android用户的受众特征可能会有很大差异。例如,据Hootsuite称,有43%的女性使用Instagram,而男性只有31%。如果iOS的女性用户比例明显高于Android的女性用户,则可以解释这种差异(或至少是其中的一部分)。年龄、种族,民族、地理位置等也可以这样说。
· 行为因素也会对差异产生影响。如果iOS用户比Android用户更频繁地使用手机,那么与那些花更少时间在手机上的人相比,他们更可能沉迷于Instagram和其他应用程序。
· 要考虑的另一个可能因素是Google Play和App Store有何不同。例如,如果Android用户有更多的应用程序(和社交媒体应用程序)可供选择,则可能导致更大的用户稀释度。
· 最后,与iOS用户相比,用户体验上的任何差异都可能阻止Android用户使用Instagram。如果该应用程序对于Android用户来说比iOS用户更有问题,那么他们就不太可能在该应用程序上活跃。
问4:赞/用户和在平台上花费的时间正在增加,但用户总数正在减少。它的根本原因是什么?
通常,你可能想询问面试官以获取更多信息,但是假设这是他/她愿意提供的唯一信息。
关注每个用户的赞,这有两个原因可以解释为什么这个数字会上。第一个原因是,随着时间的流逝,用户的参与度通常会平均增加。这是有道理的,因为随着时间的流逝,活跃用户更可能是忠实用户,因为使用平台已成为一种习惯做法。每个用户的赞增加的另一个原因是,分母(用户总数)正在减少。假设停止使用该平台的用户是不活跃的用户,即参与度低且赞数低于平均水平的用户,那么这将增加每个用户的平均赞数。
上面的解释也适用于在平台上花费的时间。随着时间的推移,活跃用户变得越来越活跃,而使用率很少的用户变得不活跃。总体而言,参与度的提高远远超过了很少参与的用户。
问5:Facebook看到赞数逐年同比增长10%,为什么会这样呢?
给定年份的总点赞次数是用户总数和每个用户的平均点赞次数(我们将其称为参与度)的函数。
用户总数增加的一些潜在原因如下:由于国际扩张而获得的用户以及年龄较小的年龄组随着年龄的增长而注册Facebook。
参与度提高的一些潜在原因是越来越忠诚的用户对应用程序的使用增加,新功能和新特性以及改善的用户体验。