【面试】insta360面试-12-26
💡 笔试交付邮箱:xxxxxxxxx@insta360.com
温馨提醒:
- 存在不诚信行为将导致资格被取消。
- 交付格式可以选择Sql文件格式或Word文档格式,不可以使用PDF等不适合复制代码的形式。
- 对于SQL等答案,请确保自行运行后再提交。
以下 6 题选 4 题作答即可,如果你有能力完成全部,那会更棒:
在你的数据处理职业生涯或项目案例中,是否存在数据分析结果与预期结果不一致的情况?如果有,请具体说明情况背景,并详细描述你的应对措施。
微博与小红书水军识别模型的 参数定义
2、Excel 处理
在Excel表格中,请查看工作表sheet1的数据区域(A1:B1),其中包含学生的姓名和成绩两列数据;工作表sheet2包含学生信息表(A4:C6),其中包含了学生的姓名、所属班级以及授课教师三项信息)。请根据以上数据信息完成以下两项计算任务:第一项任务是统计各班级学生的最高成绩;第二项任务是找出学生平均分最低且负责该学生的任课教师。
假设sheet1 和 sheet2 各1w行,在excel里怎么处理这个问题最快?
第一步: 假设 sheet2 中的姓名唯一性与 sheet1 相关联,并将 sheet1 的两列数据分别导入 sheet2 的 F 和 G 列(如图所示)。

第二步骤:在工作表sheet2的D列第一行输入成绩记录,在其后使用VLOOKUP函数进行查找操作(具体公式为:=VLOOKUP(A2,F:G,2,FALSE))。完成公式输入后可以通过双击右侧下方单元格快速填充该列内容(如图所示)

第三步:首先复制D列,并仅将其中的数值粘贴回D列位置;接着移除F和G列的内容;最终完成两个工作表的合并操作,请参考下图。

第四步:
(1)选择B,C列
(2)点击数据
(3)然后点击重复项
(4)然后点击删除重复项
(5)复制B,C列
按下键盘上的Ctrl+z组合键并执行回车键后会回到上一步操作,请将需要复制的内容导入目标区域F2、G2单元格位置,并参考下图的操作步骤进行设置
第五步:
求不同班级的最高分?
于第H列的第二行处输入函数式内容"=MAXIFS(D:D,B:B,F2)",随后通过双键点击右下角单元格来实现全列填充的效果。操作完成后将会呈现出相应的计算结果:

求带的学生的平均分最低的老师。
在I列录入函数式=AVERAGEIF(C:C,G2,D:D),单击右侧下拉按钮以自动填充该列 ,结果如下
3、SQL 数据分析
包含一张用户活跃表 named active_user, 包含两个字段: user_id (表示用户的唯一标识), 和 active_time (表示用户的活跃日期).
(数据日期范围在2019年9月1日至2022年6月1日)
(1)求当天用户在第7天的回访比例;
前提假设:active_date下active_user没有重复
with user_date_number as (
select uid,active_date,
count(*) over(partition by active_date) as user_number
from active_user
where '2019-09-01' <=active_date and active_date <= '2022-06-01')
select t.active_date,t.visit_number/t.user_number as rate
from (
select a.active_date,u.user_number,count(*) AS visit_number
from user_date_number u
join active_user a on a.active_date-u.active_date = 7
where '2019-09-01' <= a.active_date and a.active_date <= '2022-06-01'
group by a.active_date,u.user_number ) t
(2)从2019年9月1日起至2022年6月1日止期间每日新增活跃用户数量(注:以服务上线当天作为首个记录日为依据)。其中指标说明:某账号首次登录被视为该系统的一个新增注册账户
select uid,min(active_date) as dt
from active_user
group by uid ) a
group by dt
4、SQL 数据分析
在某宝平台中存在一张名为ordr_list的订单记录表,该表包含三列信息:ordr_id代表订单ID字段(类型为大整数),uid代表用户ID字段(类型为大整数),create_time代表创建时间字段(类型为日期时间).对于同一用户而言,在该表中记录的所有订单对应的创建时间都互不相同.
写SQL
计算每个用户最近一次下单前的一笔订单ID(仅当用户下单次数超过一条时才进行统计)。将结果按买家ID分组展示,并输出两列即为:第一列为每位用户的唯一标识符——uid;第二列为对应用户的最早下单记录所涉及的订单ID——ordr_id。
select uid,ordr_id
from (
select ordr_id,uid,create_time,
row_number() over(partition by uid order by create_time desc) as rnk
from ordr_list) o
where o.rnk = 2
5、SQL 数据分析
该电商平台拥有一个名为table1的订单数据表...其中记录了用户的ID信息(user_id)、下单时间(order_time)以及支付金额(payment_amount)。通过分析该数据表中的各项指标...并附加备注说明该用户的特征:是否为最高活跃度的下单者、最常光顾的店铺 owner还是最高消费额的顾客。
with t as (
select uid, count(*) as number,count(distinct order_date) as days,sum(money) as sum_money
from table1
group by uid
)
select t2.uid,t2.number,t2.days,t2.sum_money,
if(t2.number_rnk=1,'购买次数最多',t2.number_rnk),
if(t2.days_rnk=1,'购买天数最多',t2.days_rnk),
if(t2.sum_money_rnk=1,'购买金额最多',t2.sum_money_rnk)
from (
select uid,number,days,sum_money,
row_number() over(order by number desc) as number_rnk,
row_number() over(order by days desc) as days_rnk,
row_number() over(order by sum_money desc) as sum_money_rnk
from t
where (number in (select max(t.number) from t))
or (days in (select max(days) from t))
or (sum_money in (select max(sum_money) from t)) ) t2
自己的测试效果

6、SQL 数据分析
有一组数:2,17,45,8,34,66,52,98,655
请用 SQL找出中位数。
