阿里秋招数据开发一面1h30min
上周日投的,笔试0ac,很迷的给我捞起来了,整个一面持续两天。第一天晚上半个小时,留了四道题作业,第二天中午一个小时
day1
自我介绍
常规自我介绍,问项目,细节,基本上这半个小时都是项目,细问。
做四个题,两个sql,一个代码,一个场景题
1.输入一个字段串,判断是否符合员工生命周期(需要满足,先入职,再离职)
String str="入职 晋升 转岗 .... 离职" 返回true
String str="入职" 返回true
String str="入职 晋升 转岗 ...." 返回 true
String str="入职 晋升 转岗 .... 离职 重新入职 离职" 返回true
String str="入职 入职" 返回false
String str="入职 离职 离职" 返回fasle
String str="晋升 转岗 ....离职" 返回false
public class Solution{
public boolean lifeCycle(String str) {
//TODO
}
}
写一个sql,给出每个分类下点击uv最高的TOP5的item_id。
点击log表:
gmt_create,item_id,category,user_id,raw_text有一张表记录了用户每天的支付宝流水账单,表名alipay_trade。包括如下信息:
user_id data_dt trans_type trans_amt(元) trans_dc(收/支)
u_001 20191201 支付 20000 支
u_001 20191203 充值 30010 收
u_001 20191203 提现 50000 支
u_004 20200111 支付 90.05 支
u_004 20200114 充值 100.1 收
u_005 20200101 还款 30010 支
... ...
问题:
1、求每个月用户的支付次数大于3次,且每月累计充值金额大于10000元的用户交易记录,请用一段ANSI标准的SQL完成。
返回的结果集为:user_id,data_month(月份)
例如:
user_id data_month
u_001 201912
u_001 202001
u_002 201912
4.如果让你设计国内疫情看板,数据模型如何设计?
参考:https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1
day 2
刚睡醒过一会就给我发消息要开始了,赶紧醒一醒
昨晚题目
- 3题sql写的比较复杂,可以简化
- 第一题逻辑好像不对(其实对,但是代码有点冗余)
- 开窗函数都用过什么,具体怎么用的
- 第四题怎么设计,如何建仓
基础知识考查
- 主要还是围绕项目,解释我们的etl工作和他想象的应该不一样,项目又博弈了半个小时
- 你的技术栈在项目中都做了哪些工作,php做后端,调度,shell做监控,hive做etl,python做数据merge,写mr等,java做过spring boot啥的
- jvm讲一下,从结构讲到gc,到强引用,fullgc遇到过什么场景,怎么调优,博弈了五-十分钟
- 数仓建模,维度建模讲讲,你项目中怎么应用的。我????
反问
Q:通过这一个多小时您觉着我哪方面应该加强
A:数仓建模应该多深入了解一下,感觉我技术广度还可以,各方面再深入
感受
这预一面也太迷了,我是真的垃圾,项目各种刨根问底,时不时给你来个场景,刚才看官网状态变了,应该会有下一面,反正面阿里99%我会挂的,当涨经验吧。
#阿里巴巴##面经#