2021年暑期实习笔面试
求offer,面过再开放面经吧,求好远🙏
2021.3.12 腾讯WXG【研发-数据分析】 -- 一面挂
没有想到第一份面试会是WXG的数据分析,能有面试机会已经很感恩了。
1、自我介绍(主要介绍了实习经历)
2、深挖项目经历,是两个很相似的数据科学类竞赛,介绍背景、项目思路、如何做的数据清洗、两个比赛的不同、由于回答了数据集上的差异,面试官追问了更脏的数据脏在了哪里,如何解决的,是否进入复赛,排名差异等
3、实习经历,目前正在实习,问最快什么时候到岗
4、代码环节,两道算法题,其实真的很简单的题,但是由于完全没有刷题,第一题只写出来了遍历的方法,追问时间复杂度;第二题不敢再用遍历的方法,最后还是没有写出来,面试完才发现题目都审错了。
真的很遗憾,coding功底不够扎实,面完就灰了。
3.20腾讯笔试
主要是行测题,真的要去刷题啊,挺难的。但是腾讯公告写的笔试成绩不作为筛选依据,仅供面试官参考。周一的时候收到商业分析的面邀。
3.21字节跳动算法岗 -- 笔试挂
一共四道题,不熟悉编程环境,有思路也做了尝试,但是一直报错,3.23收到笔试未通过的邮件
3.22腾讯CSIG【职能-商业分析】-- 一面挂
再次被腾讯捞,很感恩,凌晨发的面试邀请,没有及时确定参加面试,下午看已经不能参加,官网变灰,给HR打了电话沟通,再次发了面试邀请,当晚面试,感谢🙏
面试官先介绍了来自CSIG,与我的意向不是一样的,是否介意。
1、自我介绍
2、目前在哪个城市,家是哪里的。。
3、三段实习经历回顾和反思,主要内容、做的好的地方、待改进的地方
4、深挖实习经历,做了什么项目、如何产出(应该是问呈现形式)、看板的指标是谁定义的、框架在你来之前就有吗,数据如何清理,如何定标准,如何实现,出过分析报告吗,处理过的最大数据量,如何处理的数据,产出了什么样的数据,是用什么处理的,可能回答了主要用python,所以还问了Excel的掌握情况,主要用到什么函数或功能。。真的非常细,感觉可能是想问可视化之类的
5、反问,问了工作内容之后继续提问,了解了工作岗位之后,你的优势和劣势
6、什么时候能开始实习、能实习多久
感觉聊的还不错,但是当晚还是挂了,可能回答问题时条理性还不够,需要对自己的实习项目再做一次复盘梳理。
4.2 腾讯【金融投资研究】笔试
90min,选择(40题)+问答题(1题)
选择题是行测题,包括资料分析、推理判断、数量关系、言语理解与表达,图形和推理题真的很难
问答题是从用户和开发者角度思考用户商店内容化方面:
(1)核心目的,解决的问题是什么
回答:核心目的满足用户需求,解决的问题是如何提供泛需求一站式解决平台之类的来满足用户需求
从没有做过产品相关的,实在不会写😭
(2)如何提高用户使用时长、留存
回答:主要从产品、内容、运营角度来回答了,比如产品要差异化、满足用户需求,内容要注重质量、全面之类的,做营销、引流、用户分层进行差异化服务之类的。。。
不知道在不在点上,时间也不够了就写了几点出来
4.6 ** 风控建模方向 笔试
题型:20道选择+4道简答
选择是统计学、概率论、机器学习、深度学习相关的基础知识
简答一道发散思维的题、一道建数学模型、一道如何用两枚硬币验证B(说自己具有区分细微差别能力)是否说谎、一道如何对微信群进行分类(无聊天记录信息)
4.8 阿里【数据分析师】电话面
调整了很多次面试时间哈哈哈,面试官真的很好,会提前沟通清楚时间,也会提前讲清楚这个岗位要做一些数据开发相关的工作。
1.你对过去这些实习、实践的总结,比如实习中参与了哪些项目,遇到了什么难点,如何解决
回答了最近的互联网实习经历,答的不是很好,尤其是难点方面
另一个讲了一下独立参加建模比赛,讲了流程,难点讲了特征工程部分
2.详细讲这段实习做的项目承担了什么角色,在实习的时候承担的主要角色,日常处理的数据量
3.有没有哪一项分析具体产出了价值
回答了为运营、产品提供数据看版,提高工作人效、优化产品、提升商家体验
4.有没有做过只给出大致方向,而没有给出具体指标的数据分析经历
回答了一份项目,说要与运营同时对清楚影响、需求,再去挖掘数据的经历。可能不是面试官想要的经历吧,又问了下一道问题
5.在实习期间,有没有遇到过运行时间很长的问题,数据倾斜问题
讲了一个跑历史数据很耗时的经历,分析原因:一是数据分区,跑历史数据很慢,二是存在该数据维度下数据分布不均匀,所以在分布操作的时候会较慢【当然是我理解的倾斜】,解决方案是在内层嵌套子查询【好像答成了嵌套循环???呜呜】。【答得可能不是面试官想要的倾斜问题,继续下一个问题】
6.了解现在公司的数据吗
我没有明白这个数据是什么意思,就说在运行的时候需要排队,也可以配置加速什么的【完全没在点上,就,然后就转到数据优化问题了】
7.了解数据倾斜问题吗
我用自己的话说了一遍,分布式操作,某些节点对应有很多数据,在提取数据的时候大量数据涌向一个节点,分配了较多数据。【啊啊啊,应该再答上:此时,运行时间就由需要处理最多数据的那个节点决定,其他分配了较少数据量的节点空闲,导致运行时间变慢且资源浪费,这样是不是能更专业一点,呜呜】
8.shuffle了解吗
确实不了解,说是打乱顺序的意思吗【弱弱的说,面试官很委婉,确实是这个意思,但是这是hive最核心的知识,应该要了解的,不过不了解也没有太大问题】
9.给你一个探索类的工作,不是具体的需求,如何开展数据分析(面试官特别详细的讲了问题)
【开始回答关注核心指标,被面试官委婉打断,提示我从大的方向上回答,是考验发散思维的
我回答首先明确目标,接着看从哪些业务条线出发可以达成目标,各个业务条线也可以根据业务流程细化,并且从一些维度交叉细分,落实到具体可以操作的层面,再看适配哪些数据。
【面试官可能看我回答的不够自信,给了我鼓励,说我答得挺好的,面试官真的太nice了,能够不施加压力并且积极引导,真诚求视频面🙏】
期间还有一些小的问题,记不太清了,嗷对面试官说在实际工作中会有要写Java、python脚本的工作,不是那么数据分析,是否OK,我当然是表决心,很想做且正在学,不过我有一些太实诚了,说了自己并非科班出生,正在努力学,是不是太实诚了,自爆可还行,最后面试官就问我有没有问题。
我说,今天面试问了很多比较底层的原理,现在去学还有机会吗?【我真的很盼这份实习哇,卑微呜呜】
面试官真的太赞了,说学了必然有用,多学总没有坏处之类的【我又是一顿表决心,不过确实也有在学哦】
最后对面试官表示了感谢!
面试官说如果能继续下一轮,会在7日内联系我,如果能继续走流程可能还会遇见他,不过会是视频面试的形式。
面试官真的太好了!
每一次面试都是差漏补缺和重新梳理思考的过程,还有很长的路要走呀,加油!
2021.4.9滕梭风控数据分析实习生
60min
选择:数字规律、概率论题、推理题
编程:4道SQL题,比较基础
2021.4.10网易【数据分析】笔试
四道SQL题+两道业务题
4.11 度小满【数据分析师】笔试
60min
10道行测+10道专业(统计、资料分析类)+2道业务(第一题:忘记了,第二题:金融类APP定位信息的用途)
2021.4.12 快手【数据分析】一面
1.自我介绍
2.两道SQL题
(1)某一天上传的视频,在第二天被观看、没有被收藏的视频数量,三个表,写的时候用了一种思路,又沟通了另一种思路。我用了 left join,写完交流时引导我说用 join 更好,并问了我 left join 和 join的区别
(2)
select a.user_id, avg(b.time_leave - a.time_enter) as 'avg_time' from (select user_id, status, datetime(time) as 'time_enter', row_number() over(partition by user_id order by time asc) as time_rank_enter from table_a where status = 'Enter') a join (select user_id, status, datetime(time) as 'time_leave', row_number() over(partition by user_id order by time asc) as time_rank_leave from table_a where status = 'Leave') b on a.user_id = b.user_id and a.time_rank_enter = b.time_rank_leave group by a.user_id;
先跟面试官沟通了思路,得到肯定后继续写的。我一开始没有注意到面试官提示的时间为string类型,没有写datetime,并且现场写的是left join,写完后交流时面试官指出了两个细节:datetime、应该用join更好。
3.介绍ABtest、假设检验流程
本质是实验组和对照组的对照,分析两个方案。。。
4.问了了解什么con... impact吗,我没听懂英语,就说了不了解,难道是ABtest常用工具?
5.p值的含义,和置信区间的关系;第一类、第二类错误
7.业务题:为了评价美颜开关是否能帮助视频主播创收进行了AB实验,但是由于有使用这个按钮的人本来就少,渗透率很低,并且我们不知道有谁会有打开的意愿,(不好找对照),应该怎么办?
尝试回答了三四次,一开始答要保持两组数据分布一致,面试官开始限定条件,说已经考虑到这些问题;我继续回答说或许可以不用AB实验的方法,面试官继续引导,听到了关键词,“我们不知道那些主播会愿意打开美颜按钮balabala..”,想到了计量中的PSM-DID,将具有相同倾向的博主匹配起来,再做对照,这样即使渗透率低,仍然可以做对比,终于回答到点上了,最后和面试官沟通时,面试官也说道我能想到PSM—DID确实很不错,开熏~~
8.业务题:面试官首先定义了卡顿率,问如果卡顿率上升,如何分析
首先将这个问题定义为是技术故障问题
内部:是否开发问题,导致的卡顿
外部:用户划分,网络状况、手机机型(是否是软件不适配)【现在反思,其实可以再增加地区纬度、使用时间段纬度-可能是播放拥挤】
9.gbdt / rf 的区别(因为简历写了xgb、lgb)
10.logistic回归和线性回归区别、求解上有没有区别,logistic几率、对数几率(这两个几率忘记了,回答了记不清,面试官解释了是看回归的系数的,最后面试官交流时也提到了要关注这一方面)
11.反问,问了日常工作是不是要写复杂SQL,面试官回答了是之后帮我总结了这次我的表现,和需要改进的地方:
一是SQL思路没有问题,但是会有一些小细节不够注意,在实际可能会遇到问题
二是对于一些模型的理论需要加强,要分清楚模型的适用场景
最后算是当场通过了,说“后续会有HR联系你二面”,谢谢面试官的耐心引导和宝贵建议,面试真的是查漏补缺的好方法,感恩!
2021.4.13 快手【数据分析】二面
1.深挖简历中实习时做的两个数据分析项目,衍生了很多细节问题,比如为什么这样构建指标体系、思路、介绍业务、如何发现产品的优化点、为什么可以这样做,对xx会有什么影响之类的,感觉在追问优化产品的思路(因为快手更偏产品,现在的实习更偏运营,实在不知道怎么回答)
2.本来准备继续挖简历的,忽然转来问我为什么不继续现在这份实习了
回答说想做to-C,短视频是风口,现在实习到期
3.业务题:最喜欢的APP,回答了B站,问我如何对B站做综合评价
回答的太乱了,重新梳理一遍,可能会这样回答:(1)流量方面:日活率、视频生产量、观看量、点赞量、收藏量、客单价;(2)内容上:看内容类型、覆盖场景;(3)营收:广告、大会员人数;
【反思:基于AARRR框架来答】
【反思2:指标体系建立的思路,确定发展阶段,该阶段核心指标,再结合AARRR模型展开】
4.业务题:如何权衡广告收入和用户体验下降带来的损失
一开始从大的方面上去回答了,面试官说想听具体的指标
广告收入的金额比较好衡量,主要是用户体验下降带来的损失的衡量,是一个长期的损失,客户活跃度下降、客户留存(粘性和忠诚度)、大会员等吧。
面试官追问我说具体怎么看?
回答了广告收入和大会员之比,但是实际上大会员并不是一个很好的指标,面试官也不是很满意,现在回想,是不是应该是:流失人数*客单价与广告收入之比
5.其他问题
2021.4.14 字节跳动【国际化数据分析实习生】笔试题
-- 题目一: select datetime(date) as 'date', count(case when age < 18 then user_id else null end) as 'cnt_18', count(case when (age >= 18 and age <= 24) then user_id else null end) as 'cnt_18to24', count(case when (age >= 25 and age <= 30) then user_id else null end) as 'cnt_25to30', count(case when (age >= 31 and age <= 35) then user_id else null end) as 'cnt_31to35', count(case when age > 35 then user_id else null end) as 'cnt_18to24' from active_user_daily group by date; -- 题目二: select sign_date, count(case when date_diff = 1 then user_sign else null end) / count(user_sign) as '次日留存率' from (select user_id as 'user_sign', sign_date, datediff(active_date, sign_date) as 'date_diff' --计算活跃日与注册日之间的时间间隔 from -- 子表1:先找出每日新增用户 (select user_id as 'user_active', datetime(date) as 'sign_date', -- 注册日期 from new_user_daily where month(datetime(date)) = 1) a left join -- 字表2:找出每日活跃用户 (select user_id, datetime(date) as 'active_date' --活跃日期 from active_user_daily where month(datetime(date)) = 1) b on a.user_id = b.user_id ) tmp group by sign_date; -- 题目3: select user_id, max(count(date_sub(date, date_rank))) as 'max_con' from (select user_id, datetime(date) as 'date', row_number() over(partition by user_id order by date asc) as 'date_rank' from new_user_daily) tmp1 group by user_id;
题目3写的不对,没有找出前10%
select user_id, count(date_sub(date, date_rank)) as 'con_date' from (select user_id, datetime(date) as 'date', row_number() over(partition by user_id order by date asc) as 'date_rank' from new_user_daily) tmp1 group by user_id;
题目4没有有时间写了,想写数仓分区用于缓解数据倾斜的,只写到数仓,吐血了
4.16 微众银行【风险模型算法(欺诈风险建模方向)】一面
整体就是挖简历、没有问太多技术问题
1.自我介绍(比赛、实习)
2.实习-指标体系建立项目,追问具体使用了什么模型、为什么
3.实习-数据看板项目
4.简历的比赛-银行客户违约预测建模比赛项目,介绍的很详细(数据探索、清理、特征、建模、验证),为什么使用xgb,说完面试官说介绍的很详细,没再追问
5.是否还在实习
6.未来职业规划,数据分析还是建模
回答了建模:建模前会有数据处理工作,最后建模出来的东西能够有明确的结果,更有成就感。面试官补充能够对数据进行综合。
感觉微众银行应该是给每位同学只留了15分钟面试,一批一批的在面,所以追问不是很深入,但是我已经尽量很详细的介绍了,最后面试官快到时间的时候解释了还有下一位面试的,所以结束了。
4.17阿里【数据分析实习生】二面
有两位面试官一起面,面完之后发了两道SQL笔试题,当场宣布二面通过,开熏
1.自我介绍
2.实习经历介绍,介绍最近参与的项目,是关于一个漏斗数据看板的项目,一直在追问,一半的时间都在追问这个项目,问的非常非常(真的每一个细节都抠了,具体怎么追问有点忘了,当时感觉有点凉凉,面试官语气也很严肃)
3.数据是否做到了实时?次日和7日内通过率在技术如何解决?只用了一个底表吗?
4.现在公司的数仓分层?了解实时的数据库吗?上述项目能做实时吗?(回答了基于Hive表,没有做到实时),那用什么可以实现实时?不从数仓角度考虑如何做到实时?
5.日常处理的数据量有多大?调优了解吗?是否有过调优经验?会用spark吗?
6.是否参与ABtest?介绍ABtest
7.如何确定ABtest的结果是显著的?如何区分是由于数据的波动造成的还是确实是显著的?
【看结果、细分数据,感觉并不是这样,但是不会回答了】
【还是说在考DID,在保证实验组和对照组流量构成相同的情况下,将实验组和对照组的前后变化差再做差,得到实验净效应】
【问了一个B站UP主:排除正常波动的话,感觉做aa实验就可以了,ab验证的一定是由于改动引起的指标变动】
8.如何确定ABtest的样本量?【四个值来确定】一般把显著性水平设置为多少?置信度为95%一般得选多少样本量?【我回答这要计算一下,应该是多少啊,有经验值吗,看B站UP主说了20W,是不是不同行业还是有不同标准的呢】
另一位面试官:
9.参与的项目和实习哪一项最能体现自身水平?
10.遇到的难点
11.SQL和Python使用中觉得困难的点,包括之前困难,现在突破的
12.为什么没有继续在现在的公司转正?回答想做toC,面试官问具体哪一个方向有要求吗?【我反问了具体工作内容,是偏开发还是分析】面试官继续介绍了部门业务、工作内容之类的
因为两位面试官都不在电脑前,就约了一小时后的笔试。
笔试题:
//评测题目: 无 // table: user_track // column: id/page/userid/itemid/date // page='home'/'detail'/'cart'/... // 只有page='detail'时,itemid才有值 // 计算 dau & 人均浏览item次数 select datetime(date) as 'date', count(distinct user_id) as 'dau' from user_track group by date; select count(itemid) / count(distinct userid) as 'avg_view_all_rate', count(itemid) / count(distinct case when page = 'detail' then userid else null end) as 'avg_view_detail_rate' from user_track; //评测题目: // user_id event visit_time // aaa event1 2021-01-01 00:07:00 // bbb event1 2021-01-01 00:08:00 // ccc event1 2021-01-01 00:09:00 // aaa event1 2021-01-01 00:00:00 // bbb event1 2021-01-01 00:02:00 // ccc event1 2021-01-01 00:03:00 // aaa event2 2021-01-01 00:04:00 // bbb event2 2021-01-01 00:05:00 // ccc event2 2021-01-01 00:06:00 // 数据表有三列, // 一列是user_id(若干个),一列是event(只有event1和event2),一列是访问时间(无序), // 现增加一列,这列表示,"当前用户当前事件的当前访问时间"与"当前用户下一次event1事件的访问时间"的时间间隔 select a.user_id, a.event, a.visit_time, b.visit_time - a.visit_time as 'visit_time_diff' from (select user_id, event, row_number() over(partition by user_id, event order by visit_time asc ) as 'time_rank' from table) a left join (select user_id, event, row_number() over(partition by user_id, event order by visit_time asc ) as 'time_rank' from table) b on a.user_id = b.user_id and a.event = b.event and a.time_rank = b.time_rank - 1;
面试官说这个是对的,但是希望有性能更优的解法,后边讲了单选出某一种event然后做case when的行列转换解法,好像也不是最优解,问了面试官什么是最优解,她说可以再想一下等下一轮面试讲一下思路,并且直接告诉了我面试通过,后边还有两轮面试,包括一轮HR面,开心心~
// 面试完回顾:使用偏移函数来求时间差 select user_id, event, visit_time, datediff(visit_time_lead1, visit_time) as 'time_diff' from (select user_id, event, visit_time, lead(visit_time, 1, null) over(partition by event, user_id order by visit_time) as 'visit_time_lead1' from table)
4.19阿里【数据分析实习生】三面
晚上9点多,部门leader面,24分钟
1.经过之前一二面,感觉怎么样
回答说意识到自己还需要去学习更多的东西,当然自身也愿意去学习
2.自我介绍
3.最近的项目,介绍了二面的项目,细挖原因,是否对提升结果做了验证,接着问了如果要验证,用什么方法【实验组、对照组,做ABtest】,具体怎么做【卡方检验】,假设检验的流程
4.是否做过没有明确目标的项目(不确定性的,探索性的),没有做过,出了一道业务题
平台定向邀约,要提升入驻率,怎么去分析
回答了细分渠道、企业性质等 + 入驻环节漏斗分析
5.为什么想来阿里【自身发展+希望做出自己的些微贡献】
6.反问,提建议
数据分析的难点在于对不确定性问题的理解和思考
最后我胆大的谈了自己的理解:说要深入的了解,才能去发现潜在的问题和增长点吧
4.21阿里【数据分析实习生】四面
早晨10点多,HR面,20分钟
面完三面后告诉了内推人和对接三面的同事已经收到一个offer,要在周三前给回复,可能为了稳我的军心,在昨天让之后我的leader加了微信,并且帮我催了HR面,很开心今天早晨就接到HR面
1.自我介绍
2.实习介绍,工作内容、参与项目
3.实习时最难的阶段,有什么收获
4.经过之前的面试了解,未来工作可能会有哪些难点,自身优势
5.是否有其他公司的进度,为什么想来阿里
6.反问,培训、转正介绍
面完HR告诉我她那边没有什么问题了,直接发了offer,说最快下午能发意向书,但是也需要和业务部门沟通。
太感谢帮我催进度的对接校招的同事了,昨天让我自己想好如果阿里发offer是否会接收,如果自己想好了,剩下的就是相信他,真的太靠谱了,今天面完之后告诉我已经开始走流程了,可以放松心情想一下花名了,真的只有感恩了,谢谢谢谢!一定要好好努力,不要辜负这份信任!