2021 字节跳动 数据分析广告方向 一战校招(一面,二面)
我的面经可能是牛客网为数不多的路线跟大家有点不太一样的,业务(一面)和代码(二面)都考了。在这两次面试中的复盘学到了很多。感恩,求能有三面的机会。
(2020.01.06 添加)我投递的是实习,但是很奇怪,简历交上去以后先挂掉了,显示已结束。而后突然被上海的部门又捞起来了。发来的面试邀请的时候并没有看到实习的标注。直接显示的是“大数据工程师-广告研发”,原来投递岗位是“大数据研发实习生(可转正) — 广告系统”。嗯虽然显示的是大数据工程师但是字节真心偏业务,所以准备的时候应当先以case为主,感觉自己代码不行不要楞上。会更多代码及大数据可以锦上添花,但要有好的分析基础先。
(2020.01.08 添加)二面顺利过了,确实代码有段时间没练了。HR提醒了我要好好练练,增加代码的熟练度。HR小姐姐很负责,还帮我解答了我对岗位不理解的地方,并且向面负责人询问了一下再给我打了电话。大家在面试也可以联系HR答疑,为了好好准备也是为了尊敬接下来的面试官。盼早日拿到offer。
字节跳动一面 下午四点 一小时
1. 自我介绍(这部分我当时做的不好),是否考虑北京?(我投递的字节上海)
- 提醒同学们应该重点说自己可以实习可以的到岗时间,最小的实习天数。
- 自己的过往跟这个岗位有关的优势
- 自己软实力上给这个岗位带来的的优势
2. 简历深挖
我之前在上海蔚来汽车做过数据分析实习生一段时间,挖简历时间大概15min
复盘后反思觉得这个部分答的不好,从面试官的角度来说更关注你的这段实习能给我接下来的工作带来什么帮助。你在前一段时间的工作产生了什么价值。所以当面试官需要简述简历时可以答的点如下:
- 项目的来由是什么,为什么要做这个,目标是什么。
- 在数据分析部分产生了什么价值,比如模型的研究,数据模拟,可行性报告等
- 在这段工作中除了你单纯的数据分析外你获得了什么相关的技能,比如题主个人有 调研,会议支持,会议报告及复盘,自己主持会议报告等
- 在这个团队中你和他人之间的互动,在团队中的角色,当和上司有建议分歧,或者有新的想法应该怎样做
- 跨部门合作经历等
3. case模拟
比如有一个 A因素,有一个B因素怎么找到他们的谁的影响更大。如果用你项目中的机器学习怎么达到效果?
我当时答的是通过sklearn随机森林的key feature的值。
4.如果最近DUA有较大抖动,你怎么去找核心原因?可以添加什么因素在这个分析模型中?
分发渠道/版本/地区等。其实答的不好。可以通过5W3H及PEST模型回答。
因素答的也不够好。考官提到一个挺有意思的东西,基尼系数,是不是可以加进去,可以用来做什么
4.1 你刚才提到了版本你会用什么方法分析。
A/Btest考点
5.辛普森悖论知道么?怎么避免辛普森悖论
6. SQL考题
有table employee和table Department目标Final。我当时用jion的方法,groupby写错了=-=,考官提醒了但是我实在想不出了。我实在没办法用rank() 方法又写了一遍。自己轻视了SQL作孽啊。
| Id | Name | Salary | DepartmentId |
| 1 | Joe | 70000 | 1 |
| 2 | Henry | 80000 | 2 |
| 3 | Sam | 60000 | 2 |
| 4 | Max | 90000 | 1 |
Employee
| Id | Name |
| 1 | IT |
| 2 | Sales |
Department
| Department | Employee | Salary |
| IT | Max | 90000 |
| Sales | Henry | 80000 |
Final Solution 1:
SELECT d.name, salary_max.name, salary_max.salary FROM (SELECT *, max(salary) as max FROM employee GROUP BY employee.department_id ) as salary_max JOIN department as d ON salary_max.department_id = d.idSolution 2:
SELECT d.name, salary_max.name, salary_max.salary FROM ( SELECT *, dense_rank() over(PARTITION BY department_id ORDER BY salary DESC) AS rank FROM employee ) as salary_max JOIN department as d ON salary_max.department_id = d.id WHERE salary_max.rank = 1
7. 会编程么,编程能力怎么样,会可视化以及网页么
8. 反问阶段
还有一些穿插的其他的高频题目,比如你的优点与缺点考软实力的题目。
总的来说,这是我第一次面试,答的很不好。而且当时投递岗位写的是数据工程师。按着数据工程师方向做的准备,然后平时做大数据没怎么写过SQL,而且觉得,不就几行字查询么。结果栽跟头了。我可真的是……。分析部分也感觉自己有点在耍小聪明,对产品部分的分析模型了解的太少了,特别是面试完补分析模型的时候觉得很羞愧。还好字节开恩,给我了第二次面试。第一次面试结束后快七点HR打电话约第二次面试时间。相反的一面字节面试官是如此的人帅心善,我啰嗦的时候也愿意听,我没答到点的地方给予了很多引导。
2021.01.05 字节跳动二面 下午五点 一小时
上次面试说我会编程于是第二次是个代码小哥哥。艺术家般的帅气,很geek,脑子很快说话很快。
1. 自我介绍
2. 介绍下你最骄傲的项目吧
题主介绍的关于自己的 纽约出租车大数据项目。包括大数据5v特性,数据特性,我们大概的研究过程
2.1 关于数据爬虫/清洗你是做的么,你是怎么做的
有关于时间的,有关于长度的,有关于文字的,有关于经纬度的等的清洗方法
3. 你们的数据是如何储存的
parquet gzip level 9 partition by day
4. 在项目中你认为最难的部分是什么
数据倾斜,团队合作等
5. 你了解内存相关的知识么
我忘了🙂,我就记得stack和heap
6. spark 的基本原理
基于hadoop mapreduce生态/spark的任务的流程/spark的宽窄依赖/spark的数据倾斜
7. map reduce是什么,为什么要有reduce?
8. map阶段和reduce阶段的任务分配是怎么分配的要多少个node?
我不知道🥲
9. 你会编程的对吧,会写网页的对吧。我们来做道题吧。下面这道题你有几种解法。小哥哥很nice……一点一点告诉我了其实是deepfirst的回溯。然后手撕代码,他跑了一下。过了。
给定一个int target和int list,用list里的数字可重复地相加,得到target的组合有多少种?
function(target, list) -> 4
5,[1,2,5,10] -> 4
5,221,2111,11111
10. 做完题我有点懵了,反正不久就是反问阶段了嗯。不得不说,字节很实在啊,每次都给了很中肯的建议,把我学习中的职业和学习路线的疑惑答疑的很好。就是觉得自己太嫩了……。面试官说hr在1-2个工作日给这次面试的回复,不知道会是等到什么。
嗯,现在写完此面经希望能求个人品求个好运,希望二面过,求个三面和最后的offer。
另推荐的学习资源入门级:
1. 猴子数据分析(知乎)