首先讲一下我的基本情况:本二,211研,数学相关专业,最后求职方向选择了大数据开发方向。这次分享基于我个人的整个校招经历总结,主要和大家分享一下面试的经验,主要的心历路程还是很长的,从提前批开始投递 -> 笔试 ->面试 -> 泡池子 -> 陆续收到Offer,整个时间周期跨度大概3个月。分享前先让大家了解下光哥的关爱哈哈!!
OK,言归正传!我大概是8月初开始投递校招,之前没有实习,接下来从校招的几个部分开始分享。
一、面试的四个部分
-
自我介绍:在面试中,自我介绍是给面试官留下第一印象的重要环节。它能让面试官快速了解你的基本情况和过往经历。
-
实习、项目描述:这部分考察你对实际项目的参与和理解程度,以及你的表达和解决问题的能力。
-
八股考察:主要考察专业知识,如离线数仓技术栈等,检验你对基础知识的掌握。
-
代码考察:通过实际代码编写,考察你的编程能力和逻辑思维。
关于这几个部分,保哥有分享过一些经验,可以准备一个稿子,这样在面试时可以对答入流。大家可以参考下:
二、怎样自我介绍?
自我介绍的核心思想是介绍过往经历+展示自己的优势。
过往经历:学校+实习经历,可以在实习经历中增加 “执行调优” 部分,吸引面试官注意。
优势展示:很多同学不知道要说点什么,我觉得这一部分是结合个人优势随意发挥的部分,也是最大展示个人特色的部分。举个例子:
-
我之前做过数据开发啊、数据分析和数据运营,数据的生产与使用环节都参与过,熟悉指标体系搭建和指标拆解。(强调个人特色)未来可以更好的跟业务进行沟通交流(个人特色在本次面试的优势);
-
性格开朗外向(个人特色),可以很快的融入团队(个人特色在本次面试的优势);
-
连续六年获得专业奖学金,追求卓越,热爱学习(个人特色在本次面试的优势)等等。
三、项目介绍
项目介绍的核心思想是逻辑清晰、讲清楚讲明白。项目介绍不仅考察你对自己做的项目的理解和完成程度,还考察表达能力,解决问题的能力。
如何的逻辑清晰、讲清楚讲明白?
可以采用STAR法则。STAR主要分为情境(Situation),任务(Task),行动(Action),结果(Result)四个部分。拿我们要对风控主题部分代码调优举例:
1.情景:这个项目的背景是什么。该部分代码经常出现不能及时产出问题
2.任务:我要做什么,达成什么样的目的。首先将不能及时产出和希望提早产出代码整理之后、制定计划。将执行时长优化到目标水平
3.行动:怎么做的。通过spark ui定位问题,之后修改spark参数。
4.结果:达到什么样的结果(可以适当吹大点)。我修改的代码平均执行时长是原来的60%,最好的执行时长是原来的30%。(利用数字更好的展示取得的结果)
Tips:
1.这部分需要准备充分一点,针对自己讲出来的每一点都需要做进一步提问的准备。
2. ‘讲一下你负责的一个项目’,‘讲一下你遇到的困难,这么解决的’这些问题都属于项目介绍,只需准备一到两个项目即可(少但要精),随着面试官的问题,动态调整自己的答案。
四、八股技术栈
离线数仓技术栈主要是hadoop\hive\spark\数仓理论。Spark是其中最重要的,一定要学习深入一点。涤生网站上老师们做了非常多的总结,重点也都标出来了,按照网站复习即可。
五、代码考察
代码考察主要分为两部分sql和java。涤生网站上老师们做了非常多的总结,跟着练即可。面试前三部分很重要,因为前面聊的好,面试官会给你找简单的题目,甚至问你擅长什么类型的题目。
原则是:会做效率高的方法,一定要写效率高的,不会高效率的一定要写出来低效率方法。
六、反问环节如何回答
这部分很多同学忽略掉了,其实是比较重要的一个部分,核心思想是了解部门架构、了解业务、了解自己未来做什么。
了解这些有什么用呢?挖掘面试部门与自身经历的切合点,之后在这些切合点上充分准备,在下次面试中作为自己的优势展现出来。比如你了解到面试部门中会有用户画像相关的工作,可以准备用户画像项目。之后在下一次面试中,在自我介绍中提到我也有做过用户画像的项目,强调与该部门的匹配度,毕竟谁不想要一来就可以上手的同学呢。
Tips:
-
面试中保持自信!非常重要,不要唯唯诺诺,就算有实力也会被认为没实力,没实力要装成有实力的样子;
-
遇到没把握的问题,可以这样回答:我对这个问题不太了解,我可以试着分析一下,balabala(这时候重点强调分析问题的思路);
-
遇到一点不会的问题,可以试着找比较相近的问题,可以这样回答:我对这个问题不太了解,但是我有学习过什么什么(引导面试官,人好的面试官会顺着说的);
-
一定要找面经!公司对代码的考察都是有题库的,如果能找到同一部门的面经,很大概率考察的代码相同;
-
部分公司都是可以准备稿子的,一个屏幕开两个窗口,鼠标停在面试页面即可。