0%

网易传媒大数据开发实习生二面面经

0.

先说这次凉的教训吧,

简历上的东西一定要会, 不管是不是和面试的岗位相关!!!!!

简历上的东西一定要会, 不管是不是和面试的岗位相关!!!!!

简历上的东西一定要会, 不管是不是和面试的岗位相关!!!!!

这次我面试的是大数据开发, 本来以为不会考机器学习算法, 结果大部分时间都在考算法…..

主要原因还是在我, 不应该在简历上写那些半懂不懂的东西, 我本来以为我在简历上的一个Python 神经网络的项目不会被问到, 结果整个面试过程中都在问. 问到了tensorflow (被问到这里的时候就已经有种不好的预感了), 问到了LSTM和GRU模型, 我只会LSTM, 然后就讲了一下LSTM大概的结构, 然后又问我LSTM那几个参数是怎么算的. 当时我都懵了, 心想大数据开发岗也要问这么深的吗, 因为这个项目是我2020.5月份做的, 所以肯定是记不太清具体的算法的. 后面问了个 所以就理所应当的凉掉了这次面试.

面试描述

首先还是自我介绍.

完了之后就让用Hadoop或Spark写一个wordcount. 我肯定是选spark, 两行就能写出来.

写出来之后又让用 Spark SQL 的Dataframe写, 这个就涉及到我知识的盲区了. 我当时认为面试官的意思是每一列都有很多个逗号隔开的单词, 但是SQL不应该是每一列表示的意义不一样吗, 应该是那种某一列表示的是单词, 其他列表示其他属性. 可能当时太紧张了, 没反应过来. 后来面完了才发现Spark SQL也有flatMap这个方法, 可以把多列不同的word统一成一列不同的word

我给他说不会, 但是感觉用pandas能处理. 但是我说的用pandas处理不是用pandas里自带的处理, 而是只是用Dataframe储存这个文件, 然后2个for遍历一遍放到个哈希表里.

面试官又给我说, 让我用pandas来做吧, 我这时候都有打死自己的冲动了(让你之前信誓旦旦的说pandas能做!). 这时候我弱弱地问面试官能不能把数据挨个读取放到hashMap里面统计, 面试官说不行, 彻底浇灭了我最后一丝希望. 最后很尴尬, 面试官看我做不出来, 就换了个问题.

这个问题更要命, 问我聊不了解tensorflow. (如果说问我python的pandas我还能理解是因为我简历上写了才问的, 那问到tensorflow的时候我就觉得这个面试官应该是搞机器学习算法的, 彻底凉了) 我只能回答会用tensorflow构建基本的神经网络模型(这就是废话, 说白了就是只会调API, 底层狗屁不会)

然后又问的LSTM和GRU模型, 这个GRU我是真不会, 只知道是RNN的一种变形. LSTM会倒是会, 但那是6个月之前学的了. 所以我就说了下大概, 信息在网络中的传播方向, 记忆门和忘记门什么的. 本来以为说到这里就可以了, 没想到又继续让我讲算法的实现原理, 这个我就真的一点都不会了. 其实问到这里我就基本上知道自己肯定凉了.

问完这些关于神经网络的, 好像又问了一个topK问题. 这个面试当中很常见了, 每一个机器选出K个最大的, 然后集中到一台机器上再选择一遍即可.

最后问的算法题是旋转数组中的查找, 没有重复元素.

这个我是在leetcode上面做过的. 但是因为紧张和之前面试问的我心态快炸了, 导致发挥的也不是太好.

我用的是构造辅助函数的方法, 写了一个普通的二分查找函数, 当nums[begin] < nums[end] 的时候就用普通的二分查找

后来面试官说不用普通的二分查找, 这个旋转数组也包含普通的情况

这时候我就有点慌, 分类讨论做的也不是很好, 并且把旋转数组中的查找旋转数组中的最小值这两个题弄混了.

事实上, 在旋转数组中的查找里面, 需要分类讨论4次, 两次来判断mid 在左数组左半部分还是右半部分, 剩下两次判断target在mid的左边还是右边. 而在旋转数组最小值里面, 只需要分类讨论2次, 最小值在mid左还是最小值在mid右.

后来是根据面试官提醒才改对的. 整体来说算法题也表现得不怎么样.

总结

这次失败的主要原因就是简历上写的python数据分析的项目和神经网络不熟, 并且面试官非常懂机器学习. 之前准备的Hadoop, Spark, Kafka, Redis, MySQL都没有问, 反而大部分都在问神经网络算法, 使得自己非常被动.

还是那个教训,

简历上的东西一定要会, 不管是不是和面试的岗位相关!!!!!

简历上的东西一定要会, 不管是不是和面试的岗位相关!!!!!

简历上的东西一定要会, 不管是不是和面试的岗位相关!!!!!