先介绍下背景吧🤔
本人双非本科计算机学院大三狗一枚。人生第一次关于数分的面试,就是面了
编程猫,总的还是比较紧张的,大概率是凉了(万一活过来了就给大家更二面!)
想着以总结的方式记录下吧,也算回馈牛客啦。
笔试😁
笔试是给你三道SQL题,在一天内写完发到他们邮箱。总的也不难,计算新用户留存率,用下窗口函数和 case when 就可以。 发完当晚就约了一面。
一面🙃
一面是在腾讯会议视频面,提前进了腾讯会议等二十多分钟没忍住给面试官打了电话,才明白了到时间得打过去确认然后他才会进来hhh不然就会觉得你可能有什么事不能赴面,面试官是个小哥,态度也挺nice的。
内容
一开始先一段简短的自我介绍
1、问了下有打数学建模这些比赛吗(很后悔没打呜呜呜)
2、然后就让我介绍了下简历里的项目,然后负责做什么事情。
(可能因为项目比较偏管理和产品,所以又补充了个问题)
3、学校学的有关数据分析的有什么课程
答:概率统计,数据挖掘,各种数学基础,这学期还有hadoop。然后自学了python。
4、python掌握得怎么样。
答:我说用做过一个查重系统,现在主要学一些数据分析用的pandas包,seaborn,matplotlib这些。
5、然后就问我pandas怎么关联两个DF
答:一开始没反应过来什么是df,反应过来后脑子也短路了。。当时画面十分尴尬。。。(结束后才想起来merge和join)
6、pandas怎么填补空值
答:fillna
7、再让我聊下对hadoop的了解(。。前面自杀式埋雷)
答:但是之前没好好准备相应的功课,自己也没怎么学hadoop,导致这个部分聊得有点崩。
8、接着问了下hive的掌握情况,我说没深入学,但是大概了解,跟sql也差不多,学起来应该比较好上手。
9、聊下hive和sql的区别
答:这个以为之前有所准备。答了sql用于数据库,侧重于数据的存储管理,是面向数据的,不利于分析。而hive是作用于数据仓库,面向数据分析,不利于数据的存储。
但其实正确应该是:
1 建表不一样,hive有按行分割,按字段分割,sql没有
.2 hive 不支持等值连接,sql支持等值连接,
比如 SQL中对两表内联可以写成:select * from dual a,dual b where a.key = b.key;
Hive中应为:select * from dual a join dual b on a.key = b.key;
.3 hive中不用not null ,SQL中有not null
hive 中用left join 代替 not null
.4 Hive不支持将数据插入现有的表或分区中,仅支持覆盖重写整个表
.5最后落地不一样
hive落地是 hdfs,mysql 落地到文件
————————————————
版权声明:本文为CSDN博主「aimee12345」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
数据库 Database (Oracle, Mysql, PostgreSQL)主要用于事务处理,数据仓库 Datawarehouse (Amazon Redshift, Hive)主要用于用途上的不同决定了这两种架构的特点不同
也就是把sql和hive的区别答成了数据库和数据仓库的区别了。。。。(事后觉得特别尴尬。)
10、到岗时间,一周实习天数(感觉这不是hr才会问的吗??可能为了缓解我聊崩的压力?)
11、反问环节
①实际业务会用到K_means、朴素贝叶斯这些数据挖掘算法的吗
这个偏向数据挖掘,数分实际上基本没用到,不要求掌握,但是会的话更好。
②平时工作的平台是什么?可以用jupyter吗?
一般在hadoop上用hive语言工作,或者使用python时,在jupyter上也有。
总的来说😑
面试官还是挺温和的,不会很为难人,点到而止,但是可能因为前面聊得有点崩了,所以20+分钟就结束了面试,完全没问到SQL(可能笔试考察过了?),也没问到业务分析能力,没让拆解指标,也没让做异动分析,ABtest,没问统计学的,这些本来都准备了挺久,哎,还是蛮可惜的。感觉基本凉了吧,但还是象征性的许愿下上岸吧!